首先需要找到.cobaltstrike.beacon_keys文件,然后从流量中的Cookie找到元数据
注意CS是反连的,所以红色的是受害者向攻击者发的请求/响应,蓝色的是攻击者向受害者的响应/请求
解密元数据得到raw key、aes key、hmac key
python cs-decrypt-metadata.py -f .cobaltstrike.beacon_keys CMUxtZ2Ks80gC9OFjQ0DAmxErO6ikAONXSjdR4tfLIkEwlpCYZRFizNqDCRUkBqbgx1cAIzyqgbXYOsdKBS09Aw8LKOf63SYyRcCH8TAU/3Xf3jL4l0j7K4xudAdwrY6T/Btb7c+9bXgE5jUSXwCY1qaazaegCL/w4/BpNcNKwk=
有了key我们就可以解密pcap密文了
导出http请求我们可以很明显的看出来攻击者通过cm的响应下发命令,然后受害者通过submit.php中请求携带命令执行结果
我们就需要利用tshark语法指定要解析的分组密文
python cs-parse-http-traffic.py -r 7368fef2258ab59345362d6b302247c5 -Y "http and ip.addr == 61.139.2.139 and frame.number == 1339" -k b360b2cd50e6e41a73869c61c936569c:a0751e921f44a3b79930ce573b0caed4 cs_rush.pcapng
-r 是前面的raw key,-k 是aes key:hmac key的拼接
注意有时候会有decode解码失败的报错
File "C:UsersABCDDesktopCSthing-masterCSthing-mastercs-parse-http-trafficcs-parse-http-traffic.py", line 485, in ProcessPostPacketDataSub
oOutput.Line(callbackdata.decode())
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb5 in position 20: invalid start byte
把报错这里加个try块,不decode就好了
然后就可以随心所欲的解码任何cs流量了
参考工具:
https://github.com/minhangxiaohui/CSthing
原文始发于微信公众号(智佳网络安全):Cobalt Strike流量解密分析
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论