CobaltStirke BOF技术剖析(一)|BOF实现源码级分析

本文深入剖析CobaltStrike的BOF技术,包括其本质为OBJ文件、执行过程、内部API以及优缺点。BOF在内存中执行,避免文件检测,提供动态函数解析功能,但不支持bss段和多线程,适合小型后渗透工具开发。

简介

对BOF(Beacon Object
File)的支持是在CobaltStrike4.1版本中新引入的功能。BOF文件是由c代码编译而来的可在Beacon进程中动态加载执行的二进制程序。无文件执行与无新进程创建的特性更加符合OPSEC的原则,适用于严苛的终端对抗场景。低开发门槛与便利的内部Beacon
API调用与使得BOF特别适合后渗透阶段攻击工具的快速开发与移植。

BOF本质-OBJ文件

当我们通过file命令查看编译后的BOF文件,我们会发现它是一种名为COFF的文件格式。在Windows操作系统中编译产生的.obj中间文件使用的便是这种格式的文件,也可以作为BOF在cobaltstrike中被正确执行。

Intel amd64 COFF object file, no line number info, not stripped, 7 sections,
symboloffset=0x1330, 212 symbols

利用PEView等工具可以观察其结构:

1627549288_61026e6818694194966bb.png!small?1627549291135

在.text段存在编译完成的代码

1627549308_61026e7caa23cc8ee5fcf.png!small?1627549311551

通过如下命令可以调用cobaltstrike自带的BOF解析函数查看BOF文件的属性,及其中的重定向信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值