2022年5月份Darkreading曾报道,Nozomi Networks公司的研究人员发现,在企业环境中实施域名系统 (DNS)的常见错误配置可能会使气隙网络及其旨在保护的高价值资产面临外部攻击者的风险。Nozomi Networks的ICS分析师团队的一篇博文解释了该缺陷存在于广泛使用的物联网 (IoT)设备C标准库uClibc以及uClibc-ng的所有版本中,uClibc-ng是一个特殊版本OpenWRT,一种“用于部署在各种关键基础设施领域的路由器的通用操作系统”。因此,该漏洞存在于 Linksys、Netgear和Axis的知名品牌产品以及Embedded Gentoo等Linux发行版中。自2022年1月以来,该漏洞已被披露给200 多家供应商,它可能会影响数百万已安装的设备。由于DNS错误仍未修补,因此未公开提供有关受影响设备的其他详细信息,但在库的维护者无法开发修复程序后,Nozomi提供了有关该错误及其可利用性的详细信息,希望向社区寻求帮助。在 DNS中毒攻击中,攻击者能够欺骗DNS客户端接受伪造的响应,从而诱导某个程序与任意定义的端点而不是合法端点进行网络通信。”Nozomi Networks表示,一旦成功,攻击者就可以改变或拦截网络流量以破坏连接的设备。

安全公司Pentera的研究人员在12月8日发布的博客文章中透露,使用连接到DNS 服务器的气隙网络的组织可能会无意中将资产暴露给威胁行为者,从而导致严重的数据泄露。Pentera的研究人员透露,攻击者可以使用DNS作为命令和控制(C2)通道,通过连接到Internet的DNS服务器与这些网络通信,从而破坏它们,即使组织认为网络已成功隔离。

上述两家安全公司的研究表明,气隙作为一种常用的安全对策,其基于在数字资产和恶意行为者之间建立一道不可逾越的屏障的想法。全球各个行业、各种规模的组织都使用这种技术来隔离敏感网络。许多防御者可能相信,通过隔离他们最敏感的信息,甚至依靠物理隔离和离线备份,他们的关键资产得到了保护。然而,现实远非如此。 如所提供的示例攻击所示,只要气隙网段与网络的其余部分连接到同一DNS服务器,通过 DNS被攻击破坏的风险就是真实存在的。

气隙网络被隔离,无法从业务或企业IT环境中的公共用户网络访问Internet。研究人员写道,它们以这种方式设计是为了保护组织的“皇冠上的宝石”(即高价值核心资产),使用VPN、SSL VPN或用户网络通过跳转箱让其他人访问它们。

但是,这些网络仍然需要DNS服务,它用于为系统分配域名以实现网络可发现性。如果网络管理员没有仔细配置DNS,这就代表了一个漏洞。

Pentera的网络攻击研究员Uriel Gabay告诉DarkReading,他们的研究展示了DNS 配置错误如何无意中影响气隙网络的完整性。

Gabay说,这对企业来说意味着,通过滥用DNS,黑客可以通过稳定的通信线路进入气隙网络,从而使他们能够窃取敏感数据,而他们的活动对于组织的安全协议来说似乎是完全合法的。

错误配置的DNS协议

Gabay说,公司在设置气隙网络时最常犯的错误是,当他们将其链接到本地DNS 服务器时,他们认为自己正在创建一个有效的气隙。在许多情况下,这些服务器可以链接到公共DNS 服务器,这意味着“它们无意中打破了自己的气隙”。

研究人员在他们的帖子中解释说,了解DNS的工作原理对于了解攻击者如何驾驭其复杂性以闯入气隙非常重要。

DNS连接到气隙网络的两种常见架构:

 直接连接到主DNS服务的“气隙”网络DNS服务

 连接到气隙DNS的气隙网络DNS服务

在第二种架构中,许多组织经常错误地认为通过内部DNS服务器路由通信可以防止潜在的违规行为。但是,它们仍然容易受到攻击,因为内部DNS服务器仍然可以连接到公共DNS服务器。

研究人员解释说,通过DNS发送信息可以通过请求协议处理的记录(例如TXT、文本记录或名称服务器记录)并将信息放入记录名称的第一部分来完成。可以通过请求 TXT 记录并接收返回该记录的文本响应来通过DNS接收信息。

研究人员表示,虽然DNS协议可以在TCP上运行,但它主要基于UDP,UDP没有内置的安全机制——这是攻击者利用DNS发挥作用的两个关键因素之一。在UDP中也无法控制数据传输的流程或顺序。

研究人员解释说,由于UDP中缺乏错误检测,攻击者可以在发送有效负载之前对其进行压缩,并在发送后立即解压缩,这可以使用任何其他类型的编码来完成,例如 base64。

使用DNS打破气隙

尽管如此,威胁行为者仍面临着与DNS成功通信以打破气隙的挑战。DNS对接受的字符类型有限制,所以不是所有的字符都能发送;研究人员说,那些不能的被称为“坏角色”。可以发送的字符长度也有限制。

为了接收对“*.pentera.io”下的任何子记录的 DNS 请求,攻击者必须拥有pentera.io根记录的所有者权限并创建一个指向已定义服务器的名称服务器记录。一旦建立,具有DNS服务并可访问Internet的气隙网络就可以与攻击者连接。

研究人员表示,为了克服DNS中对数据流缺乏控制的问题,威胁行为者可以通知服务器应缓冲哪个数据包,以及预期的最后一个数据包。他们说,在攻击者知道前一个包已成功到达之前,也不应发送包。

他们说,为了避免坏字符,攻击者应该在发送数据之前对发送的数据应用 base64编码,同时他们可以将数据分割成一块一块地发送,以避免DNS字符长度限制。

研究人员解释说,为了绕过防御者,通过阻止访问发送请求的服务器来阻止DNS请求,攻击者可以根据双方都知道和期望的变量生成域名。

“虽然可执行文件不一定很困难,但攻击者或组织需要基础设施才能继续购买根记录,”他们指出。

研究人员表示,攻击者还可以将恶意软件配置为根据日期在DNS中生成域,这将允许他们使用新的已知根域通过DNS不断发送新请求。他们说,防御这种类型的配置“对使用静态方法甚至使用基本异常检测来检测和预防的组织来说将是一项挑战”。

缓解气隙网络上的DNS攻击

随着DNS攻击的发生比以往任何时候都频繁——根据最新的IDC全球DNS威胁报告,88%的组织报告在2022年发生了某种类型的DNS攻击 ——研究人员了解如何减轻和防御DNS滥用对组织来说很重要说。

一种方法是为气隙网络创建一个专用的DNS服务器,Gabay告诉DarkReading。然而,组织必须注意确保该服务器未链接到组织中可能存在的任何其他DNS服务器,因为这“最终会将其链接到Internet上的DNS服务器,”他说。

公司还应该利用IDS/IPS工具在网络中创建基于异常的检测,以监控和识别奇怪的 DNS 活动,Gabay说。他说,鉴于所有企业环境都是独一无二的,这种类型的解决方案对于一个组织来说也是独一无二的。

但是,有一些常见的例子说明应该监控哪些异常类型的DNS行为,包括:对恶意域的DNS请求;短时间内大量DNS请求;以及在奇怪的时间发出的DNS请求。Gabay补充说,组织还应该实施SNORT规则来监控请求的DNS记录的长度。

参考资源:

1.https://www.darkreading.com/attacks-breaches/report-air-gapped-networks-vulnerable-dns-attacks

2.https://pentera.io/blog/bypassing-air-gapped-networks-via-dns/?medium=article&campaign=pentera-labs-c2-over-dns

3.https://www.darkreading.com/vulnerabilities-threats/unpatched-dns-poisoning-bug-stumps-researchers