伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析

Gcow安全團隊發表於2019-12-30

一.介紹

近日,Gcow安全團隊的追影APT分析小組在公共的檔案分析平臺上捕獲到了名為DustSpuad的APT組織,針對烏茲別克的外交部進行的一起網路攻擊活動.所使用的正是名叫Octopus的Windows惡意程式

Octopus惡意程式的名稱最初由ESET在2017年由APT組織在其舊C2伺服器上使用的0ct0pus3.php指令碼之後創造。卡巴斯基通過其監控平臺發現Octopus惡意程式與DustSquad有關.在遙測中,我們發現這個組織對中亞共和國以及俄語系的國家產生著濃厚的興趣 

此外,該組織專注於中亞使用者以及外交實體,並且通過檔案中的特殊字元,以及其手法,推斷該組織可能來源於俄羅斯

二.樣本分析

(一).釋放者:

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析

 伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析 伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

(二).壓縮包所包含的檔案:

(Octopus 載入器)

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析

偽裝成word檔案,擁有word的圖示.對於一些安全意識差的人員。這種偽造手段的成功機率較高

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

通過ExeInfoPE工具檢視樣本資訊,發現該程式由Delphi編寫

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

根據我們的分析,該樣本的主要惡意部分在start()函式內

現在我們將利用ollydbg的動態除錯以針對該樣本進行分析

1).通過GetTickCount()和QueryPerformanceCounter()函式獲取當前系統執行時間

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

2).資訊收集部分

1.收集本地IP地址:

通過初始化WSAStartup通過呼叫gethhostname()獲取本地主機名稱,再通過gethostbyname()傳入獲取的本地主機名稱以獲取本地IP地址

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

並且將收集好的地址以Local IP Addr:{本地IP地址}的形式進行拼接

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

2.本地計算機名稱

通過GetComputerNameW()函式獲取本地計算機的名稱

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

並且將收集好的地址以Computer Name:{本地計算機名稱}的形式進行拼接
 伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析

3.收集當前使用者名稱稱

利用GetUserNameW()函式收集當前使用者名稱稱

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

並且將收集好的地址以User Name:{當前使用者名稱稱}的形式進行拼接

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

4.收集Windows資料夾目錄

利用GetWindowsDirectoryW()函式獲取當前系統的windows資料夾目錄

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

並且將收集好的地址以Windows Dir:{Windows資料夾目錄}的形式進行拼接

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

5.收集惡意樣本所在的當前目錄

呼叫GetMouduleFileNameW()函式獲取惡意軟體當前目錄的完整路徑

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

並且將收集好的地址以Current Dir:{檔案所在目錄}的形式進行拼接

6.獲取碟符資訊

利用GetDriveTypeW()函式獲取各個碟符的屬性以及名稱

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

並且將收集好的地址以Volume list:{碟符名稱加碟符大小}的形式進行拼接

最後將資訊以

Start

Local IP Addr:{本地IP地址}

Computer Name:{本地計算機名稱}

User Name:{當前使用者名稱稱}

Windows Dir:{Windows資料夾目錄}

Current Dir:{檔案所在目錄}

Volume list:{碟符名稱加碟符大小}

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

3).C2中轉:

向http[:]//poisonfight[.]com/idea.php傳送Post請求

check=c558838690881fa7f75807cfa94b3713

接受json格式的回顯{"status":"ok"}

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

判斷是否返回為ok

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

接收到ok後,對遠端C2伺服器發起第二段post請求

http[:]//poisonfight[.]com/idea.php傳送Post請求

servers=c558838690881fa7f75807cfa94b3713

返回的json結果為:

{"servers":[{"ip_addr":"cookiesqueen.com\/innovative"}]}

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

將回顯的json進行擷取拼接得到C2:http[:]//cookiesqueen[.]com/innovative.php

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

向C2端傳送編碼後的系統資訊

S=sess_{隨機字母組合} check={令牌編碼}

(OD:)

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

 (Anyrun)

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

加密規則是先進行了一次base64加密,再通過URL編碼過濾掉敏感字元,解密如下:

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

為了方便大家理解這一過程,筆者淺顯的畫了一個草圖

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

4).檔案下載

向http[:]//cookiesqueen[.]com/innovative.php

傳送post請求

l=ZG93bmxvYWQ%3D以及

s=sess_{隨機字母組合} check={令牌編碼}

(OD:)

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

(Anyrun:)

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

在上文中我們得知了該組織的報文解密方法,對此進行解密

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

下載檔案於%Temp%\{隨機字母組合}

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

5).載荷解壓

通過expand –d 命令獲取當前cab壓縮包中的內容

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

發現其中包含著java7.exe

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

利用extrac32.exe提取壓縮包裡的java7.exe於自啟動資料夾下

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

此外,其會針對系統進行判斷,若不屬於其偵測範圍的則不執行釋放誘餌文件於桌面的行為

但我們在anyrun沙箱中看到了這個操作

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

釋放的doc文件名為:èñïðàâëåííûé âàðèàíò_18.11.2019ã.doc

並且執行

誘餌介面為

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

部分譯文為:

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

由此可見該活動針對的是烏茲別克的外交部門

並且惡意樣本會記錄該資訊,base64編碼後以Post形式反饋給C2

(OD:)

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

(Anyrun:)

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

收集之前的解壓cab檔案記錄,以及解壓後的檔案路徑以及遍歷啟動資料夾內的存在,確保後門的持久化執行

6).載荷清理

釋放s.bat於%Temp%\下

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

寫入s.bat

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

如下圖所示

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

主要內容是判斷你所執行的exe是否存在,若存在則刪除,若不存在則刪除自身

為了方便大家看著方便,筆者畫了一幅流程圖便於大家方便理解

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

(三).網路模組

(Octopus 被控端)

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析

經過exeinfo PE查殼後發現其依舊使用delphi編寫

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

(一).獲取%AppData%路徑,並且釋放.setting.ini,寫入配置

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

(二).像中轉c2發出中轉請求

和載入器的手段一樣,不再贅述

傳送check請求,判斷存活

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

傳送Servers請求獲得中轉C2的json格式

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

拼湊字串得到C2

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

(三).收集資訊

1).收集當前計算機名稱

執行命令

C:\windows\system32\wbem\WMIC.exe computersystem get name /format:list

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

2).收集系統安裝時間

執行

C:\windows\system32\wbem\WMIC.exe os get installdate /format:list

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

3).獲取本地碟符

執行

C:\windows\system32\wbem\WMIC.exe path CIM_LogicalDiskBasedOnPartition get Antecedent,Dependent

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析

4).收集序列號

執行

C:\windows\system32\wbem\WMIC.exe path win32_physicalmedia where tag="\\\\.\\PHYSICALDRIVE0" get serialnumber /format:list

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析

此外,被控端擁有與記載器類同的收集資訊部分,這裡就不再贅述

(四)傳送報文並接受回顯

將收集到的資訊以如下方式組成json格式 

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析

Base64編碼後以Post方式向http[:]//cookiesqueen[.]com/innovative.php

?query=c558838690881fa7f75807cfa94b3713傳送報文

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

報文解密後

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

接受返回指令為{“rt”:”30”}

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

三.組織關聯

根據卡巴斯基於2018.10.15釋出的關於DustSquad組織使用Octopus惡意軟體攻擊中亞地區的報告來看

(連結放在附錄部分)

該活動與本活動有以下的幾點共性

1).釋放於自啟動資料夾的被控端都擁有相同的Java圖示

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

2).擁有部分重合的程式碼邏輯

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

3).相似的C2報文格式

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

4).類似的C2中轉方式

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

5).相同的資訊收集指令

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析
 

根據以上資訊我們基本上可以判斷這次的攻擊屬於DustSquad組織利用Octopus惡意軟體攻擊烏茲比克斯坦的外交實體

四.總結

該組織能夠熟練的進行投遞rar檔案的資訊對目標進行攻擊,並且使用Delphi的惡意軟體,以及通過入侵一些正常網站,上傳C2中轉的PHP檔案做到中轉C2的操作,這樣既可以避免了防毒軟體的靜態查殺,又可以隨時撤走載荷。

五.IOCs

伸向中亞地區的觸手——DustSquad APT組織針對烏茲別克的活動分析

C2:

http[:]//cookiesqueen[.]com/innovative.php

http[:]//poisonfight[.]com/idea.php

URL:

http[:]//poisonfight[.]com/idea.php?check= c558838690881fa7f75807cfa94b3713

http[:]//poisonfight[.]com/idea.php?servers= c558838690881fa7f75807cfa94b3713

http[:]//poisonfight[.]com/idea.php?servers= c558838690881fa7f75807cfa94b3713

http[:]//poisonfight[.]com/idea.php?query= c558838690881fa7f75807cfa94b3713

執行命令:

WMIC.exe computersystem get name /format:list

WMIC.exe os get installdate /format:list

WMIC.exe path CIM_LogicalDiskBasedOnPartition get Antecedent,Dependent

WMIC.exe path win32_physicalmedia where tag="\\\\.\\PHYSICALDRIVE0" get serialnumber /format:list

釋放檔案:

{自啟動資料夾}/Java7.exe

%AppData%\.settings.ini

%userprofile%\Desktop\èñïðàâëåííûé âàðèàíò_18.11.2019ã.doc

%Temp%\{隨機字元}

相關文章