域名搜集方法总结学习

TSRC 90 0
广告

1. 利用证书透明度收集子域

原理

引用谷歌的项目介绍:“要向用户提供加密流量,网站必须先向可信的证书授权中心 (CA) 申请证书。然后,当用户尝试访问相应网站时,此证书即会被提供给浏览器以验证该网站。近年来,由于 HTTPS 证书系统存在结构性缺陷,证书以及签发证书的 CA 很容易遭到入侵和操纵。Google 的证书透明度项目(https://www.certificate-transparency.org/)旨在通过提供一个用于监测和审核 HTTPS 证书的开放式框架,来保障证书签发流程安全无虞。”

实现方法

访问以下链接搜索需要查询的域名如:tencent.com

(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/

域名搜集方法总结学习

2. 常规检查收集子域

原理

域传送操作是指备用服务器向主服务器查询来刷新自己的Zone数据库,保证数据一致性。此操作的目的是为了防止主域名服务器因意外故障变得不可用时影响到全局。正常情况下,只有在网络里存在备用域名 DNS 服务器时,DNS区域传送操作才有必要执行。一旦DNS服务器被错误地配置成任何人发出请求,都向其提供Zone数据库的拷贝,就会被攻击者利用。

实现方法

1. dig命令

如dig @ns2.xxx.com xxx.com axfr

ns2.xxx.com为提供数据的服务器,xxx.com为要传输的关键字,axfr为区域传输选项。

2. python中dns库

xfr = dns.query.xfr(where=server, zone=self.domain, timeout=5.0, lifetime=10.0)
zone = dns.zone.from_xfr(xfr)

存在问题

一般情况下,DNS服务器都配置正确,关闭了dns传输或设置了白名单,漏洞利用成功的概率较低。

2.2站点配置文件

原理

信息泄露问题主要就是某域名下的一些文件会存储与其相关的一些域名,如子域名。此类文件包括跨域策略文件crossdomain.xml, sitemap文件。

实现方法

建立文件列表,拼接域名后直接访问,判断改文件是否存在。若存在则提取数据,若不存在则跳过。

1. crossdomain.xml文件

直接访问crossdomain.xml路径

2. sitemap文件

直接访问sitemap.xml、sitemap.txt、sitemap.html、sitemapindex.xml、sitemapindex.xml路径

存在问题

文件往往不存在,即使存在,域名信息也不够多不够完全。

2.3 检查内容安全策略

原理

内容安全策略(CSP,Content Security Policy)是一种声明的安全机制,可以让网站运营者能够控制遵循CSP的用户代理(通常是浏览器)的行为。通过控制要启用哪些功能,以及从哪里下载内容,可以减少网站的攻击面。CSP的主要目的是防御跨站点脚本(cross-ste scripting,XSS)攻击。例如,CSP可以完全禁止内联的JavaScript,并且控制外部代码从哪里加载。它也可以禁止动态代码执行。禁用了所有的攻击源,XSS攻击变得更加困难。CSP中的关键字有default-src、img-src、object-src和script-src。其中*-src可能会存在域名信息。

实现方法

1. 手动抓包获取

HTTP header的Content-Security-Policy属性

2. Python的Requests获取

import requests
res = requests.post(url=url, headers=headers, data=data, allow_redirects=False)
if not res.headers['Content-Security-Policy']:
print("There is no Content-Security-Policy in the header")
else:
# 处理主体代码


2.4 利用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='google.com'"

域名搜集方法总结学习

MX记录

建立电子邮箱服务,将指向邮件服务器地址,需要设置MX记录。建立邮箱时,一般会根据邮箱服务商提供的MX记录填写此记录。

域名搜集方法总结学习

NS记录

域名解析服务器记录,如果要将子域名指定某个域名服务器来解析,需要设置NS记录。

域名搜集方法总结学习

SOA记录

SOA叫做起始授权机构记录,NS用于标识多台域名解析服务器,SOA记录用于在众多NS记录中那一台是主服务器。

域名搜集方法总结学习

TXT记录

可任意填写,可为空。一般做一些验证记录时会使用此项,如:做SPF(反垃圾邮件)记录。

域名搜集方法总结学习

3. 利用DNS数据集收集子域

利用DNS记录公开数据收集

*注:将需要{domain}换成需要查询的域名,标🌟的是我们认为效果较好的。

🌟(1) ip138:

https://site.ip138.com/{domain}/domain.htm


🌟(2) 百度云观测:

http://ce.baidu.com/index/getRelatedSites?site_address={domain}


🌟(3) hackertarget:

https://hackertarget.com/find-dns-host-records/


(4) riddler:

https://riddler.io/search?q=pld:{domain}


(5) bufferover:

https://dns.bufferover.run/dns?q={domain}


(6) dnsdb:

https://dnsdb.io/zh-cn/search?q={domain}


(7) ipv4info:

http://ipv4info.com/


(8) robtex:

https://www.robtex.com/dns-lookup/


(9) chinaz:https://alexa.chinaz.com/


🌟(10) netcraft:https://searchdns.netcraft.com/


(11) dnsdumpster:

https://dnsdumpster.com/


(12) sitedossier:

http://www.sitedossier.com/


🌟(13) findsubdomains:

https://findsubdomains.com/

4. 利用威胁情报平台数据收集子域

*注:将需要{domain}换成需要查询的域名, 以下平台均需注册,注册后免费试用

(1) https://otx.alienvault.com/api/v1/indicators/domain/{domain}/{section}

{section}指其他指令动作,可参考Docs关于API的使用说明。

https://otx.alienvault.com/api/v1/indicators/domain/qq.com/url_list

(2)     https://community.riskiq.com/search/{domain}/subdomains

(3)     https://x.threatbook.cn/nodev4/domain/{domain}

API:https://api.threatbook.cn/v3/domain/sub_domains

(4)
https://www.threatminer.org/domain.php?q={domain}

(5) https://www.virustotal.com/ui/domains/{domain}/subdomains

或者https://www.virustotal.com/gui/domain/{domain}/relations

(6)
https://pentest-tools.com/information-gathering/find-subdomains-of-domain#

5. 利用搜索引擎发现子域

如Baidu,google,fofa等等

6. 域名备案搜集资产

原理

在对一些大型的目标进行信息搜集时,还可以通过查找域名备案信息来发现同备案的其他域名资产。如搜集qq的子域名时,最常见的即为对qq.com进行子域名搜集,此时就会遗漏其余顶级域名资产。

查询网址:www.beianbeian.com

域名搜集方法总结学习

7. whois查询和关联查询

工具:站长工具

在此我们以facebook.com做演示,如何进行whois查询和反查

7.1 查询whois

http://whois.chinaz.com/facebook.com

域名搜集方法总结学习

7.2 反查whois

http://whois.chinaz.com/reverse?host=**[email protected]&ddlSearchMode=1&domain=facebook.com

域名搜集方法总结学习

8. 域名爆破

推荐工具

oneforall

https://github.com/shmilylty/OneForAll

SubdomainBrute

https://github.com/lijiejie/subDomainsBrute

ESD

https://github.com/FeeiCN/ESD

subfinder

https://github.com/projectdiscovery/subfinder

发表评论 取消回复
表情 图片 链接 代码

分享