欺骗性 DNS 的数据分析

欺骗性 DNS 的数据分析

我没有权限的远程名称服务器会间歇性地使用欺骗性地址进行响应。我想监控此服务器并收集欺骗性响应的数据以供分析。我该如何做呢?

我本质上想查询一个已知域,将其与已知 IP 地址进行比较,并记录数据。我打算可视化服务器响应欺骗和合法的时间量 - 以及此行为的模式。

我希望有现成的工具可以做到这一点,但如果需要的话,我可以做一些 python/sql。请提供意见。

例子:

一个A记录查询google.com将返回195.22.26.248

显然不是谷歌地址

答案1

当您说这是单个 DNS 服务器时,我假设您知道自己在说什么。我持怀疑态度,因为您尚未分享确定这一点的方法,但我的回答将假定此信息准确无误。

通常情况下,您会执行查询,查看观察到的 TTL,并在 TTL 到期后再次查询。您会继续执行此操作,直到达到预定的采样周期,并将好答案与坏答案进行比较。

不幸的是,这里的关键词是“通常”。您正在寻找一个确定性的答案,但一旦服务器受到威胁,这些答案就很难得到,而且在大多数情况下,您必须抛开逻辑,直到您知道漏洞利用方法的具体细节。

  • 鉴于您的另一个问题安全,更有可能的是服务器软件本身已被入侵,而不是被轰炸的结果伪造答案
  • 欺骗数据包轰炸总是会在 TTL 上循环,但其他方法可能会在 TTL 窗口到期之前不可预测地更改回复。在后一种情况下,很难判断更改是否是由于刷新引起的,除非您 100% 确定您正在处理的是单个服务器而不是 VIP 后面的服务器群。在后一种情况下,TTL 将相当一致地变化。

长话短说,你为一个不属于你的问题投入了大量精力,而且由于你不属于这个问题,所以你几乎没有办法确保你收集的信息能够提供有用的结论。(除了随着时间的推移对原始好:坏回复的比例进行学术练习,这将使这个问答变成我们在 SE 网站上不赞成的那些“给我代码”问题之一)

答案2

您可以dig www.example.com在大多数 Linux 系统上使用 bash 执行 DNS 查找,输出可以根据您想要的详细程度进行自定义。您可以将已知的良好输出保存到文件中,然后使用 比较结果diff。可以通过从dig输出中提取所需信息来执行日志记录,然后您可以使用日志文件或数据库将其保存为您想要的任何格式。使用date +%s您可以获取一个 unix 时间戳以添加到日志中,这使得在日志中选择时间范围成为对单个值的整数比较的问题。

相关内容