这是 Cobalt Strike BOF 加载器的开源移植/重新实现,按原样提供。绝大多数实现方式与 Cobalt Strike 中原生的 Beacon + Teamserver 相同。
这包括其他开源 COFF 加载器(如 TrustedSec COFFLoader)中已修复的缺陷。这是有意为之。本项目的目标并非制作一个优秀的 COFF 加载器,而是创建一个与 Cobalt Strike 中特定实现的开源对应版本,以帮助调试那些 BOF 在其他 COFF 加载器中正常工作、但在 Cobalt Strike 中失败的边界情况。
./compile.bat
python bof_pack.py Msgbox.x64.o -o bof.blob
./bofloader.exe .\bof.blob
过去在开发 BOF 时,Cobalt Strike BOF 加载器给我带来了许多问题,主要涉及 Beacon BOF 加载器未处理的段(特别是 COMDAT)。当这些问题在可调试性更好的开源 COFF 加载器中无法复现时,尤其令人沮丧。
更糟糕的是,Cobalt Strike BOF 加载器甚至不直接接收完整的 COFF,团队服务器端会进行一些处理,而这些处理几乎没有任何文档说明。最终发送到 Beacon 的 blob 比原始 COFF 小得多,且格式未公开。
本项目的目标是成为 Cobalt Strike 实现的真正 1:1 副本,使得一个实现中的任何问题都应在另一个实现中可复现。