域名/子域名接管漏洞

域名/子域名接管漏洞

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

相关推荐
红肤色1 小时前
【网络安全基础】CentOS 7超详细安装教程(含镜像)
linux·运维·服务器·安全·网络安全·centos
Sean_summer1 小时前
木马学习记录
web安全
币之互联万物1 天前
AQUA爱克泳池设备入驻济南校园,以品质筑牢游泳教育安全防线
安全
Linux运维老纪1 天前
运维之 Centos7 防火墙(CentOS 7 Firewall for Operations and Maintenance)
linux·安全·centos·云计算·运维开发·火绒
360安全应急响应中心1 天前
基于 RAG 提升大模型安全运营效率
安全·aigc
EasyNVR1 天前
国标GB28181视频监控平台EasyCVR保驾护航休闲娱乐“九小场所”安全运营
网络·安全
Ai野生菌1 天前
工具介绍 | SafeLLMDeploy教程来了 保护本地LLM安全部署
网络·人工智能·安全·大模型·llm
DevSecOps选型指南1 天前
浅谈软件成分分析 (SCA) 在企业开发安全建设中的落地思路
安全·开源治理·软件成分分析·sca·软件供应链安全工具
cjchsh1 天前
春秋云境(CVE-2023-23752)
安全