新聞中心
如何擴(kuò)大分布式環(huán)境中DNS服務(wù)攻擊面
作者:佚名 2017-12-20 10:47:56
服務(wù)器
分布式 Chaosnet很有趣,因?yàn)镃H類(lèi)經(jīng)常被用于服務(wù)區(qū)域的“bind.”,它包含了一些關(guān)于DNS服務(wù)器的有用信息。我想你應(yīng)該知道'version.bind'的記錄,通過(guò)該記錄你可以確定DNS服務(wù)器的版本。

成都創(chuàng)新互聯(lián)是一家專(zhuān)注于網(wǎng)站建設(shè)、成都網(wǎng)站制作與策劃設(shè)計(jì),洛川網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專(zhuān)注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專(zhuān)業(yè)建站公司;建站業(yè)務(wù)涵蓋:洛川等地區(qū)。洛川做網(wǎng)站價(jià)格咨詢:18982081108
我目前在RCNTEC公司工作,每天都會(huì)與分布式環(huán)境打交道。每當(dāng)我不得不使用ISC BIND來(lái)實(shí)現(xiàn)DNS服務(wù)時(shí),我就會(huì)問(wèn)自己——是否只有用于域名的NS服務(wù)器同時(shí)也被當(dāng)做該域名的DNS服務(wù)器?“yandex.ru”域名的DNS區(qū)域是否只有兩個(gè)名稱(chēng)服務(wù)器,同樣,“google.com”這個(gè)域名是否也只有四個(gè)名稱(chēng)服務(wù)器呢?
很顯然,事實(shí)并非這樣。我認(rèn)為很多擁有互聯(lián)網(wǎng)服務(wù)的公司已經(jīng)通過(guò)負(fù)載均衡,防火墻或者某種反向代理服務(wù)分散了它們的DNS基礎(chǔ)設(shè)施。
但是,我們?cè)撊绾谓鉀Q這個(gè)謎題,并得到有關(guān)后端DNS服務(wù)器的一些信息呢?現(xiàn)在是時(shí)候跟隨我的思路,深入了解一下DNS。
Chaosnet
你可以點(diǎn)擊這里閱讀更多關(guān)于Chaosnet的信息。換句話說(shuō),這是另一種處于ISO OSI第三層的網(wǎng)絡(luò)協(xié)議。關(guān)于DNS,Chaosnet被認(rèn)為是類(lèi)似于IN(互聯(lián)網(wǎng))和HS(Hesiod)這樣的網(wǎng)絡(luò)類(lèi)之一(代碼為CH )。
Chaosnet很有趣,因?yàn)镃H類(lèi)經(jīng)常被用于服務(wù)區(qū)域的“bind.”,它包含了一些關(guān)于DNS服務(wù)器的有用信息。我想你應(yīng)該知道'version.bind'的記錄,通過(guò)該記錄你可以確定DNS服務(wù)器的版本。
有很多常用的基于這個(gè)記錄的DNS指紋技術(shù)。
來(lái)看看一個(gè)例子:
正如你在上圖所看到的,我通過(guò)我自己的DNS服務(wù)器請(qǐng)求了Chaosnet 的TXT記錄——'version.bind',并得到了包含我的DNS服務(wù)器版本信息的響應(yīng)。
我們可以獲得DNS服務(wù)器版本信息,但是我們?nèi)匀粺o(wú)法枚舉中繼器后面的DNS服務(wù)器。另外,很多系統(tǒng)管理員都知道這個(gè)“特性”,并且他們也知道如何修復(fù)這個(gè)問(wèn)題并隱藏DNS服務(wù)器版本。
即使我們的目標(biāo)系統(tǒng)管理員沒(méi)有修補(bǔ)DNS域的“bind.”記錄,我們也無(wú)法枚舉DNS ——這只是版本信息,而不是IP或任何類(lèi)似的東西。
另一個(gè)CH TXT記錄
TXT記錄“hostname.bind”是CH區(qū)域“bind”中可用的另一條記錄。我們來(lái)看看,如果我們從DNS服務(wù)器上請(qǐng)求這個(gè)記錄會(huì)發(fā)生什么:
不錯(cuò)!我們得到了服務(wù)器的主機(jī)名。在我所演示的這種情況中,主機(jī)名只是內(nèi)部服務(wù)器的名稱(chēng),但是在分布式環(huán)境中會(huì)是什么呢?
我的經(jīng)驗(yàn)表明,為了部署的方便,服務(wù)器主機(jī)名與他們的外部DNS名稱(chēng)相等的情況非常普遍。那么在這種情況下,獲得了主機(jī)的內(nèi)部主機(jī)名稱(chēng),也就獲得了該主機(jī)的外部DNS名稱(chēng)。我們可以簡(jiǎn)單地解析一下主機(jī)的外部DNS名稱(chēng)來(lái)獲得服務(wù)器的IP地址。
Unhidens腳本
我寫(xiě)了一個(gè)小工具 ,通過(guò)運(yùn)行“dig”來(lái)確定DNS服務(wù)器的版本和主機(jī)名,并解析收到的主機(jī)名。
讓我們來(lái)看看unhidens腳本針對(duì)俄羅斯域名注冊(cè)商的域名服務(wù)器發(fā)起請(qǐng)求后的輸出:
如何擴(kuò)大分布式環(huán)境中DNS服務(wù)攻擊面
從上圖中你可以看到,在31.177.85.186后面只有一個(gè)DNS服務(wù)器。事實(shí)上,我們只是通過(guò)IP 31.177.85.194和名稱(chēng)“ns9-1.nic.ru”擴(kuò)大了我們的測(cè)試范圍。
那么Yandex呢?(譯者注:Yandex是俄羅斯及中亞國(guó)家使用的最大最多的一個(gè)搜索引擎)
我用我的腳本對(duì)他們的系統(tǒng)執(zhí)行了請(qǐng)求:)
如何擴(kuò)大分布式環(huán)境中DNS服務(wù)攻擊面
哈哈!我們完全列舉出了放在公共機(jī)器后面的Yandex后端的DNS服務(wù)器。我們可以請(qǐng)求主機(jī)名并解析出它們的IP地址。
在請(qǐng)求Yandex的DNS服務(wù)器所發(fā)現(xiàn)的主機(jī)都被防火墻所保護(hù),所以我無(wú)法直接與這些服務(wù)器直接通信。但我試圖對(duì)其他幾家公司執(zhí)行unhidens腳本后,有時(shí)我會(huì)看到一些存在漏洞的DNS軟件版本的機(jī)器,甚至有開(kāi)放TCP 53端口的機(jī)器。
結(jié)論
本文中所描述的信息披露并不是一個(gè)重要的bug,但是可以被攻擊者用來(lái)擴(kuò)大攻擊面。
嘗試對(duì)不同的域名運(yùn)行unhidens腳本,我相信你會(huì)喜歡上這個(gè)腳本!
另外,請(qǐng)記住“bind.”域并不僅僅是ISC BIND的功能,我看到很多不同的DNS服務(wù)器均受到這種信息泄露的影響。
如果你想在你的DNS服務(wù)器上修復(fù)此安全問(wèn)題,我建議你手動(dòng)處理CH域的“bind.”。
如果你使用了ISC BIND,那么你只需在'named.conf'中添加如下內(nèi)容即可:
并創(chuàng)建“bind.dns”區(qū)域文件:
這不是一種隱藏DNS服務(wù)器版本信息和主機(jī)名的最簡(jiǎn)單的方法,但是使用此配置,你可以將記錄所有的 “bind.” 請(qǐng)求行為, 這樣你可以跟蹤所有試圖請(qǐng)求有關(guān)你的機(jī)器的敏感信息的客戶端來(lái)進(jìn)行攻擊分析和攻擊溯源。
網(wǎng)站欄目:如何擴(kuò)大分布式環(huán)境中DNS服務(wù)攻擊面
文章鏈接:http://m.fisionsoft.com.cn/article/dhjecps.html


咨詢
建站咨詢
