
Cobalt Strike BOF Loader의 오픈 소스 포트/재구현 (그대로)
이는 Cobalt Strike BOF Loader의 오픈소스 포트/재구현입니다. 있는 그대로입니다. 대부분의 경우 모든 것이 Cobalt Strike의 원래 Beacon + Teamserver와 동일하게 수행됩니다.
여기에는 TrustedSec COFFLoader와 같은 다른 오픈소스 COFF 로더에서 해결된 단점들이 포함됩니다. 이는 의도적입니다. 이 프로젝트의 목표는 좋은 COFF 로더를 만드는 것이 아니라, Cobalt Strike의 특정 구현과 동등한 오픈소스 버전을 만들어 BOF가 다른 COFF 로더에서는 작동하지만 Cobalt Strike에서는 작동하지 않는 경계 사례를 디버깅하는 데 도움을 주는 것입니다.
./compile.bat
python bof_pack.py Msgbox.x64.o -o bof.blob
./bofloader.exe .\bof.blob
Cobalt Strike BOF Loader는 과거 BOF 개발 시 여러 문제를 일으켰습니다. 특히 Beacon BOF 로더가 처리하지 않는 섹션(COMDAT, 당신을 보고 있어요)과 관련된 문제입니다. 이러한 문제가 더 디버깅이 용이한 오픈소스 COFF 로더에서는 재현되지 않을 때 특히 실망스럽습니다.
설상가상으로, Cobalt Strike BOF 로더는 전체 COFF를 직접 입력으로 받지도 않습니다. 팀서버 측에서 약간의 처리가 이루어지며, 이는 거의 문서화되어 있지 않습니다. 결과적으로 Beacon으로 전송되는 블롭은 원래 COFF보다 훨씬 작으며, 그 형식도 문서화되어 있지 않습니다.
이 프로젝트는 Cobalt Strike 구현의 진정한 1:1 복제본을 목표로 하며, 한 쪽에서 발생하는 문제는 다른 쪽에서도 재현될 수 있어야 합니다.