域名/子域名接管漏洞

域名/子域名接管漏洞

1.域接管

如果您发现某个域名被某个服务使用,但公司已经失去了对其的所有权,您可以尝试注册它(如果便宜的话),并通知该公司。如果该域名通过GET参数或Referer标头接收到一些敏感信息,比如会话cookie,那么这肯定是一个漏洞。

黑客的攻击描述:

  • 公司失去域名所有权:公司的某个域名被其他人注册,或者被公司忘记续费而被别人注册。
  • 服务仍在使用该域名:公司的一些服务或应用程序仍然在使用这个域名进行某些操作,比如API请求、静态资源加载等。
  • 注册该域名:你发现这个域名可以被注册,并且进行注册。
  • 接收到敏感信息:通过该域名的GET参数或Referer标头接收到一些敏感信息,比如会话cookie。

2.子域接管

子域接管概述

子域接管发生在一个组织的子域名指向了一个已不再控制的资源(例如,SaaS服务、云存储、第三方服务等),从而使得攻击者可以注册该资源并接管子域名。这种漏洞可能导致各种安全问题,包括数据泄漏、钓鱼攻击、会话劫持等。

黑客的攻击描述:

1、指向失效的资源:

2、攻击者注册资源:

  • 攻击者发现子域名sub.example.com指向了一个已不再使用的外部服务。
  • 攻击者在该外部服务上创建了同名资源(例如,在GitHub上创建了username.github.io或者在Heroku上创建了名为app的应用)。

3、子域名接管:

使用BBOT扫描可劫持的子域

BBOT的默认子域枚举中包含子域接管检查

bash 复制代码
bbot -t evilcorp.com -f subdomain-enum

通过DNS通配符生成子域接管

DNS通配符记录允许将未明确指定的子域指向一个通用地址。当使用DNS通配符时,任何请求的子域,如果没有明确指定不同的地址,将被解析为相同的信息。可以是一个A记录(IP地址)或CNAME记录(别名)。

假设我们有一个通配符DNS记录*.testing.com指向1.1.1.1。

如果管理员将通配符记录指向一个第三方服务(通过CNAME),比如一个GitHub Pages子域,例如sohomdatta1.github.io,情况会有所不同。

假设*.testing.com的CNAME记录指向sohomdatta1.github.io

当CNAME通配符指向第三方服务时,会存在一个严重的安全风险。攻击者可以创建自己的第三方页面并控制这些子域。

1、攻击者在GitHub Pages上创建了一个页面,例如attacker.github.io

2、由于*.testing.com指向sohomdatta1.github.io,攻击者可以利用这一点。于是攻击者注册了attacker.github.io,并将其配置为托管一个恶意页面。

3、攻击者可以创建一个任意子域,如something.testing.com并使其解析到attacker.github.io

4、因为*.testing.com的CNAME记录指向sohomdatta1.github.io,DNS会将something.testing.com解析到attacker.github.io

5、造成的后果

  • something.testing.com 现在指向攻击者控制的页面。任何用户访问something.testing.com都会看到攻击者创建的内容。
  • 攻击者可以利用这个子域进行钓鱼攻击、传播恶意软件等。

3.利用子域接管

子域接管本质上是互联网上特定域的DNS欺骗,允许攻击者为一个域设置A记录,导致浏览器显示来自攻击者服务器的内容。这种浏览器中的透明性使域容易受到钓鱼攻击。

1、使用SSL证书增加可信

如果攻击者通过生成SSL证书,将增加这些虚假域的合法性,使钓鱼攻击更具说服力。

2、电子邮件和子域接管

子域接管的另一个方面涉及电子邮件服务。攻击者可以操纵MX记录以从合法子域接收或发送电子邮件,增强钓鱼攻击的效果。

3、NS记录接管

如果攻击者控制了一个域的一个NS记录,他们可能会将部分流量引导到他们控制的服务器。如果攻击者为DNS记录设置了较高的TTL(生存时间),则这种风险会加剧,延长攻击的持续时间。

4、Cookie安全和浏览器透明性

Cookie通常用于管理会话和存储登录令牌,可以通过子域接管来利用。攻击者可以通过将用户重定向到一个受损的子域来收集会话cookie,危及用户数据和隐私。


4.子域名接管防御手段

缓解策略包括:

  1. 删除易受攻击的DNS记录 - 如果不再需要子域。
  2. 声明域名 - 在相应的云提供商注册资源或重新购买过期的域名。
  3. 定期监控漏洞 - 像aquatone这样的工具可以帮助识别易受攻击的域。组织还应审查其基础设施管理流程,确保DNS记录创建是资源创建的最后一步,也是资源销毁的第一步。

对于云提供商,验证域所有权对于防止子域接管至关重要。一些提供商,如GitLab,已经意识到了这个问题,并实施了域验证机制。

相关推荐
2501_9159090624 分钟前
开发日常中的抓包工具经验谈:Charles 抓包工具与其它选项对比
websocket·网络协议·tcp/ip·http·网络安全·https·udp
mooyuan天天24 分钟前
SQL注入报错“Illegal mix of collations for operation ‘UNION‘”解决办法
数据库·web安全·sql注入·dvwa靶场·sql报错
一口一个橘子25 分钟前
[ctfshow web入门] web77
前端·web安全·网络安全
Johny_Zhao36 分钟前
Vmware workstation安装部署微软SCCM服务系统
网络·人工智能·python·sql·网络安全·信息安全·微软·云计算·shell·系统运维·sccm
阿斯顿法国红酒快2 小时前
Windows系统安全加固
网络·windows·安全·网络安全·系统安全·ddos
一口一个橘子2 小时前
[ctfshow web入门] web118
前端·web安全·网络安全
kp000003 小时前
PHP弱类型安全漏洞解析与防范指南
android·开发语言·安全·web安全·php·漏洞
Hello.Reader5 小时前
EDR与XDR如何选择适合您的网络安全解决方案
安全·web安全
cooldream20095 小时前
信息安全的基石:深入理解五大核心安全服务
数据库·安全·系统架构师
观测云6 小时前
观测云产品更新 | 安全监测、事件中心、仪表板AI智能分析等
人工智能·安全