DNSnitch:反向DNS查詢(xún)與域傳送探測(cè)工具。近期對(duì)Dyn的DDoS攻擊的事件讓我把目光放到了DNS上,黑客們一次又一次證明了成功實(shí)施DDoS攻擊的最佳方式,就是攻擊DNS服務(wù)器。
作為一名滲透測(cè)試工程師,我在評(píng)估系統(tǒng)安全時(shí)確實(shí)能夠經(jīng)常看到域名解析服務(wù)器,這一點(diǎn)在信息搜集階段尤為明顯。我們現(xiàn)在仍然能夠時(shí)不時(shí)的看到一些允許域傳送的公共域名服務(wù)器,顯然這是個(gè)隱患。但我還從沒(méi)有把DNS服務(wù)器作為過(guò)一個(gè)實(shí)際的攻擊目標(biāo),我的客戶(hù)也都不愿意在付費(fèi)測(cè)試時(shí)允許工程師癱瘓掉他們的網(wǎng)絡(luò)服務(wù)。
對(duì)Dyn的DDoS攻擊是個(gè)大麻煩,因?yàn)镈yn是主要的DNS解析服務(wù)供應(yīng)商,對(duì)Dyn的攻擊造成了一批知名站點(diǎn)的服務(wù)中斷,其中包括Twitter, Paypal, Reddit, Github, Spotfy等
這不禁使我思考,如果我是一名攻擊者,要找到最合適的域名解析服務(wù)器進(jìn)行攻擊,我該怎么做,我應(yīng)該選擇哪一臺(tái)域名解析服務(wù)器。查詢(xún)目標(biāo)所使用的域名解析服務(wù)器非常容易,但是如果我的目標(biāo)是域名服務(wù)器,我要對(duì)域名解析服務(wù)器進(jìn)行DDoS攻擊,那么我就應(yīng)該進(jìn)行相反的查詢(xún),找出一個(gè)域名解析服務(wù)器提供服務(wù)的所有域名。
反向NS查詢(xún)
Google結(jié)果告訴我要進(jìn)行反向域名解析查詢(xún),只要我們能夠找到一個(gè)域名服務(wù)器,我們就能夠查詢(xún)到它提供服務(wù)的所有獨(dú)立域名。反向域名解析查詢(xún)是如何生效的呢,我在Server Fault上找到了最好的答案:
域文件訪問(wèn):一些注冊(cè)處會(huì)授予注冊(cè)商或其他團(tuán)體訪問(wèn)域文件的權(quán)限。這也就能讓我們非常容易地確定在這些空間中哪些域有訪問(wèn)DNS服務(wù)器的權(quán)限。但是在我研究時(shí)發(fā)現(xiàn),現(xiàn)在提供訪問(wèn)域文件權(quán)限的注冊(cè)商并不常見(jiàn)。這樣一來(lái),盡管這種方法是最可靠的,也并沒(méi)有被廣泛使用。
被動(dòng)DNS:被動(dòng)DNS通過(guò)ISP的遞歸DNS服務(wù)器流量檢查和根據(jù)所見(jiàn)重建區(qū)域數(shù)據(jù)來(lái)實(shí)現(xiàn)目的。盡管這種方法會(huì)消耗大量資源,并且數(shù)據(jù)庫(kù)中的數(shù)據(jù)可能過(guò)時(shí),它還是被作為一種有效手段廣泛使用。我將會(huì)在下文繼續(xù)談?wù)撨@種方法。
反向NS查詢(xún)工具
我做的第一件事就是去搜索能夠執(zhí)行反向NS查詢(xún)命令的命令行工具。我確實(shí)也找到了一些或免費(fèi)或付費(fèi)提供這項(xiàng)服務(wù)的網(wǎng)站,由于我本身就是安全專(zhuān)家,我還是傾向于使用免費(fèi)工具,也花了不少時(shí)間去研究。
1. Gwebtools
我首先要介紹的就是gwebtools的域名檢測(cè)工具。正如它承諾的一樣,只要給它一個(gè)域名服務(wù)器,它就能列出可用的所有域名。唯一的缺陷就是它只能提供.com和.net結(jié)尾的域名。它的工作原理就是運(yùn)營(yíng)商提供了一套監(jiān)測(cè).com和.net域變化的系統(tǒng),并且每月更新一次。
2. Viewdns.info
接下來(lái)我要介紹viewDNS.info提供的NS反向查詢(xún)工具。我更喜歡這個(gè)工具,因?yàn)樗O(jiān)測(cè)的域比ns-spy更多,能夠獲得比gwebtool更多的結(jié)果。他們提供了API,能讓我們把這項(xiàng)工具整合到自己的工具中。他們甚至?xí)圪u(mài)收集到的域信息。
3. Domain Tools
最后登場(chǎng)的是Domain Tools的NS反查工具。這個(gè)工具并非免費(fèi)工具,在進(jìn)行查詢(xún)后,你能夠得到一個(gè)免費(fèi)的結(jié)果樣例,但是想要得到完整的結(jié)果,要么以每月$99的價(jià)格繳納會(huì)員費(fèi),要么以$70的非會(huì)員價(jià)去購(gòu)買(mǎi)結(jié)果
據(jù)我所知,這項(xiàng)工具提供的查詢(xún)結(jié)果比上兩個(gè)工具的結(jié)果更加豐富,以ns1.safaricombusiness.co.ke這一域名服務(wù)器為例,查詢(xún)結(jié)果如下:
gwebtools發(fā)現(xiàn)1017個(gè)域
viewdns.info發(fā)現(xiàn)2563個(gè)域
Domain Tools找到9814個(gè)域
DNSnitch
上面提到的在線工具雖好,但是依舊不能滿(mǎn)足我的需求,我需要的是一個(gè)能夠不離開(kāi)終端就能進(jìn)行NS反向查詢(xún)的工具。由于我們能夠訪問(wèn)注冊(cè)管理機(jī)構(gòu)的域文件,我能想到的最佳方案就是利用上面提到的一個(gè)網(wǎng)站來(lái)獲得我想要的結(jié)果。
最終,在gwebtools和viewdns.info之間,我選擇了后者,理由如下:
Viewdns.info能夠監(jiān)視更多地域,且能提供更多的結(jié)果,這從查詢(xún)樣例中就能看出來(lái)。
Viewdns.info的輸出更容易被解析,它所有的查詢(xún)結(jié)果都是輸出在單個(gè)頁(yè)面的,而gwebtool的輸出在多個(gè)頁(yè)面,對(duì)結(jié)果進(jìn)行分析和在終端輸出會(huì)變得更麻煩。
DNSnitch工具是一個(gè)Python腳本,能夠向viewdns.info的NS反向查詢(xún)工具發(fā)送請(qǐng)求,并且將結(jié)果輸出到終端上

域傳送
當(dāng)我在一些公共域名服務(wù)器進(jìn)行測(cè)試時(shí),我發(fā)現(xiàn)有兩個(gè)域名服務(wù)器允許所有域使用它們進(jìn)行域傳送(現(xiàn)在這一問(wèn)題仍然存在)
這里的資料說(shuō)明了什么是域傳送,以及為什么人們永遠(yuǎn)不應(yīng)該在公共域名服務(wù)器上允許域傳送?偠灾,域傳送能夠讓網(wǎng)絡(luò)結(jié)構(gòu)探測(cè)變得容易的多,就好比我們直接走進(jìn)目標(biāo)的大門(mén),向網(wǎng)絡(luò)部門(mén)主管要到了一張?jiān)敱M的IP列表,再?gòu)拇箝T(mén)走出去。你并不會(huì)因此立刻被入侵,但是它能讓你的敵人獲取到很多重要信息,而這些信息在后期攻擊階段至關(guān)重要。域傳送漏洞已經(jīng)被我們知曉多年,現(xiàn)在這種問(wèn)題仍然存在讓我非常驚訝。
|