
open source port/réimplémentation du BOF Loader de Cobalt Strike tel quel
Ceci est un port/réimplémentation open source du chargeur BOF de Cobalt Strike tel quel. Pour l'essentiel, tout est fait comme dans le Beacon + Teamserver d'origine de Cobalt Strike.
Cela inclut les lacunes qui sont résolues dans d'autres chargeurs COFF open source comme le TrustedSec COFFLoader. C'est intentionnel. Le but de ce projet n'est pas de créer un bon chargeur COFF, mais de réaliser un analogue open source de l'implémentation spécifique de Cobalt Strike, afin d'aider au débogage dans les cas particuliers où les BOF fonctionnent dans d'autres chargeurs COFF mais pas dans Cobalt Strike.
./compile.bat
python bof_pack.py Msgbox.x64.o -o bof.blob
./bofloader.exe .\bof.blob
Le chargeur BOF de Cobalt Strike m'a causé de nombreux problèmes par le passé lors du développement de BOF, concernant les sections (les COMDAT, je vous regarde) qui ne sont pas traitées par le chargeur BOF de Beacon. C'est particulièrement frustrant lorsque les problèmes ne sont pas reproductibles dans les chargeurs COFF open source, qui bénéficient d'une meilleure débogabilité.
Pour empirer les choses, le chargeur BOF de Cobalt Strike n'accepte même pas directement les COFF complets ; un certain traitement est effectué côté teamserver, qui est à peine documenté. Le blob résultant envoyé à Beacon est beaucoup plus petit que le COFF original, et le format n'est pas documenté.
Ce projet vise à être une reproduction fidèle 1:1 de l'implémentation de Cobalt Strike, où tout problème dans l'un devrait être reproductible dans l'autre.