作为知名的渗透测试神器,CobaltStrike 被很多攻击组织和渗透测试团队使用,其中不乏知名的APT组织。对于防御方而言,对它的检测就成为了一个重要的课题。不过,躲避检测是CobaltStrike的一个重要特色。开发者在伪造正常通信方面做了大量工作,通过流量检测发现其踪迹十分困难。
躲避检测是CobaltStrike的一个重要特色。由于在伪造正常通信方面做了大量工作,通过流量检测发现其踪迹十分困难。特别当其采用TLS方式进行C2通信时,这个难度将会更大。以下,我们将以Malware-traffic-analysis.net最近公布的QakBot流量样本【1】为例,参考【2】给出的两种CobaltStrike TLS检测方法—证书检测和JA3/JA3S检测,并对照这两种检测方法的更权威描述【3】【4】,对此做一简要分析。
1、 证书检测
文章【3】中,给出了流量检测发现CobaltStrike的多种方法和相关指标,其中证书检测的指标如下:
这里面包含了证书颁发者、证书使用者、证书序列号、证书指纹以及证书有效期等5项内容,并特别指出使用这些指标进行检测的前提条件是:管理员没有替换掉默认证书。
再看样本中提取出的证书情况:
1)证书颁发者
2)证书使用者
3)证书序列号
4)证书指纹
5)证书有效期
与【3】给出的5项指标对比,样本中只有证书颁发者和证书使用者2项指标符合条件。
这还是使用者未替换默认证书的情况,实际上,使用者完全可以自己生成证书并替换掉默认证书,或者采取像【2】提出的修改证书办法。所以,证书检测发现CobaltStrike的效果十分有限。
2、 JA3/JA3S检测
再看实际样本的情况:
里面只有TLS版本、密码算法组、扩展项—椭圆曲线点格式这3项指标与检测指标符合。另两项指标:扩展长度,二者取值不同;扩展项—椭圆曲线,在实际样本中没有出现。
因此,JA3/JA3S检测对于CobaltStrike,效果也不明显。实际上,在收集到的JA3/JA3S检测指标列表中【5】,并没有包含CobaltStrike,这也说明通过JA3/JA3S检测发现CobaltStrike是很困难的。
虽然CobaltStrike采取了很好的反检测措施,但也不是对它就一点办法都没有,这方面【3】做了很细致的工作,感兴趣的可以参考。
参考链接:
1. https://www.malware-traffic-analysis.net/2020/index.html
2. https://www.freebuf.com/articles/web/246863.html
3. https://www.recordedfuture.com/cobalt-strike-servers/
4. https://engineering.salesforce.com/tls-fingerprinting-with-ja3-and-ja3s-247362855967
5. https://github.com/salesforce/ja3
联系信息进入公众号后点击“论坛信息”可见。
原文始发于微信公众号(国家网络威胁情报共享开放平台):关于CobaltStrike TLS流量分析
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论