文章总结: BOFRunPE是一个CobaltStrike的Beacon对象文件,它能在信标进程内存中直接执行PE文件,无需创建子进程或控制台窗口。该工具通过IAThook捕获输出,并支持多种内存分配方法、代理加载、Ntdll解除挂钩、线程地址欺骗等高级技术,旨在实现更隐蔽的进程注入和无文件执行,提升攻击的隐蔽性。
综合评分: 88
文章分类: 红队,免杀,内网渗透,二进制安全,渗透测试
BOF 无需创建控制台即可在 Cobalt Strike Beacon 中运行 PE
TtTeam
2025年11月25日 10:47
广东
BOF RunPE 是 Cobalt Strike 的一个 Beacon 对象文件,它完全在 Beacon 进程的内存中执行 PE 文件。与传统的 fork&run 不同,它不会生成子进程,不会创建控制台,也不会使用管道—所有输出都通过 IAT hook 捕获并重定向到 Beacon 控制台。
主要特点
- 不创建进程:PE 在信标进程内运行
- 无控制台/管道:输出通过printf/ WriteConsolehooks捕获
- 多种分配方法:堆分配、虚拟分配、模块践踏
- 代理加载:定时器队列、RegisterWait 或直接调用
- Ntdll 解除挂钩:可选,从磁盘全新复制一份
- RWX:可选地在 RWX 中分配内存
- 线程起始地址欺骗:合法起始地址与 RIP 劫持
BOF 的行为可以在以下位置进行编辑Additionals postex->RunPe Config
加载脚本
Cobalt Strike → Script Manager → Load → BOF_RunPe.cnabeacon> runpe /path/to/binary.exe --arg1 value1
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:TtTeam 《BOF 无需创建控制台即可在 Cobalt Strike Beacon 中运行 PE》