DNS隧道解析原理初探

     分类: 个人笔记,网络安全 发布时间: 2019-11-04 12:13 2,659人浏览

DNS隧道的两种类型:

1.IP直连型

如果 DNS隧道木马的服务器可以与本地主机通过IP直接通信,传输协议采用 DNS协议,则称为IP直连型DNS隧道木马。
IP直连型 DNS隧道木马的服务器端开放53端口,被控端利用UDPsocket 套接字直接与C&C服务建立连接。在这种情况下,两者传输的内容实际上是基于UDP服务。
这种木马与传统 UDP 木马的最大不同点就是:

1. 利用53端口进行传输交互数据,而53端口的外联基本上在所有机器上都必须开放,否则则无法使用互联网DNS服务;
2. 精心构造传输的载荷内容,使其至少从格式上是符合DNS query包格式,因为如果攻击者构造的UDP载荷内容不符合DNS报文格式,在 wireshark等流量分析工具的流量解析下,很容易出现 DNS报文异常的情况;

2.DNS迭代查询

中继过程中的一个关键点是对DNS缓存机制的规避,因为如果需要解析的域名在Local DNS Server中已经有缓存时,Local DNS Server就不会转发数据包。所以在我们构造的请求中,每次查询的域名都是不一样的或者是已经是过期的。这个特征同时也包含了一个可用于检测的规律,即在DNS tunnel的会话中,dns query host的数量会比正常情况下要多。
对DNS载荷的编码是DNS Tunneling的另一个核心技术。从高层来看,载荷只是客户端和服务器通信的正常流量。
例如客户端发送一个A记录请求给服务器,查询的主机名为2roAUwBaCGRuc3R1bm5lbGluZwo.test.domain.com,其中2roAUwBaCGRuc3R1bm5lbGluZwo则是客户端传递给服务器的信息,这串字符解码后的信息便是dnstunneling。
最后,因为大多数场景下,内网的Client位于防火墙后,Server不可能发起连接。所以大多数工具,Client会定时向Server发送请求,保证二者之间的通信状态。

1. 被控端把要传输的内容封装(protocol wrap)在dns query请求包中,发起一次正常的dns解析请求;
2. 当被控端向任意一台DNS服务器请求该域名下的子域名时,本地 DNS服务器无论是通过递归查询还是迭代查询,都会向外转发这个DNS请求,最终这个DNS请求都会被送到黑客控制的权威NS服务器中(这意味着黑客必须事先配置好NS以及A记录解析);
3. NS服务器控制端解析请求报文,得到被控端传来的信息,然后将攻击控制命令通过封装在DNS响应报文中;
4. 从而实现双方通信,所有的通信都必须由被控端(client端)主动发起,不断回传数据并接受新指令。

两者之间的区别:

这2种方法虽然工作原理上存在差别,但是从流量角度上来看都是基于DNS协议,但是这里在实际工程中也要注意,你旁路采集的方式可能会影响到你最终能否采集到完整的通信日志,例如如果你是采用记录dns解析的方法,则可能会漏过udp ip直连的这种通信方式,如果直接在网关上进行“端口和协议解析”则可以保证全流量采集。

IP直连型 DNS隧道木马直接与 DNS 服务器通过UDPsocket通信,因此通信效率要比域名型DNS隧道木马高,但是这种 DNS隧道木马 致命的弱点是直接把IP暴露在网络流量中,如果客户端指定信任的DNS服务器解析 DNS服务,那么 IP直连型 DNS隧道木马就很容易被IP黑白名单封杀;

对于域名型 DNS隧道木马而言,只要客户机 能与任意一台外网的DNS服务器通信,那么域名型DNS隧道木马就可以工作,因此域名型DNS隧道木马生存能力更强,隐蔽性更高。

基于流量角度的识别方法:

1.IP直连型
受害IP会经常性的请求一个未知的DNS服务器,且发送的数据包中包含异常文本,一般在TXT记录,MX记录中,A记录或者CNAME记录等也都有可能出现。
抓包情况会类似下图:
DNS隧道解析原理初探插图

2.域名解析型
这种隧道方式是把传输的信息加密隐藏在子域名中。不需要连接特定的DNS服务器,只需要连接外部DNS服务器即可,因此连接114.114.114.114服务器也有可能是遭受攻击。
特点是受害IP会经常性的请求某个未知的域名,该域名的子域名长度非常长且不重复。
抓包情况会类似下图:
DNS隧道解析原理初探插图1

未完待续


参考链接:
DNS 隧道通信特征与检测
一次误报引发的DNS检测方案的思考:DNS隧道检测平民解决方案
DNS Tunnel隧道隐蔽通信实验 && 尝试复现特征向量化思维方式检测


上一篇文章:

一条评论
  • Don_T

    2020年6月18日 下午4:56

    Nobody knows dnstunnel better than me

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注