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

相关推荐
网络研究院16 天前
2026年网络安全
网络·安全·法律·法规·趋势·发展
酣大智16 天前
ARP代理--工作原理
运维·网络·arp·arp代理
treesforest16 天前
AI安全系统如何识别异常访问?IP风险识别正在成为关键能力
网络·人工智能·tcp/ip·安全·web安全
shushangyun_16 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
2601_9618451516 天前
粉笔行测题库|系统班|刷题
网络·百度·微信·微信公众平台·facebook·新浪微博
程序猿阿伟16 天前
《Chrome离线扩展安装的底层逻辑与场景落地指南》
服务器·网络·chrome
InHand云飞小白16 天前
无人值守站点网络困境?工业级路由器IR315破解连接难题
网络·物联网·4g·工业路由器·4g路由器·iiot·蜂窝路由器
森G16 天前
75、服务器源码解析---------云视频服务项目
linux·服务器·网络·c++·qt
江华森16 天前
TCP/IP 协议栈实战 — 7 个实验详解
网络·tcp/ip·智能路由器
酉鬼女又兒16 天前
零基础入门计算机网络运输层:端到端通信核心作用、端口号分类规则、复用分用工作机制及UDP与TCP协议全方位对比详解
网络·网络协议·tcp/ip·计算机网络·考研·udp·php