信息收集系列(一)——域名收集
2022-9-15 16:43:19 Author: www.secpulse.com(查看原文) 阅读量:64 收藏

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


文章来源: https://www.secpulse.com/archives/187201.html
如有侵权请联系:admin#unsafe.sh