DNSpooq:dnsmasq 中發(fā)現(xiàn)了7個(gè)安全漏洞
JSOF 研究人員在開(kāi)源DNS 轉(zhuǎn)發(fā)軟件dnsmasq 中發(fā)現(xiàn)了7個(gè)安全漏洞,漏洞影響使用dnsmasq的約40個(gè)廠商和產(chǎn)品。
Dnsmasq
Dnsmasq是用來(lái)緩存DNS響應(yīng)的一款非常流行的軟件。本地保存之前收到的DNS請(qǐng)求響應(yīng)可以加速DNS解析過(guò)程。Dnsmasq廣泛應(yīng)用于網(wǎng)絡(luò)設(shè)備和小型網(wǎng)絡(luò)中。Dnsmasq還可以提供DNS服務(wù)來(lái)支持WiFi熱點(diǎn)、企業(yè)級(jí)訪客網(wǎng)絡(luò)等。
DNSpooq漏洞
DNSpooq漏洞可以分為兩種類型:
- DNS 緩存投毒漏洞,可以引發(fā)DNS緩存投毒;
- 緩存溢出漏洞,可以引發(fā)遠(yuǎn)程代碼執(zhí)行。
DNS緩存投毒漏洞

DNS緩存投毒攻擊可以破壞使用dnsmasq的企業(yè)或設(shè)備的DNS查詢。也就是或,攻擊者可以路由到特點(diǎn)網(wǎng)站的通信。DNSpooq 緩存投毒漏洞的CVE編號(hào)為CVE-2020-25686、CVE-2020-25684和CVE-2020-25685。
漏洞會(huì)減少TXID或源端口的熵。本來(lái)應(yīng)該是隨機(jī)化的和提供32位的熵,但是由于使用弱哈希來(lái)識(shí)別DNS查詢,以及請(qǐng)求和響應(yīng)的寬松匹配,熵值大量減少,只有約19位需要猜測(cè),使得緩存投毒成為可能。Dnsmasq處理CNAME 記錄的方式也使得攻擊者可以偽造CNAME 記錄鏈,同時(shí)對(duì)9個(gè)DNS記錄有效投毒。為了執(zhí)行該攻擊,攻擊者需要進(jìn)行一些比較復(fù)雜的設(shè)備。對(duì)緩存投毒來(lái)說(shuō),不使用Dnsmasq 緩存特征的設(shè)備的影響比較小。
緩存溢出漏洞
4個(gè)緩存溢出漏洞分別是CVE-2020-25687、CVE-2020-25683、CVE-2020-25682和CVE-2020-25681。最嚴(yán)重的漏洞會(huì)引發(fā)有漏洞的設(shè)備上的遠(yuǎn)程代碼執(zhí)行,但是緩存溢出漏洞的作用非常有限,一旦與緩存投毒漏洞相結(jié)合就會(huì)引發(fā)潛在的攻擊方式。
緩存溢出漏洞中含有一個(gè)高危的基于堆的緩存溢出漏洞,在dnsmasq配置為使用DNSSEC時(shí)可能會(huì)引發(fā)遠(yuǎn)程代碼執(zhí)行。該漏洞存在于DNSSEC 驗(yàn)證的早期階段,使得DNSSEC的防御對(duì)于DNS無(wú)效。在DNSSEC使用時(shí),其他基于堆的緩存溢出漏洞只能引發(fā)DOS攻擊。
攻擊場(chǎng)景
目前有大約100萬(wàn)的dnsmasq服務(wù)器是互聯(lián)網(wǎng)可訪問(wèn)的,通過(guò)互聯(lián)網(wǎng)的攻擊是非常容易的。根據(jù)設(shè)備配置情況可能會(huì)引發(fā)許多可能的攻擊場(chǎng)景:
(1) DNS緩存投毒:路由設(shè)備DNS轉(zhuǎn)發(fā)服務(wù)器的DNS緩存投毒可能會(huì)引發(fā)不同類型的欺詐,因?yàn)橛脩艨赡軙?huì)被路由到一個(gè)惡意網(wǎng)站。
可能被破壞的流量包括普通的互聯(lián)網(wǎng)流量,也包括郵件、SSH、遠(yuǎn)程桌面、RDP視頻和音頻通話、軟件更新等流量。
(2) 設(shè)備接管:除了緩存投毒外,每個(gè)可以進(jìn)行DNS緩存投毒的設(shè)備都可能會(huì)被攻擊者接管。比如對(duì)路由器設(shè)備,攻擊者可以完全控制進(jìn)出網(wǎng)絡(luò)的所有流量。
此外,攻擊者還有可能會(huì)發(fā)起其他攻擊,比如:
(A) 大規(guī)模DDOS攻擊:到攻擊者控制的網(wǎng)站的大量web流量可以用來(lái)生成大量基于JS的DDOS攻擊。

(B) 反向DDOS: 攻擊者可以防止特定用戶訪問(wèn)網(wǎng)站或登陸特定域名。

(C) 蠕蟲(chóng)攻擊:攻擊者可以在無(wú)需用戶交互的情況下在有漏洞的設(shè)備中傳播。之前在使用受感染的dnsmasq 服務(wù)器的網(wǎng)絡(luò)中的移動(dòng)設(shè)備會(huì)接收到一個(gè)惡意的DNS記錄。當(dāng)設(shè)備進(jìn)入新的網(wǎng)絡(luò)后,就會(huì)感染新的網(wǎng)絡(luò)。

總結(jié)
近年來(lái),研究人員發(fā)現(xiàn)了DNS中的許多漏洞,DNSpooq 證明DNS的實(shí)現(xiàn)仍然是不安全的。雖然也開(kāi)發(fā)了許多的DNS的安全增強(qiáng)價(jià)值,但DNSSEC這樣的安全機(jī)制仍然美元大規(guī)模部署。
完整技術(shù)報(bào)告參見(jiàn):
https://www.jsof-tech.com/wp-content/uploads/2021/01/DNSpooq_Technical-Whitepaper.pdf
本文翻譯自:https://www.jsof-tech.com/disclosures/dnspooq/





























