内容预览 ≧∀≦ゞ
信息收集系列(二):ASN分析及域名收集
前言
在上一篇文章《信息收集系列(一):基础概念与工具配置》中,我们介绍了信息收集的基本概念,并详细讲解了如何安装 ProjectDiscovery 系列工具,为实战中的信息收集打下基础。本文将进入信息收集的实战部分,主要涵盖 ASN 分析、证书分析以及关联域名收集等核心内容。通过这些方法,我们希望能帮助渗透测试人员更全面地识别目标资产,扩大攻击面并提升信息收集的效率。
一、ASN 分析
ASN(Autonomous System Number)是网络的唯一标识符,通常与 IP 地址段相关联。在渗透测试中,分析目标的 ASN 信息能够帮助我们获取目标的网段、IP 范围及关联资源,从而为进一步扫描和攻击面扩展提供有价值的信息。
1. 获取 ASN 码
你可以通过一些 BGP 查询网站(如 bgp.he.net)来查找 ASN。有两种常见的方法来获取网段信息:
-
方法 1:从证书中提取组织名,并直接查询该组织的 IP 段。
-
方法 2:从证书中获取组织名,然后通过 ASN 查找 IP 范围。
也可以直接进行关键词检索,如搜索公司名称或域名。
例如,查询 Tesla.com,其组织名为 TESLA, INC.,你可以通过组织名找到其对应的 ASN 和 IP 范围。
注意:只有大公司才会有组织名,也只有大公司会向互联网注册机构申请ASN,因此通过ASN编号查出来的IP一定属于这个公司。
2. 使用 ASNMap 获取 IP 范围
获取 ASN 后,可以使用 asnmap
工具来提取与其相关的 IP 范围。命令示例如下:
cat asn.txt | asnmap | tee ipscope.txt
3. 将 IP 范围转化为 IP 列表
接下来,使用 mapcidr
工具将获取的 IP 范围转换为具体的 IP 列表,便于后续使用:
cat ipscope.txt | mapcidr | tee ips.txt
CIDR(无类别域间路由,Classless Inter-Domain Routing)通俗来说,就是一种简洁表示IP地址范围的方法,格式为
IP/掩码
。通过这种表示法,可以轻松定义一个连续的IP地址段。
4. 资产存活检测
在获得 ipscope 或 ips 文件后,首先需要对 IP 资产进行探活。 最快捷的方法是使用 ICMP 协议(即 Ping)进行扫描。这里推荐使用 fscan 工具(虽然原为内网工具,但在此场景中也非常实用)。示例命令如下:
fscan -hf targets.txt -nopoc
唯一的缺点是如果某些 IP 禁用了 Ping,那么我们就无法探测到它们。但对于非全面性的资产收集,这种方式已足够。
通过以上步骤,你可以有效地提取目标的网络范围,为后续的扫描和攻击面扩展打下坚实基础。
二、关联域名收集
1. 顶级域(TLD)收集
TLD(Top-Level Domain) 是域名的顶级部分,例如在 www.starbucks.com
中,.com
就是 TLD。对于业务遍布全球的厂商,了解其使用的所有 TLD 非常有价值,因为不同地区的业务可能存在差异,并带来不同的资产和攻击面。
测试方法
你可以通过对原始域名进行 TLD 爆破来发现更多的目标域名,进而扩大测试范围并发掘更多潜在的资产。首先,准备一个足够大的 TLD 字典文件,如 SecLists 中的 tlds.txt
,路径通常为 SecLists-master/Discovery/DNS/tlds.txt
。
然后使用像 ffuf 这样的 fuzz 工具进行 TLD 爆破。示例命令如下:
ffuf -u www.example.FUZZ -w /path/to/tlds.txt -o tlds_output.txt
-u www.example.FUZZ
:FUZZ
是占位符,工具会用字典中的 TLD 替换它进行爆破。-w /path/to/tlds.txt
:指定 TLD 字典文件的路径。-o tlds_output.txt
:将结果输出到tlds_output.txt
文件中。
通过这种方式,你可以快速收集目标在多个 TLD 下的域名,进一步扩大渗透测试的攻击面。
2. 根域名(Apex域名)收集
目标公司可能在多个 TLD 下注册不同的域名,这些域名通常属于不同的业务部门或子公司。收集目标公司的所有根域名有助于你全面了解其在互联网上的资产。
常用方法
-
备案查询
通过查询主域名的备案信息,可以获取域名的注册信息,从而发现更多关联域名。常用的备案查询网站有:- 工信部备案查询:https://beian.miit.gov.cn/#/Integrated/index
- 站长之家备案查询:https://icp.chinaz.com/
- 公安部备案查询:https://www.beian.gov.cn/portal/registerSystemInfo
例如,通过查询
baidu.com
的备案信息,我们可以发现该域名的主办单位是 北京百度网讯科技有限公司,并可进一步发现该公司注册的其他域名。 -
企业关系查询
通过平台如 天眼查、爱企查、企查查 等查询目标公司及其子公司,可以揭示更多的关联域名。常用的平台包括:- 天眼查:https://www.tianyancha.com/
- 爱企查:https://aiqicha.baidu.com/
- 企查查:https://www.qcc.com/
通过查询股权结构及关联公司,可以挖掘更多相关域名。
-
WHOIS 反查
使用 WHOIS 查询反向查找关联域名。通过查询注册信息(如组织名、注册人邮箱等),可以发现与目标相关的其他域名。常用的 WHOIS 查询工具有:- 站长之家:http://whois.chinaz.com
特别提醒:某个域名属于目标厂商,并不意味着该域名上的所有资产都属于该厂商。在某些情况下,域名可能由第三方公司进行解析或托管。例如,某些企业可能将 DNS 解析委托给其他服务提供商,或将网站托管在外部公司。这种情况下,尽管域名与目标厂商相关联,但实际控制或资产可能并不完全归该厂商所有。需要特别留意这些特殊情况,以避免错误的资产归属和漏洞利用。
-
官网等方式查找
在目标企业官网,有时会列出子公司的介绍、官网链接等,如中国电信官网中的公司架构图:
http://www.chinatelecom.com.cn/corp/zzjgcs/
三、子域名收集
在获取目标公司所有关联域名后,我们可以开始收集它们的子域名。以下是几种常见的子域名收集方法:
3.1 利用证书透明度收集子域名
证书透明度(CT)是一个开放体系,专门记录和审核受信任的 TLS 证书。由于很多企业的域名都使用 HTTPS 协议,TLS 证书中通常包含域名信息,因此你可以通过证书透明度查询所有的子域名。常用的证书透明度查询网站有:
- crt.sh:https://crt.sh/
- Censys:https://search.censys.io/
- CertSpotter:https://sslmate.com/certspotter/api/
- Facebook CT工具:https://developers.facebook.com/tools/ct
3.2 使用在线子域名查询工具
有许多在线工具可以帮助你快速收集子域名。输入目标域名后,工具会列出相关的子域名。常用的工具包括:
- SecurityTrails:https://securitytrails.com/
- IP138:https://site.ip138.com/
- 站长工具(Chinaz):https://tool.chinaz.com/subdomain/
- DNSscan:http://www.dnsscan.cn/
3.3 通过威胁情报平台收集子域名
威胁情报平台提供了丰富的子域名数据,可以通过它们收集目标的子域名。常见的威胁情报平台有:
- Threatbook:https://x.threatbook.com/
- VirusTotal:https://www.virustotal.com/
- AlienVault:https://otx.alienvault.com/
- ThreatMiner:https://www.threatminer.org/
3.4 通过搜索引擎收集子域名
你可以使用搜索引擎来收集子域名。例如,在 Google 中可以使用 site:baidu.com
语法来查找子域名。
3.5 通过爬虫爬取网站收集子域名
通过爬虫爬取目标网站的页面,包括 robots.txt
、crossdomain.xml
、sitemap.xml
文件等,筛选出子域名信息。
3.6 通过 DNS 查询收集子域
可以通过工具如 nslookup
查询目标域名的 SRV、NS、MX、TXT 等记录,从中提取子域名。
这里推荐一款在线工具,支持对目标域名的子域信息进行广泛搜索和可视化展示,直观地查看子域拓扑结构。
- https://dnsdumpster.com/
3.7 通过域传送漏洞收集子域
域传送(Zone Transfer)漏洞曾是DNS配置中的一种常见漏洞,它允许未经授权的用户获取完整的DNS区域数据,进而暴露所有域和子域的信息。虽然现在大多数DNS服务器对域传送请求做了严格限制,但少数配置不当的DNS服务器仍可能存在该漏洞。
检查命令:
dig @ns3.baidu.com baidu.com axfr
以上命令的含义是尝试对 baidu.com 执行区域传送(axfr),指定的DNS服务器为 ns3.baidu.com。
如果DNS服务器配置不当且域传送未被限制,执行该命令后会返回包含所有域和子域的完整记录。
3.8 自动化工具收集子域名
很多工具已实现了子域名收集的自动化,可以通过多个 API 快速获取子域名,常用工具有:
- subfinder:快速的子域名收集工具,支持多个数据源。
- OneForAll:一个功能丰富的子域名收集工具,支持多种数据源和字典爆破。
- 子域名挖掘机:集成多种收集子域名的方式。
结语
信息收集是渗透测试的基础,通过 ASN 分析和关联域名收集,你可以更全面地识别目标资产并扩大攻击面。本文介绍的多种方法和工具可以帮助渗透测试人员更高效地进行信息收集,从而为后续的渗透测试活动提供强有力的支持。
最后,再次感谢您阅读本篇文章,如果您对文中内容有任何疑问或建议,欢迎在评论区与我交流!您的点赞和分享将是我继续创作的动力。