域名/子域名接管漏洞

域名/子域名接管漏洞

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,已经意识到了这个问题,并实施了域验证机制。

相关推荐
竹言笙熙5 小时前
代码审计初探
学习·web安全
AI服务老曹6 小时前
运用先进的智能算法和优化模型,进行科学合理调度的智慧园区开源了
运维·人工智能·安全·开源·音视频
网络安全King7 小时前
华为 网络安全 认证
安全·web安全
网络安全-老纪8 小时前
网络安全-js安全知识点与XSS常用payloads
javascript·安全·web安全
API_technology8 小时前
电商API安全防护:JWT令牌与XSS防御实战
前端·安全·xss
underatted8 小时前
2025tg最新免费社工库机器人
web安全·网络安全
Tipray20069 小时前
天 锐 蓝盾终端安全管理系统:办公U盘拷贝使用管控限制
安全
坚定信念,勇往无前12 小时前
Spring Boot 如何保证接口安全
spring boot·后端·安全
H轨迹H13 小时前
Vulnhun靶机-kioptix level 4-sql注入万能密码拿到权限ssh连接利用mysql-udf漏洞提权
网络安全·渗透测试·vulnhub·靶机·web漏洞·oscp
数造科技13 小时前
紧随“可信数据空间”政策风潮,数造科技正式加入开放数据空间联盟
大数据·人工智能·科技·安全·敏捷开发