DNS 沉坑
大多数公司的安全专家花了好几天时间试图弄清楚黑客如何绕过防火墙。如今,网络黑客在利用专家级技能入侵组织方面变得更加聪明。作为安全分析师,我们的职责是通过强大的基础设施来保护组织,抵御攻击。根据去年的攻击报告,DNS攻击在过去一年中出现在所有十二个月的组织中。尽管DNS攻击在攻击调查中名列前茅,但它证明了一种良好的防御服务——“DNS Sinkhole”。
什么是DNS?
DNS就像“互联网引擎盖下的仓鼠”,驱动着互联网。DNS的全称是“域名系统”。作为人类,我们无法记住所有朋友、亲戚的电话号码。在过去,我们会使用电话簿来保存这些号码。随着技术的发展,我们现在将所有电话号码保存在手机的电话簿中。
同样,我们无法记住每个主机名的IP地址来访问网站。为了保存这些IP地址,1985年引入了DNS概念。
DNS Sinkhole如何工作?
图表说明了当攻击者入侵用户并且受感染的用户试图联系僵尸网络时发生的Sinkhole操作。
此外,DNS Sinkhole是一种通过重定向恶意域名的DNS查询来防止访问恶意网站的安全技术。它通过将已知的恶意域名解析为一个不可达的IP地址,从而阻止用户访问这些网站,并有效地防止恶意软件传播和网络钓鱼攻击123。
DNS Sinkhole 的工作
DNS Sinkhole 流的说明:
- 在组织中,用户正在查看具有更多广告、弹出窗口、CDN 内容等的新闻网站。
- 突然出现一个弹出窗口,以低成本购买沙发。用户急切地单击了弹出窗口。
- 在这里,弹出窗口是由攻击者创建的,用于通过有效负载注入恶意软件,以启动与受感染服务器(即僵尸网络)的 c2c 通信。
- 有效负载已安装在计算机上,并且通过域“abc.com”的 c2c 通信从浏览器启动。
- 查询 “abc.com” 将向组织的 DNS 服务器移动。
- 在 DNS 服务器中,域“abc.com”的实际 IP 将被替换为假 IP,即Sinkhole IP。Sinkhole IP 被分配给一个名为 Sinkhole 服务器的 DNS 服务器,所有 c2c 域、DGA 域、最近的 IOC 都将每天更新。由于通信被重定向到分配给 Sinkhole 服务器的假 IP。
- 在这个阶段,DNS Sinkhole 服务器将充当防御者,停止 c2c 通信。
Sinkhole 类别:
缺点:
尽管 Sinkhole 是一个很好的防御系统并且易于执行,但随之而来的是更多的风险和问题。
- Sinkhole 可以防止与黑洞的恶意连接,但 Sinkhole 不会阻止它执行并传播到其他机器。它无法减轻攻击,并且在 Sinkhole 的帮助下,无法从受感染的机器中删除恶意软件。
- 在将 IOC 列表插入 Sinkhole 服务器之前,必须提前分析 IOC。因为 IOC 将从开源收集,并且可能包含误报。
- 有时,非恶意 IOC 可能会被标记为恶意,具体取决于其行为。这可能会阻止合法连接,从而在组织中造成大问题。
- 如果 Sinkhole 服务器在组织内维护,则应隔离服务器或在 DMZ 中。这样攻击者可能就不知道缓解措施。否则,攻击者可能会尝试执行反向 DNS 来更改服务器中的 IP。
- 在维护外部 Sinkhole 服务时,IP、用户代理详细信息等组织详细信息将记录在第三方服务器中,这就像将组织的所有详细信息提供给不信任的服务器一样。这在大多数司法管辖区被视为犯罪行为。
- 如果向外部 Sinkhole 服务器发起 c2c 通信,则大多数组织网络都不知道它。因此,一些 Sinkhole 提供商会尝试通过挖掘连接发起的 IP 来通知受感染的机器用户。用户看到这些奇怪的活动会感到恐慌。
DNS Sinkholes 场景
DNS Sinkholes 在几个案例中被用来缓解不同的恶意软件活动。它可以作为消除恶意软件感染媒介传播的主要工具,也可以用来断开 C&C 连接。
使用 DNS 沉坑的情况之一是臭名昭著的 CryptoLocker 恶意软件在野外被感染时。CryptoLocker 恶意软件是一种勒索软件,它通过使用随机生成的密钥加密用户的文件来工作。然后它会将解密密钥发送到 C&C 服务器,通常情况下,具有固定 IP 或名称的 C&C 服务器很快就会被当局关闭。为了解决这个问题,CryptoLocker 以相当高的比率使用 C&C 寄存器的随机域名。域名是使用恶意软件知道的伪随机算法生成的。当CryptoLocker在受害者的计算机上执行时,它会连接到其中一个域名以联系C&C。
在这种情况下,恶意软件知道域生成算法,并且通过对代码进行逆向工程,可以提前预测域名。卡巴斯基从这些域名中“沉没”了三个域名,为期三天。使用他们的三个域名,大约拯救了 1/1000 的 CryptoLocker 受害者,并且他们能够从世界各地收集感染的统计数据。
安全分析师的努力:
作为安全分析师,我们应该意识到这些缺点并需要根据它们采取行动。安全分析师需要注意以下几点:
- 对组织的基础设施和网络组件有很好的了解。
- 集成更多安全工具,以根据声誉快速捕获不需要的恶意通信,以不信任网站。
- 在 SEIM 中创建规则,以便在一分钟内启动更多查询或针对 DGA 域启动更多查询时收到通知。每天收集 IOC 并将其上传到查找列表,并设计一个规则来捕获是否向查找列表中保存的 IOC 发起任何通信。
- 在 AWS 等安全设备中启用规则:用于 Sinkhole IP 的 GuardDuty。
- 尝试找出通信的确切来源,以防止其传播到其他计算机,并检查它是否已经打开。
结论:
Sinkhole 技术已经存在了一段时间,已被用于防止与僵尸网络的恶意连接。该技术既有优点也有缺点。这一切都掌握在安全分析师的手中,以积极地绘制它。因此,我们需要了解它背后的根源,并以更好的方式将其转化为有益的。
其它相关课程
rust语言全栈开发视频教程-第一季(2025最新)
详细目录
mac/ios安全视频
QT开发底层原理与安全逆向视频教程
linux文件系统存储与文件过滤安全开发视频教程(2024最新)
linux高级usb安全开发与源码分析视频教程
linux程序设计与安全开发
- windows网络安全防火墙与虚拟网卡(更新完成)
- windows文件过滤(更新完成)
- USB过滤(更新完成)
- 游戏安全(更新中)
- ios逆向
- windbg
- 还有很多免费教程(限学员)
- windows恶意软件开发与对抗视频教程
公众号:安全狗的自我修养
bilibili:haidragonx