观成科技:利用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信道通信的恶意软件的发展态势,并积极研究更新检测方案。

相关推荐
zjun10012 小时前
TCP专栏-1.TCP协议概念说明
网络·网络协议·tcp/ip
德迅云安全杨德俊3 小时前
DDoS 解析与防御体系
网络·安全·web安全·ddos
国科安芯3 小时前
商业航天电机控制领域抗辐射 MCU 芯片应用研究
网络·单片机·嵌入式硬件·安全性测试
Lentou3 小时前
日志轮询策略
linux·服务器·网络
星融元asterfusion3 小时前
如何为您的网络选择正确的PTP配置文件:一份实用指南
网络·ptp·时间同步
光路科技3 小时前
一文讲透DHCP Snooping:从原理到工业网络实践
网络
威联通安全存储4 小时前
穿透宿主机内核:QNAP Virtualization Station 硬件直通解析
网络·nas
BenD-_-4 小时前
CVE-2026-31431 Copy Fail:Linux 内核本地提权漏洞风险与缓解
linux·网络·安全
YOU OU4 小时前
网络初识(java)
网络