DNS Tunneling
DNS Tunneling是隐蔽通道的一种,通过将其他协议封装在DNS协议中传输。因为在互联网中DNS是一个必不可少的服务,所以大部分防火墙和入侵检测设备很少会对DNS流量进行过滤,由此DNS作为隐蔽信道有天生优势。
原理
DNS Tunneling可以分为直连和中继两种。
-
直连:client直接和指定的目标DNS Server(Authoritative NS Server)连接,通过将数据编码封装在DNS协议中进行通信。这种方式速度快,但是隐蔽性较弱,容易被探测到,且存在的限制比较多,很多场景不允许自己指定DNS Server。
-
中继:通过迭代DNS查询可以实现中继通道,更为隐蔽,但同时因为数据包到达目标DNS Server前需要经过多个节点,所以速度上较慢,但是可以突破防火墙等的限制。