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

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