攻防最前线:CobaltStrike TLS流量检测分析

  • A+
所属分类:安全文章

作为知名的渗透测试神器,CobaltStrike 被很多攻击组织和渗透测试团队使用,其中不乏知名的APT组织。对于防御方而言,对它的检测就成为了一个重要的课题。不过,躲避检测是CobaltStrike的一个重要特色。开发者在伪造正常通信方面做了大量工作,通过流量检测发现其踪迹十分困难。


躲避检测是CobaltStrike的一个重要特色。由于在伪造正常通信方面做了大量工作,通过流量检测发现其踪迹十分困难。特别当其采用TLS方式进行C2通信时,这个难度将会更大。以下,我们将以Malware-traffic-analysis.net最近公布的QakBot流量样本【1】为例,参考【2】给出的两种CobaltStrike TLS检测方法—证书检测和JA3/JA3S检测,并对照这两种检测方法的更权威描述【3】【4】,对此做一简要分析。


1、 证书检测


文章【3】中,给出了流量检测发现CobaltStrike的多种方法和相关指标,其中证书检测的指标如下:


攻防最前线:CobaltStrike TLS流量检测分析

这里面包含了证书颁发者、证书使用者、证书序列号、证书指纹以及证书有效期等5项内容,并特别指出使用这些指标进行检测的前提条件是:管理员没有替换掉默认证书。


再看样本中提取出的证书情况:


1)证书颁发者


攻防最前线:CobaltStrike TLS流量检测分析


2)证书使用者


攻防最前线:CobaltStrike TLS流量检测分析


3)证书序列号


攻防最前线:CobaltStrike TLS流量检测分析


4)证书指纹


攻防最前线:CobaltStrike TLS流量检测分析


5)证书有效期


攻防最前线:CobaltStrike TLS流量检测分析


与【3】给出的5项指标对比,样本中只有证书颁发者和证书使用者2项指标符合条件。


这还是使用者未替换默认证书的情况,实际上,使用者完全可以自己生成证书并替换掉默认证书,或者采取像【2】提出的修改证书办法。所以,证书检测发现CobaltStrike的效果十分有限。


2、 JA3/JA3S检测


文章【4】给出了通过ClientHello指纹识别TLS客户方产品的方法,文章【2】给出的CobaltStrike指纹是下图中红色箭头所指的5项指标,即:TLS版本、密码算法组、扩展长度、扩展项—椭圆曲线、扩展项—椭圆曲线点格式。


攻防最前线:CobaltStrike TLS流量检测分析


再看实际样本的情况:


攻防最前线:CobaltStrike TLS流量检测分析


里面只有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流量检测分析


文章来源:国家网络威胁情报共享开放平台


攻防最前线:CobaltStrike TLS流量检测分析

本文始发于微信公众号(互联网安全内参):攻防最前线:CobaltStrike TLS流量检测分析

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: