信息收集系列(一)——域名收集

2022-09-15 7,579
渗透测试的第一步是收集目标信息,如果只是知道目标的名称,那么我们可以先尽可能多地收集目标的资产,域名是很重要的资产,一个目标暴露在互联网的资产大多以域名的方式访问。本文章介绍一些收集域名的方式,可能不是很全面,如果有更好的方式欢迎交流。

1. 查找目标主域名

第一步是确定目标主域名,我们可以通过搜索引擎,如百度、谷歌(推荐),直接搜索目标的名称,一般可以直接得到目标的官网,这样我们就可以获取目标主域名了,有了主域名,我们才可以开启下一步的工作。以百度为例,搜索后可以确定百度的官网地址为 https://www.baidu.com/ ,主域名为 baidu.com
 


2. 查找目标所有关联域名

一个目标可能申请有多个顶级域名,例如百度的顶级域名不止 baidu.com, 还有 hao123.com 等,只有尽可能找到所有关联域名,才能把资产收集得更全面。

有很多方式可以找到关联的域名,下面进行一一介绍:

2.1 备案查询

首先,我们可以拿一个主域名进行备案查询,这样我们可以获得这个域名所属的公司名称,备案查询的网站很多,可以用下面的网址
https://beian.miit.gov.cn/#/Integrated/index
https://icp.chinaz.com/
https://www.beian.gov.cn/portal/registerSystemInfo

首先通过主域名查备案,得到域名主办单位为“北京百度网讯科技有限公司”

接着搜索主办单位名称 “北京百度网讯科技有限公司”,可以得到这个单位注册的所有域名



2.2 企业关系查询

目标企业可能会有很多子公司,特别是全资子公司,子公司的名称和母公司的名称不一样,注册的域名也不一样,子公司有时是一个很好的突破口。可以在天眼查、爱企查、企查查等平台进行关系查询。
https://www.tianyancha.com/
https://aiqicha.baidu.com/
https://www.qcc.com/

可以通过查看股权穿透图来找子公司,然后查看子公司的域名,不断重复,直到获取所有子公司的域名



2.3 whois 反查关联域名

可以通过 whois 的信息进行反查域名,如同一公司的域名可能通过同一个邮箱进行注册
http://whois.chinaz.com/


2.4 官网等方式查关联域名

在目标企业官网,有时会列出子公司的介绍、官网链接等,如中国电信官网中的公司架构图:
http://www.chinatelecom.com.cn/corp/zzjgcs/



3. 收集子域名

在获取目标公司所有关联域名后,我们可以开始收集它们的子域名,收集子域名的方式有:

3.1 通过利用证书透明度收集子域名

证书透明度是一个开放体系,专门记录、审核并监控在互联网公开受信任的 TLS 证书。由于很多企业的域名都用了 https 协议,TLS证书里面一般包含域名信息,公司组织名称等,子域名中的证书信息一般情况也是一样的,可以通过证书透明度查询所有子域名

常用的证书透明度查询网站有:
https://crt.sh/
https://search.censys.io/
https://sslmate.com/certspotter/api/
https://developers.facebook.com/tools/ct




3.2 通过在线子域名查询网站收集子域名

有很多在线的子域名查询网站可以使用,输入域名即可获得子域名,下面列出一些网站
https://securitytrails.com/
https://site.ip138.com/
https://tool.chinaz.com/subdomain/
http://www.dnsscan.cn/



3.3 通过威胁情报平台收集子域名

可以通过一些威胁情报平台来收集子域名,常用的网站如下:
https://x.threatbook.com/
https://www.virustotal.com/gui/home/search
https://otx.alienvault.com/
https://community.riskiq.com/
https://www.threatminer.org/



3.4 通过搜索引擎收集子域名

可以直接通过搜索引擎来收集子域名,如google hook
如在谷歌上用语法 site:baidu.com


3.5 通过爬取网站获取子域名

可以通过爬虫爬取域名上所有网站页面上的链接,以及网站上的robots.txt文件、crossdomain.xml文件、sitemap文件等,从中筛选出网站的子域名。

3.6 通过查询dns记录收集子域

可以通过nslookup等工具查询域名的 srv、ns、mx、txt记录等信息收集域名,这些方式收集的域名有限。



3.7 通过域传送漏洞

域传送漏洞可以直接获取所有域名,但现在一般不存在此漏洞
dig @ns3.baidu.com bai.com axfr

3.7 通过工具自动化收集子域名

上面说的收集子域名的技巧,已经有一些工具自动化实现了,可以直接使用工具完成域名的自动化收集,这些工具会通过多个API获取域名、通过字典枚举域名,我比较喜欢使用 subfinder,因为收集速度比较快,如果要收集全一点,可以所有工具都用,再把收集到的域名汇总再去重 , 常用的工具有:
subfinder:
https://github.com/projectdiscovery/subfinder
OneForAll:
https://github.com/shmilylty/OneForAll
layer子域名挖掘机
https://github.com/euphrat1ca/LayerDomainFinder


3. 总结

以上介绍了信息收集中收集域名的一些方式,大概流程是先收集公司所有的关联顶级域名,然后再对所有顶级域名进行子域名收集,其中最好的子域名收集方式是通过工具自动化收集子域名,虽然在收集域名上有不少自动化工具,但整体流程其实还没很好的工具覆盖到,这时就要通过自己开发工具来改善了。总之,全面地收集目标的域名,可以帮助我们扩大目标的受攻击面。

本文作者:timeshatter

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/187201.html

Tags:
评论  (0)
快来写下你的想法吧!

timeshatter

文章数:13 积分: 130

安全问答社区

安全问答社区

脉搏官方公众号

脉搏公众号