文章来源|MS08067 红队培训班 第5期
本文作者:AlexD(红队培训班5期学员)
按老师要求尝试完成布置的作业如下:
被动信息收集
0x01 利用DNS数据集收集子域
有很多第三方服务聚合了大量的DNS数据集,可以通过它们来检索子域名
(1)ip138:https://site.ip138.com/ (2)百度云观测:http://ce.baidu.com/index/getRelatedSites?site_address=xxx.com (3)circl:https://www.circl.lu/services/passive-dns/#passive-dns (4)hackertarget:https://hackertarget.com/find-dns-host-records/ (5)riddler:https://riddler.io/search?q=pld:xxx.com (6)bufferover:https://dns.bufferover.run/dns?q=.xxx.com (7)dnsdb:https://dnsdb.io/en-us/ (8)ipv4info:http://ipv4info.com/ (9)robtex:https://www.robtex.com/dns-lookup/ (10)chinaz:https://alexa.chinaz.com/ (11)netcraft:https://searchdns.netcraft.com/ (12)securitytrails:https://docs.securitytrails.com/v1.0/reference#get-domain (13)dnsdumpster:https://dnsdumpster.com/ (14)sitedossier:http://www.sitedossier.com/ (15)threatcrowd:https://www.threatcrowd.org/ (16)siterankdata:https://siterankdata.com/ (17)findsubdomains:https://findsubdomains.com/
通过dnsdumpster检索子域名
通过findsubdomains检索子域名
0x02 基于SSL证书查询
证书透明度(Certificate Transparency)是证书授权机构的一个项目,证书授权机构会将每个SSL/TLS证书发布到公共日志中。一个SSL/TLS证书通常包含域名、子域名和邮件地址。查找某个域名所属证书的最简单的方法就是使用搜索引擎搜索一些公开的CT日志。
常用证书查询的站点:
代码语言:javascript复制crtsh:https://crt.sh/
facebook:https://developers.facebook.com/tools/ct
entrust:https://www.entrust.com/ct-search/
certspotter:https://sslmate.com/certspotter/api/
spyse:https://spyse.com/search/certificate
censys:https://censys.io/certificates
google:https://google.com/transparencyreport/https/ct/
通过crtsh收集子域名,只需将目标域名填入后点击查询即可
0x03 利用搜索引擎发现子域
常用的搜索引擎有以下四个:
(1)google (2)baidu (3)bing (4)sougou 查询语法: 根据域名搜集子域名:site:xxx.com
通过Google搜索子域名
0x04 网络空间搜索引擎
(1)FOFA:https://fofa.so/ 子域名查询语法:domain:xxx.com (2)zoomeye:https://www.zoomeye.org/ 子域名查询语法:site:xxx.com (3)shodan:https://www.shodan.io/ 子域名查询语法:hostname:xxx.com (4)quanke:https://quake.360.cn/quake/#/index 子域名查询语法:domain:"xxx.com"
通过FOFA来搜索子域名
通过zoomeye来搜索子域名
0x05 利用威胁情报平台数据收集子域
(1)微步:https://x.threatbook.cn/ (2)alienvault:https://otx.alienvault.com/ (3)riskiq:https://www.riskiq.com/ (4)threatminer:https://www.threatminer.org/ (5)virustotal:https://www.virustotal.com/gui/home/search
通过threatminer搜索子域名
0x06 域名备案搜集
备案号是网站是否合法注册经营的标志,可以用网页的备案号反查出该公司旗下的资产。
常用查询网站:
http://www.beian.gov.cn/
https://beian.miit.gov.cn/
http://icp.chinaz.com/
主动信息收集
oneforall
项目地址:https://github.com/shmilylty/OneForAll 工具描述:oneforall是近几年出现的比较优秀的子域名收集工具之一,目前还在不断地进行更新优化。这款工具集成了各种域名信息收集的"姿势"。包括利用证书透明度、常规检查、利用网上爬虫(正在实现)、DNS数据集、DNS查询、威胁情报平台、搜索引擎等
下载安装:
代码语言:javascript复制git clone https://github.com/shmilylty/OneForAll.git
cd OneForAll/
pip3 install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
使用帮助:
pythonn3 oneforall.py –help
使用方法:
代码语言:javascript复制python oneforall.py --target xxx.com run
收集完成后会将结果以域名.cvs命名保存到results目录下
SubdomainBrute
项目地址:
https://github.com/lijiejie/subDomainsBrute
工具描述:
李劼杰的SubdomainBrute是业内比较出名的子域名收集工具了,工具采用协程加快爆破速度,使用114DNS、百度DNS、阿里DNS这几个快速又可靠的公共DNS进行查询。准确率高,效果比较好。
安装使用:
代码语言:javascript复制git clone https://github.com/lijiejie/subDomainsBrute.git
cd subDomainsBrute/
python3 subDomainsBrute.py xxx.com
ESD
项目地址:https://github.com/FeeiCN/ESD 工具描述:ESD工具优点是爆破子域名速度快,缺点之一就是对性能要求高。 下载安装:
代码语言:javascript复制git clone https://github.com/FeeiCN/ESD.git
pip install esd && pip install esd --upgrade
使用命令: # 扫描单个域名 esd -d qq.com # debug模式扫描单个域名 esd=debug esd -d qq.com # 扫描多个域名(英文逗号分隔) esd --domain xxx1.com,xxx2.com # 扫描单个域名且过滤子域名中单个特定响应内容 esd --domain mogujie.com --filter # 扫描单个域名且过滤子域名中多个特定响应内容 esd --domain mogujie.com --filter # 扫描文件(文件中每行一个域名) esd --file targets.txt # 跳过类似度对比(开启这个选项会把全部泛解析的域名都过滤掉) esd --domain qq.com --skip-rsc # 使用搜索引擎进行子域名搜索(支持baidu、google、bing、yahoo,使用英文逗号分隔) esd --domain qq.com --engines baidu,google,bing,yahoo # 平均分割字典,加快爆破 esd --domain qq.com --split 1/4 # 使用DNS域传送漏洞获取子域名 esd --domain qq.com --dns-transfer # 使用HTTPS证书透明度获取子域名 esd --domain qq.com --ca-info
使用截图:
ksubdomain
项目地址:https://github.com/knownsec/ksubdomain 二进制文件地址:
https://github.com/knownsec/ksubdomain/releases 在linux下,还需要安装libpcap-dev,在Windows下需要安装WinPcap,mac下可以直接使用。
工具描述: ksubdomain是一款基于无状态子域名爆破工具,支持在Windows/Linux/Mac上使用,它会很快的进行DNS爆破,在Mac和Windows上理论最大发包速度在30w/s,linux上为160w/s的速度。 常用命令:
使用内置字典爆破 ksubdomain -d seebug.org 使用字典爆破域名 ksubdomain -d seebug.org -f subdomains.dict 字典里都是域名,可使用验证模式 ksubdomain -f dns.txt -verify 爆破三级域名 ksubdomain -d seebug.org -l 2 通过管道爆破 echo "seebug.org"|ksubdomain 通过管道验证域名 echo "paper.seebug.org"|ksubdomain -verify 仅使用网络API接口获取域名 ksubdomain -d seebug.org -api 完整模式,先使用网络API,在此基础使用内置字典进行爆破 ksubdomain -d seebug.org -full
使用截图:
Layer子域名挖掘机
Layer子域名挖掘机(域名查询工具)用于网站子域名查询,拥有简洁的界面、简单易上手的操作模式,有服务接口、暴力破解、同服挖掘三种模式。
使用说明:
1、如果要使用自定义字典,请把字典文件命名为dic,放到跟程序同目录下,程序会自动加载字典。
2、如果没有自定义字典,程序会自动使用内置字典,内置字典总共两万多条数据,内容包括了常用子域名,以及3000 常用单词和1-3位所有字母
3、如果要爆破二级以下域名,可以直接填入要爆破的子域名,程序会自动拼接下一级子域。比如填入hi.baidu.com,程序会爆破。hi.baidu.com下面的域。
4、如果界面列表显示有空白,请右键选择“导出域名和IP”来导出完整列表。
使用截图:
第三方搜集子域名网站
在线子域名查询:https://phpinfo.me/domain/
在线子域名爆破:http://z.zcjun.com
在线子域名扫描-YoungxjTools:https://tools.yum6.cn/Tools/urlblast
在线子域名爆破:https://www.bugku.net/domain/
子域名扫描:https://www.t1h2ua.cn/tools