
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 Loaderは完全なCOFFを直接受け取ることすらできず、チームサーバー側でいくつかの処理が行われますが、これについてはほとんど文書化されていません。結果としてBeaconに送られるblobは元のCOFFよりもはるかに小さく、そのフォーマットも文書化されていません。
このプロジェクトは、Cobalt Strike実装の真の1:1レプリカを目指しており、一方で発生した問題はもう一方でも再現可能であるべきです。