
Amber는 기본 PE 파일(EXE, DLL, SYS...)의 메모리 내 실행을 가능하게 하는 위치 독립적(리플렉티브) PE 로더입니다. 안티바이러스, 방화벽, IDS, IPS 제품 및 애플리케이션 허용 목록 완화를 우회하는 데 사용할 수 있는 은밀한 메모리 내 페이로드 배포를 가능하게 합니다. Amber로 생성된 리플렉티브 페이로드는 원격 서버에서 스테이징하거나 일반 셸코드처럼 메모리에서 직접 실행할 수 있습니다. 기본적으로 생성된 모든 페이로드는 차세대 SGN 인코더를 사용하여 인코딩됩니다. Amber는 CRC32_API와 IAT_API를 사용하여 Windows API 함수 주소를 눈에 띄지 않게 확인합니다. PE 파일이 메모리에 로드되어 실행된 후, 리플렉티브 페이로드는 메모리 스캐너를 회피하기 위해 삭제됩니다.
사전 컴파일된 바이너리는 릴리스에서 찾을 수 있습니다.
소스에서 빌드
소스 빌드를 위한 유일한 종속성은 keystone 엔진이며, 라이브러리 설치를 위해 이 지침을 따르세요. libkeystone이 시스템에 설치되면 간단히 go get 하면 됩니다 ツ
go install github.com/EgeBalci/amber@latest
Docker 설치
docker pull egee/amber
docker run -it egee/amber
다음 표는 amber에서 지원하는 스위치를 나열합니다.
사용 예
amber -f test.exe
amber -e 10 --iat -f test.exe
Docker 사용법
docker run -it -v /tmp/:/tmp/ amber -f /tmp/file.exe
| 스위치 | 유형 | 설명 |
|---|---|---|
| -f,--file | string | 입력 PE 파일 |
| -o,--out | string | 출력 바이너리 페이로드 파일 이름 |
| -e | int | 생성된 리플렉티브 페이로드를 인코딩할 횟수 |
| --iat | bool | CRC API 리졸버 블록 대신 IAT API 리졸버 블록 사용 |
| -l | int | 난독화에 사용할 최대 바이트 수 (기본값 5) |
| --sys | bool | 원시 시스템 콜 수행 (x64만 해당) |
| --scrape | bool | PE에서 매직 바이트와 DOS 스텁을 스크래핑 |