你是可被窥探的吗?——DNS缓存窥探技术解析

本文详细解析DNS缓存窥探技术,介绍攻击者如何利用Nmap脚本获取组织的浏览习惯信息,并提供检测方法和防护建议,帮助提升网络安全性。

你是可被窥探的吗?!

Rick Wisser //

好的,你已经为网络采取了所有预防措施。你设置了锁定控制,使用了强大的密码策略(20个字符,包含大写字母、小写字母、特殊字符和Wingdings字体符号……),双因素认证无处不在,Web应用程序被锁定,跨站脚本和SQL注入不再可行。你对基础设施的安全性感到满意。

那么,为什么你可能仍然担心(除了你是系统管理员之外)?似乎社会工程学正在成为新的攻击向量。为什么?因为从组织中特定人员那里获取有价值的信息比从网络中获取更容易。最终,每个人的网络都会如此安全,以至于你不再需要担心它们(对吧☺)……在BHIS,我们只能希望如此,但与此同时,我们将继续发布博客文章并帮助发现漏洞。

你可能想知道我接下来要说什么。嗯,有时我们会忽略一些小事情,比如域名服务器(DNS)缓存窥探。

许多非技术读者可能想知道DNS到底是什么以及它的作用?

在不涉及太多技术细节的情况下,DNS用于将人类可读的格式转换为机器语言,在这种情况下,即你试图访问的系统的IP地址。例如,如果你在浏览器中输入www.peanuts.com,请求将被发送到DNS服务器,该服务器搜索与www.peanuts.com对应的记录(IP)。此示例的记录将转换为IP地址54.201.160.175。你可以看到输入一个易于记忆的名称比输入IP地址更容易。许多人使用电话簿的类比来将命名约定与系统的IP地址关联起来。

许多组织拥有并管理自己的域名服务器,这取决于它们拥有的IP数量以及是否频繁更改机器、主机名或IP地址。在本地管理DNS更改比必须传真或填写文书工作给第三方进行更改更容易。如果你的组织管理自己的DNS,那么这篇博客就是为你准备的。

DNS使用递归和非递归查找,具体取决于站点是否已被缓存(本地存储)。

  • 递归:如果DNS不知道该网站,则使用此类查找。域名服务器将必须轮询其他服务器以获取信息,将网站名称解析为IP地址并正确路由你的流量。
  • 非递归:此类查找存储在域名服务器的缓存中,因此无需外出轮询其他服务器即可轻松访问,而递归查找则需要这样做。

攻击者使用DNS缓存窥探来收集有关组织浏览习惯的信息。这些信息可用于策划针对公司的攻击,例如电子邮件钓鱼或鱼叉式钓鱼活动。这还可能披露敏感信息,例如最近访问的金融机构或公司可能不希望公开的其他敏感网站。

根据DNS服务器的配置方式和在网络中的位置,可能决定风险级别。例如,如果你位于网络内部,你的域名服务器可能允许缓存本地网络上人员的网站,而不允许缓存外部人员的网站。始终建议从网络外部进行测试,以确定缓存窥探在公共空间是否有效。尽管缓存窥探可能在网络内部实现,但风险较低,因为攻击者必须从网络内部获得访问权限才能进行窥探。

我的侧,你的侧——内部,外部

一个简单的测试是使用带有dns-snoop-cache.nse脚本的Nmap。下面我运行了该脚本来验证Google DNS 8.8.8.8是否正在缓存网站。默认情况下,Nmap命令使用非递归查找,因此输出与服务器上缓存的站点相关。

Nmap输出 –script dns-cache-snoop.nse for 8.8.8.8

从上面的输出中可以看到,Google的8.8.8.8 DNS缓存了100个域名中的61个。

我还应该指出,Nmap使用预配置的前100个域名集来检查它们是否被缓存。如果你愿意,可以提供域名列表,从而使其更具体地针对你的组织。通过使用参数与Nmap命令一起指定要检查的域名。参数是: dns-cache-snoop.domains={host1,host2,host3,etc}

下面的屏幕截图演示了使用特定域名或主机的输出。

提供特定域名

如果你想找出最近访问了哪些站点,可以使用参数dns-cache-snoop.mode=timed,这只能可靠地运行一次,因为它也会缓存到服务器。

使用Nmap的定时参数

你可以看到最近访问的站点与未包含dns-cache-snoop.mode=timed参数时运行的Nmap命令略有不同。

根据DNS服务器的设置方式,你可能无法获取任何信息。这也可能取决于你的组织是否阻止了某些域名。许多组织会阻止前100个域名,因为它们大多数与社交或购物网站相关。如果是这种情况,你可能需要检查特定域名,例如wellfargo.com或chase.com。你还可以访问网络上的特定站点,然后检查DNS是否已缓存它。

还有其他与DNS相关的漏洞,例如缓存中毒、分布式拒绝服务(DDoS)或DNS放大攻击。我将这些留待将来讨论,因为对许多人来说,DNS不如我们都喜欢的可爱小猫视频那样令人兴奋。

祝你窥探愉快!

加分题——这篇博客中的图片来自哪部剧集,角色名字是什么?如果你知道答案,请发推给我们@BHinfoSecurity!


准备好了解更多吗? 通过Antisyphon的实惠课程提升你的技能! 随你支付的培训 提供实时/虚拟和点播选项

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计