在开始做渗透的时候,也许你经常会听到别人说信息收集是渗透是否成功的关键。信息收集收集真的有这样重要吗?这是当然的。
在甲方呆了一段时间,发现对于信息收集的方法也忘得差不多了,这次在做个总结。
信息收集就是收集一切与目标有关的信息,也许一些在你起来不起眼的信息,就是你胜利的关键。一般我们可以以下几个方面进行收集:
公司信息:分支机构,投资信息
域名信息:公司备案域名,子域名
人员信息:员工姓名,邮箱
这次先来看看如何去收集公司的域名信息。
在国内,域名使用以前是需要备案的,因此可以通过收集备案域名来了解公司都有哪些顶级域名。公司的备案域名可以通过一些网站来进行查询,如下面:
https://micp.chinaz.com/Handle/AjaxHandler.ashx?action=GetBeiansl&query={domain}&type=host 站长工具 https://aiqicha.baidu.com/detail/icpinfoajax?p=1&size=20&pid={公司pid} 爱企查上的备案信息
备案域名收集以后,可以去搜索都有哪些子域名。子域名的收集其实分为被动方式收集以及主动收集。
被动收集:通过搜索引擎或者http证书等方式进行收集,与目标没有交互,不会留下记录。
主动收集:通过爆破,扫描等方式,与目标有交互,可能在日志中查看到相关记录。
1)DNS域传送漏洞
如果DNS存在域传送漏洞,可以使用这种方式,这也是收集最全以及最省力的方式,这种漏洞目前已经不多见了。
nslookup -type=ns xxxx.com (查询该域名的DNS) nslookup server dns服务 ls domain (这种方式可以查询到是否存在DNS域传送漏洞)
2)爆破子域名
爆破的原理其实是通过枚举的方式来实现的,通过不断的拼接字典中的内容去枚举域名的A记录,但是该方法一般需要解决泛解析问题。比如开源工具oneforall会首先访问一个随机的并不存在的域,通过返回结果判断是否存在泛解析,确定存在泛解析以后,程序会开始不断的循环产生随机域名,去向服务器查询,将每次查询到的IP和TTL记录下来,直到大部分的IP地址出现次数都大于两次,则IP黑名单的收集结束,在得到了IP黑名单以后,oneforall接下来会将自己的字典中的每一项和要指定查询的域名进行拼接。在爆破过程中根据IP黑名单进行过滤。但这种宽泛的过滤容易导致漏报,所以oneforall将 TTL 也作为黑名单规则的一部分,评判的依据是:在权威 DNS 中,泛解析记录的 TTL 肯定是相同的,如果子域名记录相同,但 TTL 不同,那这条记录可以说肯定不是泛解析记录。
这个也是很常用的方法,对于字典的要求比较高。很多工具都实现了这种方法。如subDomainsBrute
3)站点配置文件
通过扫描站点的一些配置文件来看是否存在其它域名信息。此类文件包括跨域策略文件crossdomain.xml, sitemap文件。
1. crossdomain.xml文件直接访问crossdomain.xml路径 2. sitemap文件直接访问sitemap.xml、sitemap.txt、sitemap.html、sitemapindex.xml、sitemapindex.xml路径
4)从网站中收集
网站的网页,js等可能存在一些信息,可以通过这些去收集域名。可以用下面的工具来进行收集:
jsfinder:https://gitee.com/kn1fes/JSFinder Packer-Fuzzer: https://github.com/rtcatc/Packer-Fuzzer SecretFinder:https://gitee.com/mucn/SecretFinder
1)通过第三方搜索引擎(包括浏览器以及一些网络空间搜索引擎)
搜索引擎一般会去爬取暴露在公网上的域名,可以在搜索引擎上去搜索相关的子域名信息。如baidu,bing,google。
百度(https://www.baidu.com/s):intitle=公司名称;site:xxx.com Google(https://www.google.com/):intitle=公司名称;site:xxx.com FOFA(https://fofa.so/) title="公司名称" ; domain="xxx.cn" 钟馗之眼(https://www.zoomeye.org/) site=域名即可 ;hostname:xxx.com shodan(https://www.shodan.io/):hostname:"xxx.com" 360测绘空间(https://quake.360.cn/) :domain:"xxx.cn"
2)线上网站
一些线上网站有子域名的功能,可以通过这些网站去查询子域名。
站长之家:https://tool.chinaz.com/subdomain?domain= dnsdumpster:https://dnsdumpster.com/ 查询网:https://site.ip138.com/ 爱站:http://dns.aizhan.com
3)威胁情报平台
威胁情报平台一般也都会收集各个网站的子域名,可以通过查询这些平台去收集子域名。常见的威胁情报平台如下:
微步查询:https://x.threatbook.com/ alienvault查询:https://otx.alienvault.com/ riskiq查询:https://community.riskiq.com/ threatminer查询:https://www.threatminer.org/ pentest-tools查询:https://pentest-tools.com/ 奇安信威胁情报中心:https://ti.qianxin.com/ 启明星辰威胁情报中心:https://www.venuseye.com.cn/
4)第三方DNS服务
第三方DNS服务运行DNS复制功能,通过存储用户访问URL时执行的DNS解析来构建数据库。如VirusTotal。常用的第三方DNS服务如下:
https://decoder.link/ https://searchdns.netcraft.com/ https://dnsdumpster.com/ https://pentest-tools.com/information-gathering/find-subdomains-of-domain https://www.pkey.in/tools-i/search-subdomains https://hackertarget.com/find-dns-host-records/ https://findsubdomains.com/ https://spyse.com/
5)github搜索
github上可能保存有目标公司的部分信息,因此可以通过github进行搜索
in:name xxx #仓库标题中含有关键字xxx in:descripton xxx.com #仓库描述搜索含有关键字xxx in:readme xxx #Readme文件搜素含有关键字xxx
6)网盘搜索
通过网盘搜索域名信息
凌云搜索 https://www.lingfengyun.com/ 盘搜搜:http://www.pansoso.com/
7)whois查询以及关联查询
可以通过whois查询域名的相关信息,并且通过反查手机号或邮箱来获取相关域名。
8)证书透明度收集
证书:引用谷歌的项目介绍:“要向用户提供加密流量,网站必须先向可信的证书授权中心 (CA) 申请证书。然后,当用户尝试访问相应网站时,此证书即会被提供给浏览器以验证该网站。近年来,由于 HTTPS 证书系统存在结构性缺陷,证书以及签发证书的 CA 很容易遭到入侵和操纵。Google 的证书透明度项目旨在通过提供一个用于监测和审核 HTTPS 证书的开放式框架,来保障证书签发流程安全无虞。”
那么,通过这样的证书透明度项目,我们就可以在其中获取一些有价值的域名。
常用网站如下
(1)crtsh:https://crt.sh/ (2)facebook:https://developers.facebook.com/tools/ct (3)entrust:https://www.entrust.com/ct-search/ (4)certspotter:https://sslmate.com/certspotter/api/ (5)spyse:https://spyse.com/search/certificate (6)censys:https://censys.io/certificates (7)google: https://google.com/transparencyreport/https/ct/
9)利用DNS查询收集子域
原理:通过枚举常见的SRV记录并做查询来收集子域srv,以及通过查询域名的DNS记录中的MX,NS,SOA,TXT记录来收集子域。
SRV记录: 添加服务记录服务器服务记录时会添加此项,SRV记录了哪台计算机提供了哪个服务。格式为:服务的名字.协议的类型(例如:example-server.tcp)。
以下命令枚举给定域名的SRV记录:
nmap --script dns-srv-enum.nse --script-args "dns-srv-enum.domain='baidu.com'"
10)IP反查域名
通过域名得到服务器IP,可以去查询解析到这个IP的域名记录(历史记录)。还有根据IP去获取旁站以及C段站点。
https://stool.chinaz.com/same https://site.ip138.com/ 工具:https://github.com/Sma11New/ip2domain
子域名的收集通过手工太慢,就出现了自动化收集子域名的工具。如oneforall,subfinder等等。每个工具都有其优缺点,可以通过多个工具组合使用。
工具名称 |
描述 |
优点 |
缺点 |
下载地址 |
oneforall |
oneforall是近几年出现的比较优秀的子域名收集工具之一,目前还在不断地进行更新优化。这款工具集成了各种域名信息收集的“姿势”,手段可谓是非常全面了。包括利用证书透明度、常规检查、DNS数据集、DNS查询、威胁情报平台、搜索引擎等 |
包含的功能全,输出格式多 |
速度慢,对泛解析处理不是太理想 |
https://github.com/shmilylty/OneForAll |
SubdomainBrute |
工具采用协程加快爆破速度,使用114DNS、百度DNS、阿里DNS这几个快速又可靠的公共DNS进行查询。准确率高,效果比较好 |
速度比较快 |
收集来源比较单一 |
https://github.com/lijiejie/subDomainsBrute |
Sublist3r |
通过爆破进行收集,速度快,字典丰富 |
输出结果多、基数大、速度快 |
收集来源比较单一 |
|
ShuiZe |
一条龙服务,只需要输入根域名即可全方位收集相关资产,并检测漏洞。也可以输入多个域名、C段IP等, |
收集的信息比较全,包含公司,IP等信息 |
运行比较慢,安装麻烦 |
https://github.com/0x727/ShuiZe_0x727 |
本篇文章主要记录了一下目标域名的收集方式,方便后续查找使用。各位有什么好的收集方式或者工具吗?一起来交流。
关于信息收集_http://wp.soshoulu.com/-CSDN博客
红蓝对抗之域名搜集方法总结 - 博客 - 腾讯安全应急响应中心
https://www.cnblogs.com/bighammerdata/p/13268624.html
专注分享安全知识和在工作中遇到的一些问题,大家可以关注一下我的微信公众号,一同进步,谢谢大家!