
Rust 기반 Cobalt Strike 페이로드용 사용자 정의 리플렉티브 로더입니다. OPSEC 안전을 위해 RWX 메모리 페이지를 회피합니다. 로더 섹션 추출을 위한 추출기 도구를 포함합니다.

전적으로 Rust로 작성된 Cobalt Strike 사용자 정의 리플렉티브 로더입니다. 이걸 만드는 게 얼마나 어려울지 궁금해서 시작했습니다. 알고 보니 그렇게 어렵지 않네요. 나중에 슬립 난독화 기능을 추가할 수도 있습니다. 지금은 특별한 기능 없이 기본 로더일 뿐입니다. 유일한 "opsec 안전" 기능은 어떤 시점에서도 RWX 페이지를 사용하지 않는다는 것입니다.
릴리스를 다운로드하고 .cna 파일을 로드하세요.
직접 컴파일할 수도 있습니다. MSVC 툴체인과 릴리스 프로필을 사용해야 합니다. 포함된 extractor를 사용하여 로더의 .text 섹션을 추출할 수 있습니다. 예를 들어:
cd extractor
cargo run --release -- ../target/release/crabloader.exe ../bin/crabloader.bin
테스트에 이 프로필을 사용했습니다: https://github.com/BC-SECURITY/Malleable-C2-Profiles/blob/master/APT/apt1_virtuallythere.profile
메모리 지표를 변경하는 설정은 포함되어 있지 않고 네트워크 관련 설정만 있습니다. 그래서 기본값이 모두 작동할 것이라고 추측합니다. magic_mz_x64로 MZ 헤더를 변경하면 로더가 해당 헤더를 검색하므로 작동하지 않습니다.