观成科技:利用DoH加密通信的恶意木马流量分析

  • 概述

DOH加密通信是指攻击者利用DNS over HTTPS协议的加密特性,将恶意流量(如数据窃取、命令控制、恶意软件传播)隐藏在合法的HTTPS流量中,以绕过传统基于明文的DNS检测和防火墙封锁。通过将DNS查询封装在加密的HTTPS连接里,恶意活动得以伪装成普通上网行为,使得流量检测设备难以识别和拦截,显著提升了攻击的隐蔽性。本文主要通过CobaltStrike和vshell两种不同木马作为例子,分析使用DoH进行隐蔽通信的加密流量行为特征。

  • 通信流程分析

图1 DoH木马通信原理图

  1. 受害者点击木马后,首先会发送一条明文DNS 的A记录查询,获取公共DoH域名所对应的IP。
  2. 获取到IP后,将数据通过编码、加密、混淆等方法嵌入到一个DNS请求的子域名中,使用HTTPS加密发起的DoH请求。
  3. 发起的DNS请求的域名的子域名只要是不重复的,那么递归服务器就查询不到缓存数据,就会把请求转到NS服务器。
  4. NS服务器收到请求后,通过NS记录指派解析到攻击者所控制的域名服务器,从而就能收到目标数据。
  • DoH C2流量分析

①HTTP/2协议的vhsell DoH木马

图2 Vshell DoH 通信流量

虽然木马的通信数据通过HTTPS协议进行了加密隐藏,但是如果分析加密载荷中的应用层协议数据特征,还是能够发现与正常流量的区别。vhsell DoH木马在TLS加密载荷中使用HTTP/2进行通信,客户端不会发送流量控制策略的WINDOW_UPDATE帧和RST_STREAM帧,而且在查询的DATA部分发送完成后还会发送一个标志位为END STREAM的无载荷的DATA帧,如下图所示:

图3 Vshell DoH End Stream帧

作为对比,使用HTTP/2协议的DoH正常流量在触发流量控制策略的时候,接收方就会发送WINDOW_UPDATE帧,来告知发送方当前的窗口增量(当接收方的应用层从TCP接收缓冲区中读取并处理了N字节的数据,这N字节的空间就被释放。接收方协议栈会将这N字节累加到"待更新增量"中),如下图所示:

图4 DoH正常流量的WINDOW_UPDATE帧

且当一方发送的数据量,超出了另一方声明能够接收的量(即WINDWO_UPDATE帧所声明的),则会触发HTTP/2的流量控制机制,接收方会发送一个RST_STREAM 帧,来终止这个流,如下图所示:

图5 DoH正常流量的RST_STREAM帧

由于DoH木马恶意通信方式是将目标数据通过编码、加密、混淆等方法嵌入到一个DNS请求的子域名中,所以一般承载数据的DATA帧相对来说会更长,如下图所示:

图6 Vshell DoH DATA帧

而正常流量所查询的域名一般都不会很长,且有一个附加记录的值,它的值会随着域名的长度变化而变化,使整体长度维持在一个固定的值,所以正常流量的data长度一般都会趋于稳定,如下图所示:

图7 DoH正常流量 DATA帧

②HTTP/1.1协议的CobaltStrike DoH木马

图8 CobaltStrike DoH 通信流量

CobaltStrike DoH木马在TLS加密载荷中承载的应用层通信协议是HTTP 1.1,客户端在建立连接后会直接发送请求,如下图所示:

图9 CobaltStrike DoH查询

在利用公共DoH时,在一些条件下,会将一个整体的请求进行分段传输,一般会拆成两个,即请求头部分和请求体部分,如下图所示:

图10 CobaltStrike DoH分块查询

③HTTP/1.1与HTTP/2的区别

总结DoH木马在HTTP/1.1协议与HTTP/2协议的通信过程中的特征,有以下不同点:

|------------------------------------------------|-------------------------------------|
| HTTP/1.1 | HTTP/2 |
| 无起始帧 | 建立连接时候,有固定起始帧如Magic、Settings等 |
| 数据为一个整体,请求头与请求体都封装在一个数据包中(部分DoH会进行分段传输) | 数据以二进制帧的方式传输,一个请求分为HEADERS、DATA等帧类型 |
| 不支持多路复用,请求与响应必须串行(请求1 -> 响应1 -> 请求2 -> 响应2) | 一个连接上可并发交错发送多个请求/响应的帧,通过Stream ID区分 |
| 请求头部即使相同也需重复发送,比较冗余 | HEADERS首次发送后,后续相同头部仅发送索引即可 |

  • 工具检测

根据流量特征的分析结果,我们采用了载荷分布特征匹配、行为模型等检测方式,实现了对C2工具使用DoH协议加密通信的有效检测。

图11 DoH木马检出结果

  • 总结

利用DoH协议的木马工具进行 C&C通信,攻击者可以将恶意流量隐藏在合法的HTTPS流量中,从而规避传统明文流量分析设备的检测,加密威胁智能检测系统能够针对性的检测其行为,从而有效识别恶意加密通信。观成科技安全研究团队将持续跟踪利用DNS over HTTPS信道通信的恶意软件的发展态势,并积极研究更新检测方案。

相关推荐
IT WorryFree11 分钟前
FortiGate 排错常用OID速查表(含Trap OID+轮询OID)
运维·网络
m0_7381207211 分钟前
渗透测试基础——基于Docker的Rsync服务靶场搭建与原理讲解
运维·服务器·网络·安全·web安全·docker·容器
CoreTK芯通康EMC整改27 分钟前
PCB 信号回流路径 EMC 失效深度解析:原理、误区与量产级整改方案
网络·经验分享·安全·emc整改案例·emc整改
asdfg125896330 分钟前
运营商的路由器到路由器之间是如何传输的
网络·智能路由器
代码中介商39 分钟前
HTTP进化史:从1.0到3.0的核心变革
网络·网络协议·http
ZStack开发者社区1 小时前
ZSTACK · 答客问 | 什么时候该升级,什么时候再等等
网络·云计算
MXsoft6181 小时前
**混合云统一监控实践:私有云+公有云的一体化运维方案**
运维·网络·数据库
天南散修1 小时前
MT7916驱动中802.11转换为802.3
linux·网络·驱动开发·wifi·802.11
其实防守也摸鱼1 小时前
无线网络安全--10 规避WLAN验证之挫败MAC地址限制
网络·智能路由器·php·教程·虚拟机·wlan·无线网络安全
xiaoxiaoxiaolll1 小时前
《Nature Communications》亮点文章:自供电双窄带OPD如何实现1.25 Mbps下的抗窃听光通信?
网络