前言
此篇是Quaser RAT系列文章第三篇,第一篇《Quasar RAT客户端木马执行流程逆向分析》详细记录病毒样本执行流程,第二篇《Quaser RAT加解密技术剖析》介绍了样本配置信息在内存中的解密流程,以及TLS1.2通讯流量的解密。
本篇将结合此前两篇文章的分析,从通讯流量中提取特征并被检测,并且提供了分析平台(平台链接在后文)和示例数据包供大家学习。
背景
对于更新迭代的样本,有大的版本号更迭时往往意味着通讯架构的修改或着重大功能的迭代。
Quaser RAT在2020年6月5日发布的v1.4.0版本中,通讯流量层面增加了TLS1.2通讯加密模块、消息序列化器更改为Protobuf。这些内容在系列前两篇文章中分析的非常清除了,感兴趣的读者可以看一看系列文章前两篇。
一、特征分析
针对QuaserRAT加密流量的检测,特征规则匹配是非常乏力的,只能根据一些TLS协议的固有属性(证书相关信息等),或者TCP的一些特殊会话行为去做梳理。在生产环境中针对加密流流量的检测最主要还是靠威胁情报,例如IP、域名、JA3、JA3S指纹、样本HASH等。
1.1 TLS1.2 加密套件相对固定
Quasar RAT使用SslStream进行安全套接字通信,对TLS使用的加密套件不做指定,该情况下TLS加密套件的通常选择由.NET Framework或.NET Core运行时负责选择。
对于具体的加密套件的选择,通常由操作系统和底层的加密库决定,而不是由的C#代码直接控制。经测试,在Windows 10专业版、Windows 10家庭版、Windows 10教育版、Windows 10企业版等常规版本中,Quasar RAT在TLS密钥协商过程中加密套件选择上,通常会选择如下套件。
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
1.2 默认配置下的固定证书CN值
如果使用Quasar RAT自带的配置信息,证书中的CN值会是“Quasar Server CA”,当然这会被秒杀。
动态调试查看内存中解密的证书CN值。
还原成文件查看更直观。
1.3 默认配置下的证书固定hex流
经过分析发现默认证书配置中会包含有固定的hex流如下。并且此特征在AsyncRAT默认配置证书中同样存在,一定程度可以说明Async RAT和Quaser RAT的同源性。
0f 39 39 39 39 31 32 33 31 32 33 35 39 35 39 5a
通讯流量如下。
1.4 心跳包及1字节心跳载荷
在第一篇文章中执行流程中解密到TCP的通讯配置信息。
KEEP_ALIVE_INTERVAL 0x000061A8
KEEP_ALIVE_TIME 0x000061A8
KEEP_ALIVE_TIME 0x000061A8换算为十进制秒为25秒,Quasar RAT在无功能作业时默认配置心跳包间隔约为25秒。并且会有载荷数据00。
KEEP-ALIVE间隔25秒如图。
KEEP-ALIVE 1字节载荷00如图。
1.5 上行流量远大于下行流量
和其他病毒程序一致,服务端指令(蓝色)十分精简,数据量很小,客户端响应则数据(红色)量很大。这可以作为一个弱特征与其他特征组合检测。
以下截图举例。
1.6 TCP Keep-Alive心跳机制导致同步确认位(ACK)数据包数量远大于同步发送(SYN)数据包
Quaser RAT使用Keep-Alive作为心跳机制,Keep-Alive数据包的TCP标志位在不同操作系统上不一致,Windows专业版中Keep-Alive、Keep-Alive ACK数据包标志位均为ACK。
Keep-Alive数据包标志位状态。
Keep-Alive ACK数据包标志位状态。
所以这使得同步确认位(ACK)数据包数量远大于同步发送(SYN)数据包。这可以作为一个弱特征与其他特征组合检测。
二、检测实现
上诉特征只有部分强特征可以用编写成suricata检测规则实现,其余部分偏向多维度统计分析需要检测模型代码实。
2.1 检测平台及示例数据包
入侵检测系列文章《入侵检测之流量分析--恶意数据包分析平台》中介绍了我搭建的流量分析平台,大家平时有可疑流量可以往里边扔。
我提供了示例数据包供大家分析。
平台地址:
http://47.108.150.136:8080/IDS
测试数据包:
https://www.123pan.com/s/3BsPjv-vLhnd.html
在平台上传数据包即可。
2.2 告警信息分析
选择数据包上传后,等待分析结果。
返回分析结果。
详细使用说明以及告警分析可以看平台配套文章,这里就不在过多赘述。
03/11/2024-20:52:07.113888 [**] [1:2027619:3] ET MALWARE Observed Malicious SSL Cert (Quasar CnC) [**] [Classification: Domain Observed Used for C2 Detected] [Priority: 1] {TCP} 43.246.209.128:19963 -> 43.246.209.129:56362
03/11/2024-20:52:07.113888 [**] [1:2035595:6] ET MALWARE Generic AsyncRAT Style SSL Cert [**] [Classification: Domain Observed Used for C2 Detected] [Priority: 1] {TCP} 43.246.209.128:19963 -> 43.246.209.129:56362
Quaser RAT系列到此就结束了。