
port/reimplementazione open source del BOF Loader di Cobalt Strike, così com'è
Questa è una porta/riimplementazione open source del BOF Loader di Cobalt Strike così com'è. Per la maggior parte, tutto è fatto come nell'originale Beacon + Teamserver di Cobalt Strike.
Questo include le carenze che vengono risolte in altri COFF loader open source come il COFFLoader di TrustedSec. Questa è una scelta intenzionale. L'obiettivo di questo progetto non è quello di creare un COFF loader buono, ma di creare un equivalente open source dell'implementazione specifica di Cobalt Strike, per aiutare nel debugging dei casi limite in cui i BOF funzionano con altri COFF Loader ma non con Cobalt Strike.
./compile.bat
python bof_pack.py Msgbox.x64.o -o bof.blob
./bofloader.exe .\bof.blob
Il BOF Loader di Cobalt Strike mi ha causato numerosi problemi in passato durante lo sviluppo di BOF, riguardo a sezioni (COMDAT, sto guardando te) che non sono gestite dal Beacon BOF loader. Questo è particolarmente frustrante quando i problemi non sono riproducibili nei COFF Loader open source, che beneficiano di una maggiore debuggabilità.
Per peggiorare le cose, il BOF Loader di Cobalt Strike non accetta nemmeno direttamente COFF completi: viene eseguita un'elaborazione lato teamserver che è appena documentata. Il blob risultante inviato a Beacon è molto più piccolo del COFF originale e il formato non è documentato.
Questo progetto mira a essere una replica fedele 1:1 dell'implementazione di Cobalt Strike, dove qualsiasi problema in una dovrebbe essere riproducibile nell'altra.