DNS 隧道
DNS 隧道 是什么?
DNS 隧道通过将任意数据编码到 UDP/TCP 53 端口的 DNS 查询与响应中而形成的隐蔽通道,常用于命令控制和数据外泄。
DNS 隧道利用了 DNS 流量(UDP/TCP 53 端口)几乎在所有网络中被允许、且很少被深度检查的特点。恶意软件把载荷字节编码进子域名标签(例如在 attacker.example.com 下用 base32 分片),攻击者的权威 DNS 服务器以 TXT、CNAME 或 NULL 记录返回响应或下发命令。dnscat2、Iodine、Cobalt Strike 的 DNS C2 都使用此类技术。带宽虽小,却十分隐蔽。检测依赖于单主机查询速率异常、标签长度异常、子域熵值偏高、base64/hex 模式、非典型记录类型以及威胁情报源。防御措施包括 DNS 代理、Sinkhole、查询限速、EDR/NDR 的异常分析,以及在出向防火墙阻止使用未知的 DNS 解析器。
● 示例
- 01
受感染主机发出 a1b2c3.exfil.attacker.com 这类查询,其标签编码了被窃取的数据。
- 02
dnscat2 通过 TXT 记录在 DNS 之上建立 shell,从而绕过仅允许 HTTP 的出向代理。
● 常见问题
DNS 隧道 是什么?
通过将任意数据编码到 UDP/TCP 53 端口的 DNS 查询与响应中而形成的隐蔽通道,常用于命令控制和数据外泄。 它属于网络安全的 网络安全 分类。
DNS 隧道 是什么意思?
通过将任意数据编码到 UDP/TCP 53 端口的 DNS 查询与响应中而形成的隐蔽通道,常用于命令控制和数据外泄。
DNS 隧道 是如何工作的?
DNS 隧道利用了 DNS 流量(UDP/TCP 53 端口)几乎在所有网络中被允许、且很少被深度检查的特点。恶意软件把载荷字节编码进子域名标签(例如在 attacker.example.com 下用 base32 分片),攻击者的权威 DNS 服务器以 TXT、CNAME 或 NULL 记录返回响应或下发命令。dnscat2、Iodine、Cobalt Strike 的 DNS C2 都使用此类技术。带宽虽小,却十分隐蔽。检测依赖于单主机查询速率异常、标签长度异常、子域熵值偏高、base64/hex 模式、非典型记录类型以及威胁情报源。防御措施包括 DNS 代理、Sinkhole、查询限速、EDR/NDR 的异常分析,以及在出向防火墙阻止使用未知的 DNS 解析器。
如何防御 DNS 隧道?
针对 DNS 隧道 的防御通常结合技术控制与运营实践,详见上方完整定义。
DNS 隧道 还有哪些其他名称?
常见的别称包括: DNS C2, DNS 数据外泄。
● 相关术语
- network-security№ 1188
UDP
RFC 768 定义的无连接传输协议,以最小开销在端口之间传送独立数据报,但不保证可靠性或顺序。
- attacks№ 335
DNS 放大攻击
通过开放 DNS 解析器实施的反射型 DDoS 攻击:攻击者用伪造的受害者 IP 发送小型 DNS 查询,使解析器向受害者返回大型响应。
- attacks№ 338
DNS 劫持
通过修改客户端设置、路由器配置、解析器响应或权威 DNS 记录,将 DNS 解析重定向到攻击者控制结果的攻击。
- attacks№ 337
DNS 缓存投毒
向 DNS 递归解析器缓存中插入伪造记录的攻击,使其在 TTL 过期前持续返回攻击者指定的地址。
- network-security№ 508
ICMP
由 RFC 792(IPv4)和 RFC 4443(IPv6)定义的网络层控制与诊断协议,供主机和路由器报告错误并反馈路径状态。
- network-security№ 1112
子域接管
由于悬空的 DNS 记录(通常是 CNAME)指向未被领取的云或 SaaS 资源,攻击者可以重新注册该资源并冒充该子域。
● 参见
- № 398数据外泄
- № 407Fast Flux 快速通量