混合大小写的 DNS 请求 - 我的网络中存在恶意软件?

Rui*_*iro 4 dns malware

我看到一些奇怪的 DNS 查询。他们似乎有来自我网络中机器的随机混合大小写。

我可能有恶意软件吗?

$ sudo tcpdump -n port 53
16:42:57.805038 192.168.5.134.47813 > 192.168.5.2.53: 27738+ A? Www.sApO.PT. (29)
16:42:57.826942 192.168.5.2.53 > 192.168.5.134.47813: 27738 1/0/0 A 213.13.146.142 (45)
16:43:02.813782 192.168.5.2.53 > 192.168.5.134.12193: 17076 1/0/0 A 213.13.146.142 (45)
16:43:06.232232 192.168.5.134.44055 > 192.168.5.2.53: 28471+ A? www.SaPo.pt. (29)
16:43:06.253887 192.168.5.2.53 > 192.168.5.134.44055: 28471 1/0/0 A 213.13.146.142 (45)
16:45:22.135751 192.168.5.134.11862 > 192.168.5.2.53: 48659+ A? wwW.cnn.COm. (29)
16:45:22.190254 192.168.5.2.53 > 192.168.5.134.11862: 48659 2/0/0 CNAME turner-tls.map.fastly.net., (84)
16:45:27.142154 192.168.5.134.34929 > 192.168.5.2.53: 25816+ A? wWw.cnN.com. (29)
16:45:27.168537 192.168.5.2.53 > 192.168.5.134.34929: 25816 2/0/0 CNAME turner-tls.map.fastly.net., (84)
16:45:32.150473 192.168.5.134.29932 > 192.168.5.2.53: 40674+ A? wWw.cnn.cOM. (29)
16:45:32.173422 192.168.5.2.53 > 192.168.5.134.29932: 40674 2/0/0 CNAME turner-tls.map.fastly.net., (84)
Run Code Online (Sandbox Code Playgroud)

Rui*_*iro 7

归根结底,在调查问题后,执行混合大小写 DNS 请求的 VM 是运行 OpenBSD 的机器rebound,这是 OpenBSD 中使用的 DNS 代理。

此外,似乎它是现今通常的做法reboundUnboundpydigTor制备这样的大小写混合查询作为一种安全措施。

因此,在这种情况下,查询不是恶意软件的结果。

来自混合大小写 DNS 查询的使用

这些查询似乎是 DNS 服务器支持相对较新的 DNS 安全机制“0x20 位编码”的结果。该方法因使用字母大小写对位值进行编码而得名。如果位 0x20 在一个字节中设置,则字母为小写。如果清除,则字母为大写。

主机名不区分大小写。但是,此案被维持。答案将使用与查询相同的混合大小写。

事实证明,几乎所有的 DNS 服务器都遵循这种行为。新的部分是现在一些 DNS 服务器开始将随机值编码到它们发送的每个查询中,然后验证该值是否保留在响应中。这实际上为查询 id 添加了额外的位。

虽然这显然是一个“黑客”,但它是一个非常有吸引力的。如果您的 DNS 服务器支持此功能,它会自动获得更多的“抗欺骗性”。它连接到的 DNS 服务器不需要更改任何内容。与 DNSSEC 不同,这当然是真正的修复,但需要大量的配置工作,并且必须为每个区域进行配置。

来自甘菊 - 未绑定的 DNS 教程

什么是 dns-0x20 大写随机化?

大写随机化也称为 dns-0x20。这是一种实验性的弹性方法,它在问题主机名中使用大小写字母来获得随机性。平均增加大约 7 或 8 位熵。此方法目前必须由 dns 管理员手动开启,因为它可能导致大约 0.4% 的域由于没有权威服务器端的支持而得不到答案。在我们的第二个示例中,我们启用指令“use-caps-for-id: yes”以使用 dns-0x20 提高安全性。

所有这一切意味着 calomel.org 与 CaLOMeL.Org 相同,CaLOMeL.Org 与 CALOMeL.ORG 相同。当 Unbound 向远程服务器发送查询时,它会以随机的大写和小写字符发送主机名字符串。远程服务器必须解析主机名,就好像所有字符都是小写一样。然后,远程服务器必须以 Unbound 发送的相同的随机上下字符将查询发送回 Unbound。如果响应中主机名的字符与查询的格式相同,则满足 dns-0x20 检查。

因此,除了 DNS 中毒攻击所需的所有其他字段之外,希望毒害未绑定 DNS 缓存的攻击者还必须猜测查询的大小写混合编码和返回 dns 答案的时间。dns-0x20 显着增加了攻击的难度。

相关问题:Chrome:具有随机 DNS 名称的 DNS 请求:恶意软件?

  • 这最初是作为针对卡明斯基攻击的对策,这是一种在 DNS 消息中轻松添加更多熵的方法,其中 DNS 消息的其他部分无法更改(放大)以适应更多熵(更少的方法猜测 DNS 消息 ID) (2认同)
  • 请参阅 https://dyn.com/blog/use-of-bit-0x20-in-dns-labels/ 和 https://blog.cloudflare.com/the-oldest-trick-in-the-ascii-book/来自该人本人:https://dankaminsky.com/2008/08/29/towards-the-next-dns-fix/(见第4点) (2认同)