新聞中心
一、使用MassDNS

成都創(chuàng)新互聯(lián)主營海興網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都App制作,海興h5微信小程序開發(fā)搭建,海興網(wǎng)站營銷推廣歡迎海興等地區(qū)企業(yè)咨詢
唯一大量枚舉跨域的工具。
TLDR
MassDNS可以在幾秒鐘內(nèi)可靠地解析100K子域,可以使用AltDNS的功能,并為用戶提供超過超乎想象的結(jié)果??梢允褂盟鼇磉B續(xù)暴力破解大量的域名。
譯者注:AltDNS - 通過更改和排列進(jìn)行子域發(fā)現(xiàn),AltDNSs是一種DNS偵察工具,允許發(fā)現(xiàn)符合模式的子域名。AltDNS接受可能存在于域下的子域中的單詞(例如測試,開發(fā),分期),以及獲取您知道的子域列表。工具傳送門:https://github.com/infosec-au/altdns
二、靈感
進(jìn)攻安全的第一步是偵察。獲取目標(biāo)的全部范圍是偵查階段的目標(biāo)。主要是,這篇文章將重點(diǎn)放在如何有效地發(fā)現(xiàn)子域名,在大量的目標(biāo)中使用MassDNS。此外,關(guān)于這個空白我已經(jīng)研究了很長一段時間,并沒有找到一個運(yùn)行在許多目標(biāo)上的比較好的工具。
三、工具
有很多腳本和程序可以處理子域名枚舉。我將主要討論以下工具(我基于他們的受歡迎程度來選擇):
- Passive sources(https://github.com/rondilley/passivedns)
- Subbrute(https://github.com/TheRook/subbrute)
- Sublist3r(https://github.com/aboul3la/Sublist3r)
- Enumall(https://github.com/jhaddix/domain)
- Brutesubs(https://github.com/anshumanbh/brutesubs)
- DNS-Parallel-Prober(https://github.com/lorenzog/dns-parallel-prober)
1. Passive sources
我想手動處理被動源,因為我已經(jīng)有一個自動化框架,很難將其集成到預(yù)構(gòu)建的工具中。被動來源是可以的,但是他們永遠(yuǎn)不會暴力破解一樣好。原因很簡單:如果它是被動來源,它已經(jīng)在別處找到并被索引了。然而,如果你是暴力破解的話,就有一定的幾率導(dǎo)致一些被動渠道沒有選擇這些子域名。
在我看來,被動來源永遠(yuǎn)都是有益于,你得到你的子域,但不應(yīng)該是主要來源,這使得我們使用其他工具。
2. Subbrute
許多人都知道如何利用一個經(jīng)過很長時間測試的工具。在我看來,該工具的最大特點(diǎn)是內(nèi)置的遞歸,檢查子域中的子域。當(dāng)我為每個公開范圍漏洞獎勵目標(biāo)啟動子域枚舉時,我首先選擇了這個工具。
當(dāng)您有很多域要掃描時,時間和可靠性是一個工具擁有的最重要的功能。當(dāng)我嘗試將Subbrute整合到我的進(jìn)程中時,我發(fā)現(xiàn)了一些事情:
- 運(yùn)行很多次
- 腳本不會停止
- 遞延延長運(yùn)行時間
列出了大約100K子域名,使用超過15分鐘才完成了單個域的掃描。由于完成掃描所需的時間,您的自動化忽略了其它域名,這里新的子域名可能剛剛出現(xiàn)。當(dāng)Subbrute運(yùn)行時,我有點(diǎn)想阻止這個運(yùn)行在我的被動模塊中。這樣一來,當(dāng)域被掃描時,我會從其它域名中獲取被動DNS信息。
在漏洞獎勵挖掘中,在其他人之前找到易受攻擊的服務(wù)是非常重要的,而Subbrute完成任務(wù)所需的時間成本對我來說太高了(我的機(jī)器)。另外,當(dāng)跑完我所有的目標(biāo)時,Subbrute會偶爾掛起。這使得偵測的結(jié)束是一場噩夢,最終有太多的工作需要跟上,我開始尋找其他的工具。
3. Sublist3r
Sublist3r更側(cè)重于被動來源信息收集。這些被動源通常提供一個API,使用戶的搜索變得更加容易。然而,對他們往往有速率限制,使許多領(lǐng)域的自動化困擾。很多時候,源會阻止我的實例的IP地址,因為請求數(shù)量(可以理解)。
注意Sublist3r可以為您運(yùn)行Subbrute,但由于上述原因我不會建議。此外,Sublist3r必須在目標(biāo)上運(yùn)行,然后依次運(yùn)行Subbrute,從而增加每個域的運(yùn)行時間。
因此,我創(chuàng)建了一個腳本來為域運(yùn)行Sublist3r,然后單獨(dú)為一個域運(yùn)行Subbrute。這樣,一旦其中一個進(jìn)程完成,它就可以開始在另一個域上運(yùn)行,從而提高了自動化的效率。這種方法在正確的軌道上,非常類似于我如何手動處理Subbrute和被動源。主要的缺點(diǎn)是完成掃描的時間。
4. Enumall
Enumall依靠Recon-NG(https://bitbucket.org/LaNMaSteR53/recon-ng)進(jìn)行被動信息收集和暴力破解。Enumall是一個方便的小腳本,我認(rèn)為它以聰明的一種方式利用多種其他工具來完成任務(wù)。通過使用Recon-NG來發(fā)現(xiàn)主機(jī),它將自動將您列舉的子域存儲在其內(nèi)置的表中。
但是,為了能在多個域中運(yùn)行并且效率高,對我來說是不可能的。Recon-NG將按順序運(yùn)行每個測試,嚴(yán)重影響其性能。
另外,由于它將在工作空間中創(chuàng)建表,我遇到了內(nèi)存問題($ 20在box中)。完成運(yùn)行后,我必須刪除域的每個工作區(qū),然后為下一個域創(chuàng)建一個新的工作區(qū)。如果有一個大的域,它會導(dǎo)致我的實例耗盡內(nèi)存。
由于這些原因,我無法使用枚舉。
5. Brutesubs
另一個運(yùn)行一些其他提及工具的工具。就個人而言,我沒有玩的特別好,作為枚舉子域名的簡單方法而獲得青睞。
6. DNS-Parallel-Prober
在這個時候,它是無限的,但可能是MassDNS的競爭對手。沒有使用它,但可能值得研究,如果MassDNS導(dǎo)致你太多的麻煩。
工具地址:https://github.com/blechschmidt/massdns
四、絕望
在這一點(diǎn)上我沒有希望。在有效性方面,我認(rèn)為被動來源和Subbrute是最好的方法。但是,我不想創(chuàng)建處理容錯程序的維護(hù)。正是在這一點(diǎn)上,我遇到了MassDNS,我的救世主 。
優(yōu)點(diǎn)(你也可以認(rèn)為我是一個“托”)
認(rèn)真地運(yùn)行MassDNS。如果我遇到這個工具,我將節(jié)省大量的時間,將其他子域暴力破解應(yīng)用程序并入。
首先,可靠性和速度是無與倫比的。100K子域在10秒以內(nèi)暴力破解。以前,如果我很幸運(yùn),許多子域名,僅僅需要5-10分鐘。我連續(xù)運(yùn)行2-3個月,在可靠性方面本身并沒有遇到任何問題。
以前,我通過Subbrute收集子域名,并利用我的腳本來解析被動源。之后,我沒有想到會發(fā)現(xiàn)很多子域名,但是運(yùn)行MassDNS時使用大字典,它給了我太多子域來調(diào)查每個子域。(提示:有些人正在使用EyeWitness:https://github.com/ChrisTruncer/EyeWitness,我想知道為什么?)
此外,對我來說,似乎AltDNS被創(chuàng)建用于此工具(即使AltDNS包含一種解決域本身的方式)。AltDNS將創(chuàng)建一個字典,您可以將其添加到MassDNS中,以便為您解決問題。這是偉大的,因為當(dāng)你有一個域下面有很多子域和一個大的前綴列表,排列列表是巨大的。到目前為止,我還沒有找到比MassDNS更快的DNS解析器。
最后,解析輸出效率。如果允許它輸出,MassDNS絕對是啰嗦的。無論響應(yīng)如何,您絕對不會缺少大多數(shù)記錄的關(guān)鍵輸出。這一點(diǎn)在下面的缺點(diǎn)中得到了擴(kuò)展。
除此之外,我認(rèn)為大多數(shù)(數(shù)據(jù))賞金獵人都在使用MassDNS,但顯然這不是我可以肯定的一點(diǎn)。
五、缺點(diǎn)
我還沒有討論MassDNS有一個主要的缺點(diǎn):它是一個非常簡單的工具,具有復(fù)雜的輸出。
所討論的其他許多工具都提供了一個方便使用的界面和易于理解的輸出。不過,您只需要看看Frans Rosen在AppSec歐盟的演講,在那里他解決了其他工具有,而MassDNS沒有的問題(https://www.youtube.com/watch?v=FXCzdWm2qDg)。MassDNS不會保留其他工具所做的信息。例如,如果沒有找到子域,許多工具將不會顯示(因為它是NXDOMAIN)。但是,F(xiàn)rans顯示,這里有一個CNAME沒有一個子域的A記錄。使用該host命令將返回NXDOMAIN,因為它找不到CNAME的地址。但是,如果有人注冊了CNAME,則會有一個A地址。一些工具錯過了這一點(diǎn),所以接收被忽略了。但是,MassDNS不會隱藏信息(除非您提供標(biāo)志)。
下一個缺點(diǎn)是解析器。
為了加快枚舉,MassDNS會為每個主機(jī)聯(lián)系多個解析器。這樣一個DNS服務(wù)器不會減慢進(jìn)程,您可以有效地擴(kuò)展枚舉(Subbrute也是這樣)。但是,有時候還有錯誤的解析。
錯誤的解析器返回舊的和過期的記錄(或只是錯誤的)。因為一些不存在的子域名信息,你會疼恨,這嚴(yán)重妨礙了您的枚舉。
解決這個問題的一種方法是解析“找到”的子域,然后使用Google的DNS(8.8.8.8)來解析每個域。如果Google沒有解決,我可以從解析器列表中刪除返回該記錄的原始DNS服務(wù)器。這樣,我已經(jīng)刪除了大多數(shù)的壞解決方案,給我留下了好的結(jié)果。
然而這里CPU吃緊。每次我運(yùn)行這個,我花$20沒有做的盒子,每次運(yùn)行都讓我心靈很受傷!但是,結(jié)果非常好,所以我可以用它(并考慮一個更強(qiáng)大的盒子來支持它)。
最后,MassDNS 要求用戶解析其輸出。這意味著對于自動化系統(tǒng),必須創(chuàng)建一個腳本來從輸出中提取有意義的信息。需要基本的腳本/編程知識才能獲得良好的自動化和覆蓋。
最后的想法
總的來說,為了使用MassDNS提供的信息,您必須編寫一個腳本來解析它,并與輸出結(jié)果進(jìn)行交互。在我看來,這是每個人使用MassDNS的最大障礙。有了這個說法,如果你具備足夠的編程能力來解析輸出并將其傳遞到自動化中,那么,你將有一個很好的子域枚舉過程。嘗試一下,與以前的枚舉方法進(jìn)行比較,考慮結(jié)果,可靠性和速度。
分享名稱:MassDNS:跨域DNS枚舉工具
當(dāng)前URL:http://fisionsoft.com.cn/article/codhgcs.html


咨詢
建站咨詢
