CobaltStrike流量分析实战

admin 2026-05-23 04:51:05 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文详细解析CobaltStrike流量分析实战方法,核心包括识别通信特征(如checksum8路径算法、固定URL、JA3指纹)和解密通信内容的关键步骤。通过提取Beacon配置、获取RSA私钥、解密元数据获取raw_key,最终可批量解密攻击者下发的命令和回传数据。文章还介绍了TeamServer日志的价值,为蓝队提供完整的检测与取证操作指南。 综合评分: 85 文章分类: 渗透测试,应急响应,漏洞分析,威胁情报,红队


3.2 获取 RSA 私钥 有公钥还不够,得拿到对应的私钥。两条路: 方法一:从 TeamServer 本地文件提取 如果能拿到攻击者 TeamServer 上的.cobaltstrike.beacon_keys文件,直接用脚本就能导出私钥:

importbase64
importjavaobj.v2asjavaobj
withopen("keys","rb")asfd:
pobj = javaobj.load(fd)
privateKey = pobj.array.value.privateKey.encoded.data
privateKey = (
b"-----BEGIN PRIVATE KEY-----\n"
+ base64.encodebytes(bytes(map(lambdax: x &0xFF, privateKey)))
+b"-----END PRIVATE KEY-----"
)
print(privateKey.decode())

方法二:因数分解公钥(难度极大)

从 Beacon 配置里提取 RSA 的 n 和 e,然后用 yafu 之类的工具分解 n 得到 p 和 q,再算出私钥。

这条路基本走不通。2048 位的 RSA,分解难度不是开玩笑的。想办法拿原密钥文件更现实。

3.3 解密元数据,拿到 raw_key 有了私钥,就能解密 Beacon 发的第一个心跳包。元数据通常藏在 Cookie 头里,base64 编码。

cs-decrypt-metadata.py脚本:

python cs-decrypt-metadata.py -p <私钥(hex格式)>

解密后能得到raw_key。这是后续所有解密的关键。

3.4 批量解密流量 拿到 raw_key 之后,就可以派生出aes_keyhmac_key,然后批量解密整个会话。

cs-parse-traffic.py,过滤出非 GET 的 HTTP 包(响应包是命令,POST 包是结果):

python cs-parse-traffic.py
-r a4553adf7a841e1dcf708afc912275ee
-k a368237121ef51b094068a2e92304d46:b6315feb217bd87188d06870dd92855b
-e
-o res.txt
cs-spec.pcapng

参数说明: –-r:raw_key –-k:HMAC_KEY:AES_KEY –-e:同时提取恶意 payload –-o:输出文件 跑完打开res.txt,攻击者下发的命令和回传的结果,全都明文躺在这里。


四、TeamServer 日志里的宝藏

除了抓包解密,如果能接触到 TeamServer 的环境,日志目录里东西不少。 日志一般在Cobalt_Strike/logs/下,按日期分文件夹(YYMMDD格式)。

每个日期文件夹里都有什么: –events.log—— 全局事件:谁登录了、Beacon 什么时候上线、监听器增删记录 –weblog_.log—— 对应端口的 web 服务日志,Stager 下载 Beacon 的记录就在这里 –downloads.log—— 从被控机下载文件的记录 每个被攻击 IP 的子目录里: –beacon_.log—— 和这个 Beacon 的所有交互:执行的命令、命令回显、元数据 –keystrokes/—— 键盘记录 –screenshots.log+screenshots/—— 截屏记录和实际图片 beacon_.log的格式长这样:

02/12 11:51:15 UTC [input] shell whoami

时间、操作员、执行的命令,一目了然。有时候这比解密流量更直接。

五、总结

识别 CobaltStrike 流量,checksum8 路径、固定 URI、JA3 指纹这几条规则基本够用了。拿到密钥之后解密通信内容,才能知道攻击者到底下了什么命令、回传了什么数据。运气好的话还能接触到 TeamServer 日志,那就是现成的证据链。 加密从来不是为了杜绝分析,只是让分析变麻烦。流程跑熟了,遇到这类流量心里也就有底了。



免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:赛博生存指南 《CobaltStrike流量分析实战》

评论:0   参与:  0