一、利用證書透明度收集子域原理:
引用谷歌的項目介紹:“要向用戶提供加密流量,網站必須先向可信的證書授權中心 (CA)" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

18143453325 在線咨詢 在線咨詢
18143453325 在線咨詢
所在位置: 首頁 > 營銷資訊 > 建站知識 > 域名收集方法總結

域名收集方法總結

時間:2023-02-12 13:06:01 | 來源:建站知識

時間:2023-02-12 13:06:01 來源:建站知識

目錄:

戳此獲取網絡安全資源

一、利用證書透明度收集子域

原理:
引用谷歌的項目介紹:“要向用戶提供加密流量,網站必須先向可信的證書授權中心 (CA) 申請證書。然后,當用戶嘗試訪問相應網站時,此證書即會被提供給瀏覽器以驗證該網站。近年來,由于 HTTPS 證書系統(tǒng)存在結構性缺陷,證書以及簽發(fā)證書的 CA 很容易遭到入侵和操縱。Google 的證書透明度項目旨在通過提供一個用于監(jiān)測和審核 HTTPS 證書的開放式框架,來保障證書簽發(fā)流程安全無虞?!?

那么,通過這樣的證書透明度項目,我們就可以在其中獲取一些有價值的域名。


實現方法:訪問以下鏈接搜索需要查詢的域名如:http://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/

二、常規(guī)檢查收集子域

2.1 域傳送

原理:
域傳送操作是指備用服務器向主服務器查詢來刷新自己的Zone數據庫,保證數據一致性。此操作的目的是為了防止主域名服務器因意外故障變得不可用時影響到全局。正常情況下,只有在網絡里存在備用域名 DNS 服務器時,DNS區(qū)域傳送操作才有必要執(zhí)行。一旦DNS服務器被錯誤地配置成任何人發(fā)出請求,都向其提供Zone數據庫的拷貝,就會被攻擊者利用。


實現方法:

1.dig命令
如dig @http://ns2.xxx.com http://xxx.com axfr
http://ns2.xxx.com為提供數據的服務器,http://xxx.com為要傳輸的關鍵字,axfr為區(qū)域傳輸選項。

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可以完全禁止內聯(lián)的JavaScript,并且控制外部代碼從哪里加載。它也可以禁止動態(tài)代碼執(zhí)行。禁用了所有的攻擊源,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記錄了哪臺計算機提供了哪個服務。格式為:服務的名字.協(xié)議的類型(例如: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(反垃圾郵件)記錄。


三、利用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/

四、利用威脅情報平臺數據收集子域

(注:將需要{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#



五、利用搜索引擎發(fā)現子域

1.谷歌搜索語法—site
當使用site提交查詢時,Google會將查詢限制在某個網站/某個域下面進行,此時配合其他指令效果更佳,如使用減號“-”來排除不想要搜集到的域名。



2. Site:x.x.x. *(目標IP)
當我們獲取到了子域名的真實ip后,可以嘗試搜索site:x.x.x.* 進行C段搜索,通過這種方法也能找出很多有價值的其他相關域名。經筆者嘗試,這種方法在搜狗、谷歌搜索引擎上使用有效,谷歌搜索引擎效果更好。
如圖:



六、域名備案搜集資產

原理:
在對一些大型的目標進行信息搜集時,還可以通過查找域名備案信息來發(fā)現同備案的其他域名資產。如搜集qq的子域名時,最常見的即為對http://qq.com進行子域名搜集,此時就會遺漏其余頂級域名資產。
查詢網址:http://www.beianbeian.com

如上圖通過查詢http://qq.com的網站備案/許可證號,再對其進行反查,即可發(fā)現http://qq.com同備案的其他頂級域名資產。
通過域名備案查找同備案的其他域名資產,能夠更全面的搜集目標資產信息,提升發(fā)現漏洞的概率。



七、whois查詢和關聯(lián)查詢

工具:站長工具
在此我們以http://facebook.com做演示,如何進行whois查詢和反查


1.查詢whois

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


2.反查whois

http://whois.chinaz.com/reverse?host=**in@fb.com&ddlSearchMode=1&domain=http://facebook.com

獲得關聯(lián)域名信息。

八、域名爆破

爆破的原理其實是通過枚舉的方式來實現的,通過不斷的拼接字典中的內容去枚舉域名的A記錄,但是該方法一般需要解決泛解析問題。比如開源工具oneforall會首先訪問一個隨機的并不存在的域,通過返回結果判斷是否存在泛解析,確定存在泛解析以后,程序會開始不斷的循環(huán)產生隨機域名,去向服務器查詢,將每次查詢到的IP和TTL記錄下來,直到大部分的IP地址出現次數都大于兩次,則IP黑名單的收集結束,在得到了IP黑名單以后,oneforall接下來會將自己的字典中的每一項和要指定查詢的域名進行拼接。在爆破過程中根據IP黑名單進行過濾。但這種寬泛的過濾容易導致漏報,所以oneforall將 TTL 也作為黑名單規(guī)則的一部分,評判的依據是:在權威 DNS 中,泛解析記錄的 TTL 肯定是相同的,如果子域名記錄相同,但 TTL 不同,那這條記錄可以說肯定不是泛解析記錄。


優(yōu)秀開源工具

我們調研了市面上多款開源的子域名收集工具,列舉多款優(yōu)秀工具的功能和優(yōu)點。在此以http://tencent.com為例收集其子域名.簡單對比各工具的性能和效果。

戳此獲取網絡安全資源

工具名稱:oneforall
項目地址:https://github.com/shmilylty/OneForAll
工具描述:oneforall是近幾年出現的比較優(yōu)秀的子域名收集工具之一,目前還在不斷地進行更新優(yōu)化。這款工具集成了各種域名信息收集的“姿勢”,手段可謂是非常全面了。包括利用證書透明度、常規(guī)檢查、利用網上爬蟲(正在實現)、DNS數據集、DNS查詢、威脅情報平臺、搜索引擎等,但筆者發(fā)現它對域名泛解析的處理還不是特別理想,存在較多誤收集,同時存在用時較長等缺點。

工具名稱:SubdomainBrute
項目地址:https://github.com/lijiejie/subDomainsBrute

工具描述:李劼杰的SubdomainBrute是業(yè)內比較出名的子域名收集工具了,工具采用協(xié)程加快爆破速度,使用114DNS、百度DNS、阿里DNS這幾個快速又可靠的公共DNS進行查詢。準確率高,效果比較好。但對泛解析的處理規(guī)則是:超過10個域名指向同一IP,則此后發(fā)現的其他指向該IP的域名將被丟棄,該方法可能存在誤刪,但不可否認的是,該規(guī)則在一定程度上簡便有效。

工具名稱:ESD
項目地址https://github.com/FeeiCN/ESD
工具描述:ESD的爆破速度極快,62萬條數據只用了4分30秒左右,這款工具存在的缺點之一就是對性能要求高,1G2核的服務器CPU占用率達100%。除此之外,輸出的結果也比較不穩(wěn)定,同一網絡下對同一域名進行收集,幾次結果數量都不一樣。

工具名稱:subfinder
項目地址:https://github.com/projectdiscovery/subfinder
工具描述:使用subfinder來進行子域名信息的收集,它的輸出結果多、基數大、速度快,并且輸出格式多,便于后續(xù)處理(oneforall也有相同的優(yōu)點)。
美中不足的就是此工具無爆破功能,被動源相比其他工具來說較少。



各工具效果對比

各工具優(yōu)缺點與功能對比如下:
(注:因各工具提供的默認字典是不同的,字典往往需要自行定義才能發(fā)揮更大作用,故各工具下載后均不做修改,使用自帶默認字典進行爆破。使用單一域名測試不具有普遍性,爆破結果僅供參考。)

按照上圖,單從數據層面上看,四款工具中OneForAll的表現比較突出,而李劼杰的subdomainBrute表現也算優(yōu)異,可訪問子域名數的百分比和時間都很優(yōu)秀,美中不足的就是爆出的子域名相對較少。



子域名收集常見問題

1、DNS緩存問題
對于不同的DNS服務器,其緩存策略可能不同,其緩存結果也可能會存在差異,導致在域名查詢時獲取到未及時更新的解析結果。通常情況下,要解決上述問題需要進行多次DNS查詢來迫使DNS服務器刷新緩存,從而獲取正確的結果。這無疑增加了泛解析判斷和子域名爆破的難度。
其實這個問題在OneForAll中也未能得到較好的解決。在判斷是否存在泛解析問題時,OneForAll使用了函數 detect_wildcard(domain, ns_ip_list),在該函數里面,OneForAll是通過使用不存在的子域名進行查詢,從而判斷是否存在泛解析。但是只進行一次判斷就下決定是不夠準確的,可能導致誤判。

2、“死板”的字典
爆破是子域名收集方法的重要組成部分,對于大部分的這類工具而言,字典的好壞決定了最終的爆破效果。但大部分的字典僅僅只是遍歷字符集,使用常用的高頻詞而不進行及時的更新。當字典文件太大時爆破速度就變得非常慢,并且低效率的字典即使再大也達不到理想的效果。

在實際進行域名爆破的時候,一個能夠自動更新的字典無疑會比普通字典效果更好,在此我們提出一種字典自動更新的方案。




動態(tài)字典

在本節(jié)我們對字典自動更新的方案進行較為詳細的闡述,具體可分為三個步驟:對詞語的權重進行更新——刪除原字典中權值低的詞——從數據集中提取高頻詞語加入字典,以此實現字典的更新。
測試工具:Subdomainbrute
流程圖如下:

1、 權值更新

首先,利用工具subdomainbrute及其默認字典進行子域名爆破,將得到的結果利用如下腳本進行進一步批量檢測,判斷該域名是否外網可訪問,并將能夠外網正常訪問的域名保存到success.txt中。

接下來,將mydic中詞語的權值全部初始化為0。然后比對success.txt中的三級域名,將mydic中對應詞語的權值+1,其他詞語權值不變。此外需要記錄下本次所查詢的域名,以后查詢相同域名的時候,不再重復更新mydic中詞語的權值

2、詞語刪除

在使用該字典對不同域名進行n次爆破(如20次)以后,開始對字典進行更新,即對字典中的詞語進行刪除操作。具體步驟如下:

首先,使用record_num.txt文件記錄字典使用的次數。當record_num.txt文件不存在時則生成,每查詢不同的域名使用次數+1,重復查詢相同域名只算作一次

程序每次運行結束后,判斷是否需要重置mydic。若需要更新,則先刪除record_num.txt文件,然后對mydic中的數據按照權值大小進行排序,排序完成后刪去底部的30%數據。

3、字典更新
在刪除了原字典30%的值以后,需要補充新的值到字典中。我們解析http://opendata.rapid7.com上的公開DNS記錄來更新自己的字典。由于下載的數據集大小一般有幾十個G,難以直接處理,所以我們先對數據進行切割以減小處理的難度。首先將數據集分割為每個大概100MB的數據文件,然后從這些數據文件中隨機抽取一部分,提取出里面的所有子域名,拼接成為字典的“數據源”。將提取出來的子域名數據進行詞頻分析,并將其中的內容按照出現的頻率從大到小進行排序。選擇出現頻率最高的值加入字典中,直到新字典的大小與舊字典相同為止。最后,需要將新字典中的所有值的權重清零。





總結


1、除了使用爆破工具外,子域名收集的方法還有很多。比如域傳送漏洞、DNS查詢等常規(guī)手段,還有利用證書透明度、DNS數據集、威脅情報平臺、搜索引擎、域名備案和whois查詢。綜合來看,在這些方法中威脅情報平臺效果最好,證書透明度和DNS數據集次之。
2、在本篇文章中我還對業(yè)內較為優(yōu)秀的幾款工具作了研究、對比。在對http://tencent.com的子域名收集測試中,subfinder和OneForAll的表現較為突出。
3、子域名收集存在的一些主要問題是域名泛解析、不同線路解析出不同IP、子域名爆破時字典的效率不高等。


網上關于子域名收集的方法、工具都很多,但實際運用時結果都不夠理想、全面。要想獲得一份高效、有價值的子域名列表,需要我們結合不同的方法,合理地運用工具進行收集。

戳此獲取網絡安全資源

關鍵詞:總結,方法,收集

74
73
25
news

版權所有? 億企邦 1997-2025 保留一切法律許可權利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點擊下載Chrome瀏覽器
關閉