EASM如何防止子域名劫持:从漏洞原理到防护实践

本文深入解析子域名劫持的攻击原理、三种常见劫持手法及其危害,并介绍如何通过外部攻击面管理(EASM)工具有效发现和防范此类威胁,帮助企业保护数字资产免受恶意攻击。

EASM如何防止子域名劫持

您上次检查指向未使用服务的子域名DNS配置是什么时候?根据众包白帽黑客Thomas Chauchefoin的说法,过期和被遗忘的子域名很容易成为攻击者窃取敏感数据和发起钓鱼活动的入口点,而使用正确的工具可以防范此类风险。

随着第三方服务和子域名数量的增加,攻击面不断扩大,潜在网络威胁的风险也随之升高,这已不是秘密。子域名劫持的基本前提是:指向特定服务(如GitHub页面、Heroku、Desk等)的主机当前未被使用,攻击者可以通过在第三方服务上设置账户,在易受攻击的子域名上提供内容。作为处理过此类问题的黑客和安全分析师,Chauchefoin揭示了这对企业可能带来的风险。

子域名劫持的发现

子域名劫持由白帽黑客Frans Rosén首创,并由Detectify在2014年的一篇博客文章中推广。多年过去,这项技术不断发展,但它仍然是一个被忽视且广泛存在的漏洞。甚至声称优先考虑安全的公司,如索尼、Slack、Snapchat和Uber,都曾成为子域名劫持的受害者。

此外,微软也难以管理其数千个子域名,其中许多被劫持并用于针对用户、员工或展示垃圾内容。其子域名容易因各自DNS条目中的基本配置错误而受到攻击。Chauchefoin补充说,这些问题要么未被修复,要么未被发现,因为子域名劫持可能不在公司的漏洞赏金计划范围内。他说,主要原因是大多数公司的DNS卫生状况不佳,这为各种滥用行为打开了大门,进而可能成为针对组织及其利益相关者的更大、更危险攻击活动的一部分。

子域名——进入组织内部运作的网关

子域名不仅限于组织直接控制的攻击面(如内部域和自建应用),还包括外部可攻击点。子域名劫持可能特别成问题,因为子域名并不总是严密保护的资产,这意味着它们可能在一段时间内未被检测到。

如果不对漏洞和配置错误进行监控,您可能会面临 unaware 公司子域名发生什么情况的风险,导致恶意行为者取得控制权。一旦攻击者获得子域名的名称服务器或注册商账户凭据,他们可以找到另一个有权修改委派记录的实体,使子域名指向自己的名称服务器而非原始服务器。此时恢复为时已晚。

这些漏洞最终导致企业数据丢失、品牌声誉受损和客户数据被盗。

许多公司的子域名指向缺乏适当安全实践的第三方托管应用。不要成为其中之一。

危险:悬空CNAME记录

网络犯罪分子有多种方式可以利用未监控的子域名窃取信息或篡改网站。恶意黑客发现更容易接管或利用企业生态系统中第三方资产的漏洞进行攻击,如恶意代码注入、DNS劫持或滥用企业品牌资产。在许多情况下,密码管理器会自动填写属于主应用程序的子域名上的登录表单。正如Chauchefoin回忆:“我仍然记得密码管理器LastPass甚至会在子域名上自动填充密码,这在针对性攻击的情况下可能很危险。”

子域名劫持攻击是一种攻击类型,攻击者成功夺取被劫持DNS中子域名的控制权。当DNS记录指向不可用的资源时,记录本身应从DNS区域中删除。如果未被删除,它就是“悬空DNS”记录,并为子域名劫持创造了可能性。攻击者可以利用该子域名执行诸如设置钓鱼表单等攻击。

黑客如何接管子域名

最常见的情况是悬空记录指向过期的在线资产。通过在此平台上创建账户并声明此子域名,攻击者可以在其上部署任意内容。这可能帮助他们执行进一步攻击,例如影响指向刚被接管资源的主域名。Chauchefoin说:“指向IP范围(如EC2或OVH)也很常见,攻击者可以尝试租用多台服务器,如果运气好,可以获得与之前使用的相同IP。”

详细说明过程时,Chauchefoin宣称子域名劫持相当容易完成。它只需在平台上创建账户并声明子域名。

假设domain.com——您拥有的网站——是目标,并有一个子域名helpdesk.domain.com链接到支持票务服务。在枚举属于domain.com的所有子域名时,偶然发现helpdesk.domain.com的攻击者可以通过查看子域名的DNS记录找出它属于哪里,如果被废弃,可能接管它。如果攻击者取得helpdesk.domain.com的所有权,他们可以构建一个令人信服的官方支持网站甚至domain.com的克隆版。然后,通过使用鱼叉式网络钓鱼技术或等待受害者通过搜索引擎落入陷阱,他们可以窃取敏感信息。用户几乎不可能知道他们刚刚到达一个虚假的、攻击者控制的网站,因为域名是合法的。

攻击者然后可以推送恶意软件,在此子域名下托管静态资源或暴露服务,从而建立代理,使helpdesk看起来像domain.com,同时在任何人访问helpdesk.domain.com时拦截流量。

劫持方法 #1

Chauchefoin指出,当试图接管子域名时,黑客最常见的工作流程是从广泛的“侦察”开始,以发现现有的DNS记录。“在侦察阶段之后,黑客将尝试查找DNS记录中的任何异常,并探测暴露的服务以寻找表明它是悬空域的错误,”他说。猎人通常依赖原本不用于此目的的服务。例如,证书透明度数据库——监控SSL证书的开放框架——包含数百万条目,是一个金矿,他补充道。在许多情况下,攻击者可能能够获取并为易受攻击的子域名安装有效的TLS证书,通过HTTPS提供他们的钓鱼网站。其他主动技术涉及基于最常见值列表、命名约定和排列暴力破解子域名。这是黑客遍历单词列表并根据响应确定主机是否有效的地方。

劫持方法 #2

另一种方法是破坏目标的DNS服务器甚至注册商,以更改与目标域关联的DNS记录。虽然这种方法不太常见,但Detectify联合创始人兼安全研究员Fredrik Nordberg Almroth曾用.cd国家代码顶级域名(ccTLD)这样做,他在刚果民主共和国顶级域名的过期名称服务器即将进入删除状态之前声称了它。

劫持方法 #3

黑客还可以执行二阶子域名劫持,其中不一定属于目标的易受攻击子域名用于在目标网站上提供内容。这意味着资源通过例如JavaScript导入到目标页面,黑客可以声明从中导入资源的子域名。更多内容,即将跟进。

如果忽视风险,可能失败的三种方式

攻击者可以利用陈旧的DNS记录拥有AWS S3存储桶或指向您的子域名,您的组织不再使用它。因此,它可以用于针对您的用户,通过XSS和托管在您公司域上的钓鱼页面泄露他们的账户详细信息。在许多情况下,如果允许在子域名上,攻击者可以轻松通过XSS窃取受害用户的cookie和凭据。

除了向用户提供恶意内容外,攻击者还可能拦截内部电子邮件,发起点击劫持攻击,通过滥用OAuth白名单劫持用户会话,并滥用跨源资源共享(CORS)从经过身份验证的用户收集敏感信息。

看似子域名劫持可能危险,Chauchefoin说子域名劫持本身可能构成相对较小的威胁,并且通常是更大图景或攻击的一部分。然而,当与其他看似较小的安全配置错误结合时,它可能允许攻击者造成更大的损害。

……大型企业面临更大风险,因为它们可能有数千个子域名

为什么蓝队需要关心

子域名劫持的影响取决于易受攻击子域名指向的第三方服务的性质。跟踪所有子域名的需求不仅限于过渡到云的公司。

Chauchefoin说,公司高管忘记创建的子域名越来越常见。因此,任何蓝队能够识别外部资产上的任何更改或漏洞至关重要。“面向公众服务的最新地图有助于在移除遗留服务以减少整体攻击面时做出准确决策,”他继续说道。

当然,子域名劫持对任何公司 regardless of the industry 都是风险,然而,Chauchefoin认为大型企业面临更大风险,因为它们可能有数千个子域名。例如,不久前The Register报道,雪佛龙、3M、华纳兄弟、霍尼韦尔和许多其他大型组织的子域名被黑客劫持,将访问者重定向到包含色情、恶意软件和在线赌博的网站。

跟踪您的子域名

许多公司的子域名指向缺乏适当安全实践的第三方托管应用。不要成为其中之一。当确定配置错误的子域名的合理攻击场景时——尤其是在攻击者控制它之后——理解子域名如何与基本名称和目标的核心服务交互,以及这些子域名如何在您基础设施内的应用中使用至关重要。

检测子域名劫持正在被主动利用是困难的;您可能意识到时为时已晚。一旦恶意行为者声称您的子域名,您可能无法及时知道,因为它不会出现在扫描中。攻击者甚至可能在页面上放一个猫 meme,到那时,损害已经造成。还记得黑客‘Pro_Mast3r’由于DNS配置错误问题接管了唐纳德·特朗普的筹款网站吗?黑客用一张戴 fedora 的男人的图片替换了 secure2.donaldjtrump.com,并附有消息:

“Hacked By Pro_Mast3r ~ Attacker Gov’ Nothing Is Impossible Peace From Iraq.”

你能做什么?

鉴于解决过期或遗忘子域名风险的紧迫性,引入外部攻击面监控可能有益。它识别配置错误或未经授权的子域名,因此您可以在子域名劫持发生之前找到并修复它们。外部子域名监控可以帮助您进行子域名劫持风险分析,并通过查看所有过期子域名绘制外部攻击面图。Chauchefoin说:“展望未来,像Detectify这样的工具将成为任何蓝队基本工具包的一部分,因为它们以非自动化手段执行成本的一小部分提供了可观的价值。”

Detectify的作用

Chauchefoin解释说:“很难跟上新公共漏洞的不断涌现并及时更新重要服务。确保服务连续性是一个非常昂贵的过程,并且并非所有漏洞都具有相同的关键级别。”因此,像Detectify这样的工具可以通过通知团队外围存在实际可利用漏洞来帮助优先处理此任务。事实上,Detectify拥有600多种独特技术来发现子域名劫持。识别子域名劫持是棘手的工作,因为它们依赖基于签名的测试,由于签名过时,容易产生误报。

一个人不可能保持与新漏洞和可能配置错误的更新。在此过程中整合黑客团队允许公司获得几乎每个新公共研究甚至零日漏洞的可操作概念证明。Detectify利用由400多名精心挑选的白帽黑客组成的众包社区,监控您的子域名清单,并在资产易受潜在劫持时立即发送警报。其漏洞赏金猎人社区不断监控目标的变化,并持续关注他们可以找到的每一个子域名。

查看Detectify将在您的在线攻击面中发现什么。开始2周免费试用或与我们的专家交谈。

如果您已经是Detectify客户,请不要错过“最新动态”页面以获取最新产品更新、改进和新安全测试。

去黑客自己!

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