日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

技術貼 | 惡意軟件是如何使?DNS隱蔽信道通信技術實現通信的?

1

概述

近期,我們正在研究DNS隱蔽信道通信技術,找到了?個BondUpdater樣本,通過對此樣本的分析,來了解某些惡意軟件是如何使?DNS隱蔽信道通信技術實現通信的,從而方便我們研究如何檢測此種攻擊。

2018年8?,Unit42發現OilRig針對中東政府組織使??叉式釣?郵件,投遞了?個新版本的BondUpdater。

OilRig是伊朗的APT組織,2016年被Unit42發現,?直處于活躍狀態,經常對中東地區的政府機構和企業發動網絡攻擊。2017年11?,基于PowerShell的特洛伊??——BondUpdater被FireEye?次發現,其包含基本的后?功能,能夠使攻擊者上傳/下載?件,執?命令。

與OilRig組織的其它?具?樣,BondUpdater使?DNS隧道與C2服務器進?通信,新版本的BondUpdater??能夠在DNS隧道中使?TXT記錄與C2進?通信。

2

樣本分析

MD5:52b6e1ef0d079f4c2572705156365c06

(2.1)提取關鍵文件及代碼

此樣本是?個word?檔,?Microsoft Word打開?下看看。

技術貼 | 惡意軟件是如何使?DNS隱蔽信道通信技術實現通信的?

可以看到樣本中嵌?了宏代碼,而利?word?帶的宏編輯器是看不到宏代碼的。

我們可以通過oledump或者oletools來提取宏代碼,我這?使?oledump。

技術貼 | 惡意軟件是如何使?DNS隱蔽信道通信技術實現通信的?

如圖所示,宏代碼存在于第7段,我們將其轉存為ThisDocument.vb

Python oledump.py -s 7 -v
7cbad6b3f505a199d6766a86b41ed23786bbb99dab9cae6c18936afdc25
12f00_doc > ThisDocument.vb

ThisDocument內容如下:

技術貼 | 惡意軟件是如何使?DNS隱蔽信道通信技術實現通信的?技術貼 | 惡意軟件是如何使?DNS隱蔽信道通信技術實現通信的?

運?宏,?先執?Document_Open函數,此函數調?AAAA函數,在AAAA函數中,調?HGHG函數,分別創建兩個?件,AppPool.vbs和AppPool.ps1,將宏代碼中嵌?的vbs代碼和powershell代碼寫?這兩個?件中。

之后通過執?

wscript 
C:ProgramDatawindowsAppPoolAppPool.vbs

運行AppPool.vbs

我在虛擬機中跑?下,將這兩個?件提取出來。

AppPool.vbs內容如下:

技術貼 | 惡意軟件是如何使?DNS隱蔽信道通信技術實現通信的?

當AppPool.vbs?次執?時,其創建了?個每分鐘執?的計劃任務,使???件能夠被不斷執?。

然后通過

PowerShell.exe -exec bypass -file 
C:ProgramDataWindowsAppPoolAppPool.ps1

運?AppPool.ps1

AppPool.vbs后續的執?過程中,會判斷是否存在"quid"的?件,如果存在,就使?上述powershell腳本運?AppPool.ps1。

AppPool.ps1?次運?時會創建quid?件,以避免創建多個計劃任務。

AppPool.ps1內容如下:

技術貼 | 惡意軟件是如何使?DNS隱蔽信道通信技術實現通信的?

此處的AppPool.ps1是經過經過初步處理的,主要的操作都是由此powershell代碼實現,通過DNS隱蔽信道與C2進?通信的代碼也在其中。

(2.2)分析關鍵代碼

AppPool.ps1代碼?致流程:

2.2.1 創建lock、qiud文件

在?錄

C:ProgramDataWindowsAppPool

創建lock、qiud兩個?件

技術貼 | 惡意軟件是如何使?DNS隱蔽信道通信技術實現通信的?

lock?件寫?的是當前powershell進程的PID號,powershell腳本會檢測當前時間和進程啟動時間之差是否超過10分鐘,如果超過10分鐘就會終?進程并刪除lock?件。

quid的內容是由GUID(全局唯?標識符)的前?個字符和?個兩位的隨機整數組成。

2.2.2 在quid中創建3目錄

以quid中的內容為?件夾名稱在?錄

C:ProgramDataWindowsAppPool

創建?件夾,還創建了“files”?件夾,再在第?個?件夾中創建三個目錄,“sendbox”、“receivebox”、“done”。

技術貼 | 惡意軟件是如何使?DNS隱蔽信道通信技術實現通信的?

sendbox?于存儲將要發送到C2的?件,receivebox?于存儲從C2接收到的命令?件,done也是?于存儲從C2接收到的?件,以便將來使?。

2.2.3 發起DNS請求

構造域名,發起包含初始信標的DNS請求,通知C2開始通信

技術貼 | 惡意軟件是如何使?DNS隱蔽信道通信技術實現通信的?

參數中的“M”就是操作的類型,是初始信標,表示開始通信,“r”表示按接收數據的格式?成域名。

2.2.4 定期與C2通信

從C2接收命令,將命令寫?到?件,并保存在“receivebox”?件夾中。

技術貼 | 惡意軟件是如何使?DNS隱蔽信道通信技術實現通信的?

每隔50毫秒嘗試與C2進?通信?次。

技術貼 | 惡意軟件是如何使?DNS隱蔽信道通信技術實現通信的?技術貼 | 惡意軟件是如何使?DNS隱蔽信道通信技術實現通信的?

dns_request_TXT功能為構造DNS請求數據包,發起DNS請求,返回響應包數據。

這?的dns_request函數有兩種,分別是發送DNS A記錄請求和TXT記錄請求,下?在分析通信協議的時候會提到。

  • 如果??發送的是DNS A記錄請求,??會從A記錄響應包中的address段(ip)提取數據。

  • 如果??發送的是DNS TXT記錄請求,??會從DNS TXT記錄響應包中的TXT段(存儲數據)提取數據。

技術貼 | 惡意軟件是如何使?DNS隱蔽信道通信技術實現通信的?

C2傳輸數據到??總共有兩種傳輸?式,?是通過域名響應ip進?傳輸,這種是通過發送A記錄請求,另?種是通過TXT記錄進?傳輸。

上?圖?中的代碼是對DNS TXT記錄響應包進?處理的過程。

??會將接收到的TXT數據以“>”分開,左邊的作為指令,右邊的作為數據。左邊的指令決定??將會如何處理右邊的數據,具體的處理規則會在下?節進?描述。

從響應包中解析出的指令和數據,會以?件的形式存儲在receivebox?件夾下,以待后續處理。

2.2.5 命令解析

對接收到的命令進?解析,執?命令,然后將結果寫??件,保存在“sendbox”?件夾下,以待后續發往C2。

技術貼 | 惡意軟件是如何使?DNS隱蔽信道通信技術實現通信的?

?論是通過A記錄進?接收的數據,還是通過TXT記錄接收的數據,都以?件的形式保存在receivebox?件夾下,?件名以“rcvd”開頭。

并且使?相同的?件處理程序,?件處理程序根據?件名的最后?個字符,決定怎么處理以此?件名為名字的?件的內容。

2.2.6 命令結果回傳

將命令執?結果結果傳回C2服務器。

技術貼 | 惡意軟件是如何使?DNS隱蔽信道通信技術實現通信的?

"s"是以發送數據的格式?成域名,?件的名稱和內容是通過域名來進?傳送的,$SSE代表數據塊,$TTE代表?件名。

下節中的數據格式的介紹中會具體提到這些參數。

(2.3)通信協議分析

2.3.1 數據格式

技術貼 | 惡意軟件是如何使?DNS隱蔽信道通信技術實現通信的?

發送數據格式:

<包含分?號、操作類型、GUID前8字符、隨機?位整數的字符串><序號><1~7個隨機字符>C<分?號偏移><操作類型偏移>T.<數據塊>.<?件名>.<C2域名>

接收數據格式:

<包含分?號、操作類型、GUID前8字符、隨機?位整數的字符串><序號><1~7個隨機字符>C<分?號偏移><操作類型偏移>T.<C2域名>

技術貼 | 惡意軟件是如何使?DNS隱蔽信道通信技術實現通信的?

分?號偏移和操作類型偏移都是相對GUID前8字符和隨機2位整數組成的字符串的。

接收數據格式的第?部分包含分?號、操作類型、GUID前8字符、隨機?位整數的字符串。???先?成GUID號,然后取GUID號的前8位與?個2位隨機整數相連接形成基礎字符串,最后將分?號和操作類型隨機插?基礎字符串。

第?部分是1~7位的隨機字符串。

第三部分就是C和T以及中間的兩個數字,第?個數字為操作類型在基礎字符串中的偏移,第?個數字為分?號在基礎字符串中的偏移。

第四部分就是C2域名,發送數據格式和接收數據格式的區別就是多了數據塊和?件名。

2.3.2 DNS請求中包含的操作類型

技術貼 | 惡意軟件是如何使?DNS隱蔽信道通信技術實現通信的?

將此操作類型包含在?成的?域名中,可以通知C2在響應數據包中使?那種數據格式。

例如:如果操作類型是“W”,C2會發送響應包的TXT段以“S000s”為開頭的數據,發送的數據會作為?件名。

如果操作類型是“0”,C2會將域名響應ip置為“24.125.[d].[d]”,使??將ip地址的后兩段作為?件名進?接收。powershell代碼中寫了兩種記錄的DNS請求?法。如下圖所示:

A記錄請求:

技術貼 | 惡意軟件是如何使?DNS隱蔽信道通信技術實現通信的?

TXT記錄請求:

技術貼 | 惡意軟件是如何使?DNS隱蔽信道通信技術實現通信的?

2.3.3 文件名末尾字符含義

技術貼 | 惡意軟件是如何使?DNS隱蔽信道通信技術實現通信的?

因為??從C2接收的數據都是以?件的形式存儲在“receivebox”?件夾下的,所以當??從C2接收完所有的數據后,會執??件處理程序。?件處理程序會根據以上協議對接收到的數據進?處理。

2.3.4 原始數據傳輸過程中的域名解析IP 地址及含義

技術貼 | 惡意軟件是如何使?DNS隱蔽信道通信技術實現通信的?

原始數據傳輸就是通過A記錄傳輸的,數據是放在DNS響應包的address段的ip地址中的。

??發送包含“0”操作類型的DNS請求,C2就會將響應ip地址設為形如“24.125.[d].[d]”的地址,并將?件名填充在??。

??接收到數據會將其與“rcvd”連接在?起,作為?件名,并修改操作類型為“1”。然后??開始發送包含“1”操作類型的DNS請求,C2就會將響應ip設為形如“[d].[d].[d].[d]”的地址,并將數據填充在??。

如果數據發送完了,C2就會將響應ip地址設為形如“1.2.3.[d]”形式的地址。??接收到后就會將數據存在以前?接收到的?件名為名的?件中,并保存在“reveiveboc”?件夾下。

2.3.5 其他域名解析地址含義

技術貼 | 惡意軟件是如何使?DNS隱蔽信道通信技術實現通信的?

這些IP地址是整個通信過程中除去原始數據傳輸過程中的域名解析IP地址以外的IP地址。“99.250.250.199”?于表示??想要與C2開始通信。

因為有些數據?較?,所以會分?進?傳輸,“[quid.substring.(0,2)].2.3.[d]”的最后?段表示?前傳輸的分?號,?于判斷數據是否完整傳輸完成。

當?件的字節數?于60字節,就需要多次傳輸,??被我設置了數據傳輸?度的閾值為60。

2.3.6 新數據傳輸協議指令含義

技術貼 | 惡意軟件是如何使?DNS隱蔽信道通信技術實現通信的?

新數據傳輸協議就是通過TXT記錄進?傳輸數據。當??發送操作類型為“W”的TXT記錄DNS請求,C2就會回復?個包含TXT數據的響應包,響應包中的TXT字段存儲了C2發給??的數據,數據以“>”號分隔開來。

如果“>”左邊的字符串為“S000s”,??就將“>”右邊的數據與“rcvd”連接,作為將要存儲數據的?件的?件名,然后將操作類型置為“D”。

然后發送包含操作類型“D”的TXT記錄請求,C2會回復TXT數據中“>”左邊為“S”的響應包,??會將“>”右邊的數據進?base64解碼,并將下?次請求的操作類型置為“D”。

再發送包含操作類型“D”的TXT記錄請求,直到數據發送完成,然后C2會回復TXT數據中“>”左邊為“E”的響應包,??會將base64解碼后得到的數據寫?執?“S000s”指令后?成的?件名的?件中,然后跳出循環。

3

總結

通過對此樣本的分析,我們得出?些DNS隱蔽隧道通信的特征、方式和通信所使?的協議,方便后期對容易軟件的類別分析。

C2和受控主機對對彼此之間傳輸的數據進?解析,形成有?套通信協議。數據如果通過A記錄傳送,就存在于域名中(受控主機向C2發送數據)或者域名解析IP中(C2向受控主機發送數據);如果通過TXT記錄傳送,就存在于響應包中的TXT字段中。

?前很多APT攻擊和惡意軟件使?DNS隱蔽信道進?通信,所以對DNS隱蔽信道通信進?檢測是?件很有意義的事情。

本文轉自公眾號“安恒風暴中心”

分享到:
標簽:惡意 軟件
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定