
puerto/reimplementación de código abierto del Cargador BOF de Cobalt Strike tal cual
Esta es una adaptación/reimplementación de código abierto del Cobalt Strike BOF Loader tal cual. En su mayor parte, todo se hace como en el Beacon + Teamserver original en Cobalt Strike.
Esto incluye deficiencias que se resuelven en otros cargadores COFF de código abierto como el TrustedSec COFFLoader. Esto es intencional. El objetivo de este proyecto no es hacer un cargador COFF bueno, sino hacer un análogo de código abierto de la implementación específica en Cobalt Strike, para ayudar en la depuración en casos extremos donde los BOFs funcionan en otros cargadores COFF pero no en Cobalt Strike.
./compile.bat
python bof_pack.py Msgbox.x64.o -o bof.blob
./bofloader.exe .\bof.blob
El Cobalt Strike BOF Loader me ha dado numerosos problemas en el pasado al hacer desarrollo de BOF, en cuanto a secciones (COMDATs, te estoy mirando a ti) que no son manejadas por el Beacon BOF loader. Esto es especialmente frustrante cuando los problemas no son reproducibles en cargadores COFF de código abierto, que se benefician de una mayor capacidad de depuración.
Para empeorar las cosas, el Cobalt Strike BOF Loader ni siquiera acepta COFFs completos directamente, hay algún procesamiento hecho en el lado del teamserver, que está apenas documentado. El blob resultante enviado a Beacon es mucho más pequeño que el COFF original, y el formato no está documentado.
Este proyecto pretende ser una réplica 1:1 fiel de la implementación de Cobalt Strike, donde cualquier problema en uno debería ser reproducible en el otro.