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

相关推荐
星寂樱易李1 天前
iperf3 + Python-- 网络带宽、网速、网络稳定性
开发语言·网络·python
随身数智备忘录1 天前
什么是设备管理体系?设备管理体系包含哪些核心模块?
网络·数据库·人工智能
第五文修1 天前
手机OTG转TTL网口实现ping功能
网络·智能手机
云边云科技_云网融合1 天前
企业大模型时代的网络架构五层演进:从连接到智能的范式重构
网络·重构·架构
xhbh6661 天前
代理ARP (Proxy ARP) 是如何实现跨网段通信的?在Linux下如何配置?
服务器·网络·智能路由器·端口映射·映射
数智化管理手记1 天前
精益生产3步实操,让现场从混乱变标杆
大数据·运维·网络·人工智能·精益工程
XiYang-DING1 天前
【Java EE】TCP—可靠传输
网络·tcp/ip·java-ee
沃虎电子1 天前
片式网络变压器:从“手工品”到“SMD元件”的产业跨越
网络·片式网络变压器
神奇小梵1 天前
关于finalshell的使用
linux·服务器·网络
上海云盾-小余1 天前
恶意爬虫精准拦截:网站流量净化与资源守护方案
网络·爬虫·web安全