目前增加的IPv6地址空間不僅提高了對啟發(fā)式算法的使用(執(zhí)行IPv6地址掃描時),而且還推動了人們探索替代技術(shù)用于查找IPv6節(jié)點(diǎn)。本文中我們將探討如何使用一種極其強(qiáng)大的向量來發(fā)現(xiàn)IPv6節(jié)點(diǎn):使用DNS反向映射。
IPv6地址掃描攻擊通常涉及向目標(biāo)節(jié)點(diǎn)發(fā)送某種探測數(shù)據(jù)包并等待響應(yīng),例如發(fā)送互聯(lián)網(wǎng)控制消息協(xié)議版本6回應(yīng)請求。由于IPv6網(wǎng)絡(luò)的默認(rèn)大小是/64,節(jié)點(diǎn)可隱藏在網(wǎng)絡(luò)中任何264個地址中,這讓強(qiáng)制IPv6地址掃描攻擊發(fā)生的可能性微乎其微。
在IPv6掃描領(lǐng)域的研究發(fā)現(xiàn),IPv6地址遵循特定模式,這可幫助減少搜索空間,從而讓啟發(fā)式IPv6地址掃描變得可行。
探索替代技術(shù)來發(fā)現(xiàn)IPv6節(jié)點(diǎn)非常有價值,這主要有幾個原因。
首先,有些操作系統(tǒng)(例如微軟Windows)采用一種算法來生成IPv6地址導(dǎo)致隨機(jī)化地址。其次,網(wǎng)絡(luò)依靠動態(tài)主機(jī)配置協(xié)議(DHCP)版本6進(jìn)行地址配置,這可能使用租賃地址的DHCPv6服務(wù)器,而沒有任何明顯模式(不是增量地址,例如2001:db8::1、2001:db8::2等)。第三,互聯(lián)網(wǎng)工程人物小組正在發(fā)布對當(dāng)前規(guī)范的更新,這樣的話,生成自動配置地址的傳統(tǒng)機(jī)制將會被RFC 7217取代,后者并不會產(chǎn)生任何地址模式。這意味著需要有技術(shù)補(bǔ)充和/或取代傳統(tǒng)地址掃描功能。
在這些技術(shù)中有一個常常被誤解或遺忘的DNS功能:反向映射。下面讓我們看看DNS反向映射的概念,以及如何用DNS功能進(jìn)行IPv6地址掃描。
DNS反向地址映射
大多數(shù)網(wǎng)絡(luò)和安全專業(yè)人員都熟悉DNS及其最常用的功能:映射域名(例如www.example.com)到IP地址。
然而,在很多情況下,執(zhí)行完全相反的操作也會很有效:獲得IP地址并將其映射到域名。這能起到很大的幫助作用,例如,通過跟蹤路徑工具了解到目的節(jié)點(diǎn)的路徑;構(gòu)成該路徑的IP地址可轉(zhuǎn)換為更具描述性或更有意義的域名。這就是說,跟蹤路徑工具從IP地址獲取域名列表的能力主要依賴于DNS反向映射。
IPv4地址反向映射到域名是由特殊DNS區(qū)域執(zhí)行:in-addr.arpa。在此區(qū)域中的域名將遵循 x.x.x.x.in-addr.arpa的模式,其中每個x是介于0到255之間的數(shù)字,而這四個x將對應(yīng)寫回的IPv4地址。
in-addr.arpa區(qū)域內(nèi)的域名通常有PTR記錄,其中包含域名對應(yīng)于IPv4地址。因此,為了獲得與IPv4地址192.0.2.1對應(yīng)的DNS域名,則應(yīng)該獲得域名1.2.0.192.in-addr.arpa的PTR記錄。例如,其中可能包含域名server.example.com。
重要的是要注意,從IP地址到域名的映射完全獨(dú)立于從域名到IP地址的映射。在本實(shí)例中,前者涉及域名1.2.0.192.in-addr.arpa的PTR記錄的配置(以及對2.0.192.in-addr.arpa區(qū)域的權(quán)限),而后者涉及域名server.example.com的A記錄的配置(以及對example.com區(qū)域的權(quán)限)。
通常,當(dāng)企業(yè)被分配到IP地址塊時,也分配了在in-addr.arpa對應(yīng)區(qū)域的權(quán)限。例如,企業(yè)被分配了前綴192.0.2.0/24,則也分配2.0.192.in-addr.arpa區(qū)域的權(quán)限,以便企業(yè)可更具需求配置反向地址映射。
反向IPv6地址映射類似于IPV4地址映射,最重要的區(qū)別是這種映射采用的DNS區(qū)域是ip6.arpa。與IPv4類似,這個區(qū)域?qū)瑢懟氐腎Pv6地址。例如,為了獲取與IPv6地址2001:db8::1對應(yīng)的域名,則應(yīng)該獲取域名1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa的PTR記錄。IPv6地址的每個十六進(jìn)制數(shù)字將對應(yīng)生成的域名的標(biāo)簽。