dns隧道攻击原理及常用工具流量分析

DNS协议是一种请求应答协议,也是一种可用于应用层的隧道技术。虽然DNS流量的异常变化可能会被发现,但是在基于传统socket隧道已经濒临淘汰,TCP、UDP通信大量被安全设备拦截的大背景下,DNS、ICMP、HTTP/HTTPS等难以禁用的协议已经成为攻击者使用隧道的主流选择。

选择DNS协议作为通信隧道的主要优势在于:一方面,DNS是网络环境中必不可少的服务,另一方面,由于防火墙和IDS设备本身较少存在过滤DNS流量的行为,使得DNS报文本身具有了穿越WAF的能力。同时,越来越多的研究数据也证明了DNS隧道在APT攻击和僵尸网络中扮演着重要角色。

DNS隧道原理:

核心思想:端口不和服务绑定,可以传输任何数据。

正常网络之间的通信,是发生在两台机器建立TCP连接之后的,在进行通信时:如果目标是IP,则会直接发送报文,如果是域名,则将域名解析为IP再通信。C&C服务器在建立连接后将指令传递给客户端上的后门程序。

DNS隧道的原理就是:在后门程序进行DNS查询时,如果查询的域名不在DNS服务器本机的缓存中,就会访问互联网进行查询,然后返回结果,如果互联网上有一台攻击者设置的服务器,那么服务器就可以依靠域名解析的响应进行数据包的交换,从DNS协议的角度来看,这样的操作只是反复查询某个或者某些特定的域名并且得到解析结果,但其本质是,DNS预期的返回结果应该是一个IP地址,而事实上不是——返回的可以是任意字符串,包括加密的C&C指令,从而将其他协议封装在DNS协议中进行传输。

DNS隧道木马的通信结构如下:

图片

DNS协议开头为Transaction ID为字段,2字节,用于辨别DNS应答报文是哪个请求报文的响应:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwwggg.html