子域名探测方法大全

子域名探测方法:
•在线接口
•暴力枚举
•搜索引擎
•Certificate Transparency(证书透明)
•Subject Alternate Name (SAN) - 主题备用名称
•Public datasets(公开数据集)
•信息泄露
•内容解析(HTML,JavaScript,文件)
•DNS解析
•区域传送
•DNS aggregators(DNS聚合器)
•DNS Cache Snooping(域名缓存侦测)
•Alterations & permutations(换置 & 排序)
•DNSSEC(Domain Name System Security Extensions),DNS安全扩展,DNSSEC区域漫步
•CSP HTTP首部
•SPF记录
•虚拟主机爆破
•ASN发现
•爬虫 Scraping(抓取)

子域名探测

通过收集子域名信息来进行渗透是目前常见的一种手法。
子域名信息收集可以通过手工,也可以通过工具,还可以通过普通及漏洞搜索引擎来进行分析。在挖SRC漏洞时,子域名信息的收集至关重要!

为什么要进行子域名探测?

•子域名探测可以帮我们发现渗透测试中更多的服务,这将增加发现漏洞的可能性
•查找一些用户上较少,被人遗忘的子域名,其上运行的应用程序可能会使我们发现关键漏洞
•通常,同一组织的不同域名/应用程序中存在相同的漏洞
•子域名中的常见资产类型一般包括办公系统,邮箱系统,论坛,商城等,其他管理系统,网站管理后台等较少出现在子域名中

子域名探测方法大全

在线接口

https://crt.sh/
https://censys.io/
https://transparencyreport.google.com/
https/certificates  
https://dnsdumpster.com/
https://hackertarget.com/find-dns-host-records/
https://x.threatbook.cn/
https://www.virustotal.com/gui/home/search
https://phpinfo.me/domain/
https://site.ip138.com/
baidu.com/domain.htm
https://www.t1h2ua.cn/tools/
http://tool.chinaz.com/subdomain/
https://spyse.com/site/not-foun

暴力枚举

Layer子域名爆破机 Layer是windows下的一款子域名探测工具,其工作原理是利用子域名字典进行爆破,使用简单容易上手。

Amass 工具描述:爆破, google, VirusTotal, alt names 
go get -u github.com/OWASP/Amass/...
amass -d target.com -o $outfile
Knock

工具描述:AXFR, virustotal, 爆破 
apt-get install python-dns
python git clone https://xxx.com/guelfoweb/knock.git
cd knock
nano knockpy/config.json # <- set your virustotal API_KEY
python setup.py install

搜索引擎

Google 
intitle=公司名称
过滤掉 -site:www.target.com 我们可以在Google搜索中使用 site:运算符来查找一个域的所有子域名
谷歌还额外支持减号运算符 site:*.wikimedia.org -www -store -jobs -uk 以排除我们不感兴趣的子域名

Bing 
Bing搜索引擎也支持一些高级搜索运算符。
与Google一样,Bing也支持site:运算符,可以帮助您检查除Google搜索之外的其他结果。发现子域名: site:target.com
百度 intitle=公司名称
钟馗之眼 https://www.zoomeye.org/ site=域名
FOFA 
https://fofa.so/
语法:domain=”baidu.com” 提示:以上方法无需爆破,查询速度快,需要快速收集资产时可以优先使用,后面再用其他方法补充。

Certificate Transparency(证书透明)

SSL/TLS证书

证书透明度(Certificate Transparency)是证书授权机构的一个项目,证书授权机构会将每个SSL/TLS证书发布到公共日志中。
一个SSL/TLS证书通常包含域名、子域名和邮件地址。查找某个域名所属证书的最简单的方法就是使用搜索引擎搜索一些公开的CT日志。

在线查询: 
https://crt.sh/
https://censys.io/
https://developers.facebook.com/tools/ct/
https://google.com/transparencyreport/https/ct/
https://transparencyreport.google.com/https/certificates

CTFR
工具描述:滥用证书透明记录
 
git clone https://xxx.com/UnaPibaGeek/ctfr.git
cd ctfr
pip3 install -r requirements.txt python3 ctfr.py -d target.com -o $outfile

Censys_subdomain_enum.py
工具描述:提取子域名,从Censys的SSL/TLS证书中收集子域名
 
pip install censys
git clone https://xxx.com/appsecco/the-art-of-subdomain-enumeration.git
python censys_enumeration.py target.com

Cloudflare_enum.py
工具描述:从Cloudflare提取子域名
dns聚合器
 
pip install censys
git clone https://xxx.com/appsecco/the-art-of-subdomain-enumeration.git cloudflare_subdomain_enum.py your@cloudflare.email target.com

Crt_enum_web.py
工具描述:解析https://crt.sh/页面的子域名
 
pip install psycopg2
git clone https://xxx.com/appsecco/the-art-of-subdomain-enumeration.git
python3 crtsh_enum_web.py target.com

San_subdomain_enum.py 工具描述:SSL/TLS证书中的SAN获取子域名 
git clone https://xxx.com/appsecco/the-art-of-subdomain-enumeration.git
./san_subdomain_enum.py target.com

Subject Alternate Name (SAN) - 主题备用名称

SAN(Subject Alternate Name)主题备用名称,主题备用名称证书简单来说,在需要多个域名,将其用于各项服务时,可使用SAN证书。
允许在安全证书中使用subjectAltName字段将多种值与证书关联,这些值被称为主题备用名称。
名称可包括:IP地址、DNS名称等。

San_subdomain_enum.py 工具描述:SSL/TLS证书中的SAN获取子域名 如上。

Public datasets(公开数据集)

有些项目收集了全互联网范围内的扫描数据,并将其提供给研究人员和安全社区。
该项目发布的数据集是子域名信息的宝库。
虽然在这个庞大的数据集中找到子域名就像大海捞针,但却值得我们去一试。

Rapid7 Forward DNS dataset (Project Sonar)
工具描述:来自rapid7 sonar项目的公共数据集
 
wget https://scans.io/data/rapid7/sonar.fdns_v2/20170417-fdns.json.gz cat 20170417-fdns.json.gz | pigz -dc | grep ".target.org" | jq`

Forward DNS(https://scans.io/study/sonar.fdns_v2) 数据集作为Project Sonar的一部分发布。
数据格式是通过gzip压缩的JSON文件。
我们可以解析数据集以查找给定域名的子域名。
数据集很大(压缩后:20+GB,压缩前:300+GB)
Command to parse & extract sub-domains for a given domain $ curl -silent https://scans.io/data/rapid7/sonar.fdns_v2/20170417-fdns.json.gz | pigz -dc | grep ".icann.org" | jq

数据聚合网站 
threatcrowd
https://scans.io/study/sonar.rdns_v2
https://opendata.rapid7.com/

信息泄露

信息泄露 
首先找到目标站点,在官网中可能会找到相关资产(多为办公系统,邮箱系统等),关注一下页面底部,也许有管理后台等收获。
文件泄漏 
crossdomain.xml(跨域策略文件cdx)    robots.txt
Git仓库泄露
从流量中分析提取

内容解析(HTML,JavaScript,文件)

BiLE-suite
工具描述:HTML解析,反向dns解析
 
aptitude install httrack
git clone https://xxx.com/sensepost/BiLE-suite.git
perl BiLE.pl target.com

Second Order
工具描述:第二阶段域名扫描 通过HTML提取子域名
 
go get xxx.com/mhmdiaa/second-order
cp ~/go/src/xxx.com/mhmdiaa/second-order/config.json ~/go/src/xxx.com/mhmdiaa/second-order/config-subs-enum.json
编辑修改LogCrawledURLs为True
second-order -base https://target.com -config config.json -output target.com

DNS解析

在线查询: 
VirusTotal(https://www.virustotal.com/)
ViewDNS(https://viewdns.info/)
DNSdumpster(https://dnsdumpster.com/)
Threatcrowd(https://www.threatcrowd.org/)

BiLE-suite
工具描述:HTML解析,反向dns解析
 如上。

Massdns
工具描述:dns解析
 
git clone https://xxx.com/blechschmidt/massdns.git
cd massdns/
make
解析域名:/bin/massdns -r lists/resolvers.txt -t AAAA -w results.txt domains.txt -o S -w output.txt
爆破域名:./scripts/subbrute.py wordlist.txt target.com | ./bin/massdns -r lists/resolvers.txt -t A -o S -w output.txt
CT解析:./scripts/ct.py target.com | ./bin/massdns -r lists/resolvers.txt -t A -o S -w output.txt

区域传送

域传送是一种DNS事务,DNS服务器将其全部或部分域文件的副本传递给另一个DNS服务器。
如果未安全地配置域传输送,则任何人都可以对指定名称的服务器启动域传送并获取域文件的副本。
根据设计,域文件包含有关域和保存在域中的大量主机信息。

Windows:
1.nslookup命令进入交互式shell
2.server命令 参数设定查询将要使用的DNS服务器
3.ls命令列出某个域中的所有域名

Linux: 
Dig
工具描述:dns区域传送,dns反向解析,dns解析
 
dig +multi AXFR target.com dig +multi AXFR $ns_server target.com

DNS aggregators(DNS聚合器)

Cloudflare_enum.py 工具描述:从Cloudflare提取子域名 dns聚合器 
pip install censys
git clone https://xxx.com/appsecco/the-art-of-subdomain-enumeration.git cloudflare_subdomain_enum.py your@cloudflare.email target.com

DNS Cache Snooping(域名缓存侦测)

域名缓存侦测(DNS Cache Snooping)技术 
在企业网络中,通常都会配置DNS服务器,为网络内的主机提供域名解析服务。
这些DNS不仅解析自己的私有域名,还会用递归方式,请求公网的DNS解析第三方域名,如baidu.com之类。
为了提升性能,通常会使用缓存记录,记录解析过的域名,尤其是第三方域名。
域名缓存侦测(DNS Cache Snooping)技术就是向这些服务器发送域名解析请求,但要求不使用递归模式。
这样DNS只能解析私有域名和缓存中保存的域名。
借助该项技术,渗透测试人员就知道哪些域名是否被过请求过。例如,测试人员可以提交某安全软件更新所使用的域名,如果有记录,说明该网络使用该种安全软件。

Alterations & permutations(换置 & 排序)

AltDNS 工具描述:通过换置&排序技术发现子域名 
git clone https://xxx.com/infosec-au/altdns.git
cd altdns
pip install -r requirements.txt
./altdns.py -i subdomains.txt -o data_output -w words.txt -r -s results_output.txt

DNSSEC(Domain Name System Security Extensions),DNS安全扩展,DNSSEC区域漫步

由于DNSSEC处理不存在域名的方式,您可以"遍历"DNSSEC域并枚举该域中的所有域名。
您可以从这里(https://info.menandmice.com/blog/bid/73645/Take-your-DNSSEC-with-a-grain-of-salt) 了解有关此技术的更多信息。

Ldns-walk 工具描述:DNSSEC zone walking, 如果DNSSEC NSEC开启,可以获得全部域名。 
aptitude install ldnsutils
ldns-walk target.com
ldns-walk @nsserver.com target.com
如果DNSSEC NSEC开启,可以获得全部域名。

CSP HTTP首部

Domains-from-csp
工具描述:从CSP头提取子域名
 
git clone https://xxx.com/yamakira/domains-from-csp.git
pip install click
python csp_parser.py $URL python csp_parser.py $URL -r

SPF记录

SPF是通过域名的TXT记录来进行设置的,SPF记录列出了所有被授权代表域名发送电子邮件的主机

Assets-from-spf 
工具描述:SPF域名记录 
git clone https://xxx.com/yamakira/assets-from-spf.git
pip install click ipwhois python assets_from_spf.py target.com

虚拟主机爆破

vhost-brute
工具描述:虚拟主机爆破
 
aptitude install php-curl git clone https://xxx.com/gwen001/vhost-brute.git

Virtual-host-discovery
工具描述:虚拟主机爆破
 
git clone https://xxx.com/jobertabma/virtual-host-discovery.git
ruby scan.rb --ip=1.1.1.1 --host=target.com --output output.txt

ASN发现

通过域名查询到 ASN,再通过 ASN 查询到所属的所有 ip 范围

爬虫 Scraping(抓取)

泛解析问题

目前最好的解决方式是通过先获取一个绝对不存在域名的响应内容,再遍历获取每个字典对应的子域名的响应内容,通过和不存在域名的内容做相似度比对,来枚举子域名,但这样的实现是以牺牲速度为代价

•https://www.freebuf.com/news/133873.html
•https://xz.aliyun.com/t/5509

Tools

OneForAll

https://github.com/shmilylty/OneForAll 工具也有很多厉害的,平时我一般使用 OneForALL + ESD + JSfinder 来进行搜集,(ESD 可以加载 layer 的字典,很好用)

Sublist3r

https://github.com/aboul3la/Sublist3r - 强大的快速子域枚举工具 评分: 🌟🌟🌟🌟🌟 | 编程语言: Python 2.x/3.x | 仍在维护: ✔️

guelfoweb/knock

https://github.com/guelfoweb/knock - Knock子域名获取,可用于查找子域名接管漏洞 评分: 🌟🌟🌟🌟🌟 | 编程语言: Python 2.x | 仍在维护: ✔️

subdomain3

https://github.com/yanxiu0614/subdomain3 - 一款便捷高效的子域名爆破工具 评分: 🌟🌟🌟🌟🌟 | 编程语言: Python 3.x | 仍在维护: ✔️

amass

https://github.com/caffix/amass - Go语言开发的子域名枚举工具 评分: 🌟🌟🌟🌟🌟 | 编程语言: Go | 仍在维护: ✔️

Ice3man543/subfinder

https://github.com/Ice3man543/subfinder - 继承于Sublist3r项目的模块化体系结构,一个强劲的子域名枚举工具 评分: 🌟🌟🌟🌟🌟 | 编程语言: Go | 仍在维护: ✔️

horn3t

https://github.com/janniskirschner/horn3t - 带有网页截图功能的子可视化域名枚举工具 评分: 🌟🌟🌟🌟🌟 | 编程语言: Python 3.x | 仍在维护: ✔️

subDomainsBrute

https://github.com/lijiejie/subDomainsBrute - Lijiejie开发的一款使用广泛的子域名爆破枚举工具 评分: 🌟🌟🌟🌟🌟 | 编程语言: Python 2.x | 仍在维护: ✖️

wydomain

https://github.com/ring04h/wydomain - 猪猪侠开发的一款域名收集全面、精准的子域名枚举工具 评分: 🌟🌟🌟🌟🌟 | 编程语言: Python 2.x | 仍在维护: ✖️

子域名监控

LangSrcCurise

https://github.com/LangziFun/LangSrcCurise

Sublert

https://www.freebuf.com/sectool/198396.html

参考

子域名发现的20种方法 
https://xz.aliyun.com/t/3478
https://blog.csdn.net/qq_39293438/article/details/104829825

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,686评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,668评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,160评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,736评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,847评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,043评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,129评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,872评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,318评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,645评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,777评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,861评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,589评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,687评论 2 351

推荐阅读更多精彩内容