什么是 DNS 隧道? 检测说明

什么是 DNS 隧道? 检测说明

DNS 隧道将域名系统变成了黑客的武器。 DNS 本质上是互联网上巨大的电话簿。 DNS 也是允许管理员查询 DNS 服务器数据库的底层协议。 到目前为止,一切似乎都清楚了。 但狡猾的黑客意识到,他们可以通过将控制命令和数据注入 DNS 协议来秘密地与受害计算机进行通信。 这个想法是 DNS 隧道的基础。

DNS 隧道的工作原理

什么是 DNS 隧道? 检测说明

互联网上的一切都有自己单独的协议。 而且DNS支持比较简单 协议 请求-响应类型。 如果你想看看它是如何工作的,你可以运行 nslookup,它是进行 DNS 查询的主要工具。 您只需指定您感兴趣的域名即可请求地址,例如:

什么是 DNS 隧道? 检测说明

在我们的例子中,协议使用域 IP 地址进行响应。 从DNS协议来讲,我做了一个地址请求或者所谓的请求。 “一种。 还有其他类型的请求,DNS 协议将使用一组不同的数据字段进行响应,正如我们稍后将看到的,这些字段可以被黑客利用。

无论如何,DNS 协议的核心是将请求传输到服务器并将其响应传输回客户端。 如果攻击者在域名请求中添加隐藏消息怎么办? 例如,他不会输入完全合法的URL,而是输入他想要传输的数据:

什么是 DNS 隧道? 检测说明

假设攻击者控制了 DNS 服务器。 然后它可以传输数据(例如个人数据)而不必被检测到。 毕竟,为什么 DNS 查询会突然变得非法?

通过控制服务器,黑客可以伪造响应并将数据发送回目标系统。 这使得他们能够将隐藏在 DNS 响应各个字段中的消息传递给受感染计算机上的恶意软件,并包含在特定文件夹内进行搜索等指令。

这次攻击的“隧道”部分是 隐瞒 来自监控系统检测的数据和命令。 黑客可以使用base32、base64等字符集,甚至对数据进行加密。 搜索明文的简单威胁检测实用程序不会检测到此类编码。

这就是 DNS 隧道!

DNS 隧道攻击的历史

一切都有一个开始,包括为了黑客目的而劫持 DNS 协议的想法。 据我们所知,第一个 讨论 这次攻击是由 Oskar Pearson 于 1998 年 XNUMX 月在 Bugtraq 邮件列表上实施的。

2004 年,Black Hat 在 Dan Kaminsky 的演讲中引入了 DNS 隧道作为一种黑客技术。 因此,这个想法很快就发展成为一个真正的攻击工具。

如今,DNS 隧道在地图上占据着可靠的位置 潜在威胁 (信息安全博主经常被要求解释)。

你听说过 海龟 ? 这是网络犯罪团体(很可能是国家资助的)持续进行的活动,目的是劫持合法的 DNS 服务器,以便将 DNS 请求重定向到他们自己的服务器。 这意味着组织将收到指向黑客运行的虚假网页的“不良”IP 地址,例如 Google 或 FedEx。 同时,攻击者将能够获取用户帐户和密码,并在不知情的情况下将其输入到此类虚假网站上。 这不是 DNS 隧道,而是黑客控制 DNS 服务器的另一个不幸后果。

DNS 隧道威胁

什么是 DNS 隧道? 检测说明

DNS 隧道就像坏消息阶段开始的指示器。 哪个? 我们已经讨论了几个,但让我们来构建它们:

  • 数据输出(渗漏) – 黑客通过 DNS 秘密传输关键数据。 这绝对不是从受害计算机传输信息的最有效方法 - 考虑到所有成本和编码 - 但它有效,同时 - 秘密!
  • 命令与控制(缩写为C2) – 黑客使用 DNS 协议通过以下方式发送简单的控制命令: 远程访问木马 (远程访问木马,缩写RAT)。
  • IP-Over-DNS 隧道 - 这可能听起来很疯狂,但有些实用程序可以在 DNS 协议请求和响应之上实现 IP 堆栈。 它使用FTP、Netcat、ssh等进行数据传输。 一个相对简单的任务。 极其不祥!

检测 DNS 隧道

什么是 DNS 隧道? 检测说明

检测DNS滥用的方法主要有两种:负载分析和流量分析。

负荷分析 辩护方寻找可通过统计方法检测到的来回数据中的异常情况:奇怪的主机名、不经常使用的 DNS 记录类型或非标准编码。

流量分析 与统计平均值相比,估计每个域的 DNS 请求数量。 使用 DNS 隧道的攻击者会向服务器产生大量流量。 理论上,明显优于普通的 DNS 消息交换。 这需要监控!

DNS 隧道实用程序

如果您想进行自己的渗透测试,并了解您的公司对此类活动的检测和响应能力如何,可以使用多种实用程序。 他们都可以在该模式下隧道 DNS 上的 IP:

  • – 可在许多平台上使用(Linux、Mac OS、FreeBSD 和 Windows)。 允许您在目标计算机和控制计算机之间安装 SSH shell。 这是一个很好的 海德 关于设置和使用 Iodine。
  • 奥兹曼DNS – Dan Kaminsky 的 DNS 隧道项目,用 Perl 编写。 您可以通过 SSH 连接到它。
  • DNSCat2 - “DNS 隧道不会让你生病。” 创建加密的 C2 通道,用于发送/下载文件、启动 shell 等。

DNS 监控实用程序

以下是可用于检测隧道攻击的几个实用程序的列表:

  • 域名猎手 – 为 MercenaryHuntFramework 和 Mercenary-Linux 编写的 Python 模块。 读取 .pcap 文件、提取 DNS 查询并执行地理位置映射以帮助分析。
  • 重新组装_dns – 读取 .pcap 文件并分析 DNS 消息的 Python 实用程序。

有关 DNS 隧道的 Micro 常见问题解答

以问题和答案的形式提供有用的信息!

问:什么是隧道?
关于: 它只是通过现有协议传输数据的一种方法。 底层协议提供专用通道或隧道,然后用于隐藏实际传输的信息。

问:第一次 DNS 隧道攻击是什么时候发生的?
关于: 我们不知道! 如果您知道,请告诉我们。 据我们所知,有关该攻击的第一次讨论是由 Oscar Piersan 于 1998 年 XNUMX 月在 Bugtraq 邮件列表中发起的。

问:哪些攻击类似于 DNS 隧道?
关于: DNS 远非唯一可用于隧道的协议。 例如,命令和控制 (C2) 恶意软件通常使用 HTTP 来屏蔽通信通道。 与 DNS 隧道一样,黑客隐藏了他的数据,但在这种情况下,它看起来像是来自常规 Web 浏览器访问远程站点(由攻击者控制)的流量。 如果监控程序没有配置为感知,这可能会被忽视 威胁 出于黑客目的滥用 HTTP 协议。

您希望我们帮助您进行 DNS 隧道检测吗? 查看我们的模块 瓦罗尼斯·埃奇 并免费试用 演示!

来源: habr.com

添加评论