Turla也被稱為Snake、Uroburos、Waterbug和WhiteBear。由GData在2014年揭露後,卡巴斯基、賽門鐵克、ESET持續對該組織進行追蹤與分析。可以根據該組織使用的惡意檔案的編譯時間推遲至早在2011年。追溯到2006年,可以發現惡意檔案Agent.BTZ與該組織存在關聯,這一結論是基於對程式碼和功能的比對。因此可以推測出該組織早在2006年就已經開始進行攻擊。
Turla團隊採用rootkit技術監視計算機,以實現資料竊取。這個方法在Windows早期版本的系統中非常實用,可以有效隱藏在電腦中,並且擁有較高權限。從Windows vista開始,微軟加強了對第三方驅動載入過程的控制,需要取得憑證並由使用者同意才能正常安裝。因此Turla組織轉而使用更複雜的侵入過程並植入不帶rootkit套件的遠控軟體對資訊進行採集,但這增大了被發現的幾率。
Turla組織的攻擊目標跨足政府機構、使館、軍事機構、教育研究機構和製藥公司。最初在攻擊美國情報部門後被披露。在最近幾年,該組織曾針對德國外交部和法國軍隊相關公司的伺服器進行攻擊,並竊取了大量情報資訊。
對Turla組織所使用的惡意軟體進行分析後,總結以下資訊:
1、攻擊者在撰寫惡意軟體時輸出的debug訊息是英文,但不是母語;
2、攻擊者的基礎設施來自俄羅斯;
3、以攻擊者使用的預設語言為俄語;
4、Agent.BTZ中也出現了類似的痕跡。
因此,將其定為來自俄羅斯的威脅攻擊組織。
Turla組織撕開防禦設備的方法是透過運用社會工程手段的魚叉攻擊以及水坑攻擊來完成。
在最初被發現的攻擊過程中,攻擊者使用了帶有漏洞的PDF文件,並透過電子郵件投遞。利用社會工程學手段引誘使用者點擊這份PDF文件並將其轉發給同事或上級。同時,附件中也存在「.SCR」副檔名的惡意軟體安裝程序,在安裝時釋放RAR檔案並開啟內建的正常PDF檔案。
圖正常的PDF檔案
與此類似的攻擊手法伏影實驗室在4月發布的疫情攻擊相關的文章也有詳細分析。
2010-2016年間,該組織始終利用瀏覽器進行攻擊,包括水坑攻擊以及0day漏洞。攻擊者對攻擊網站植入下圖中識別出來的惡意JavaScript腳本,當使用者造訪被攻陷的網站時,即執行該JavaScript腳本。
經過整理,我們取得了所有的曾經被攻擊過的網站及其名稱:
上述網站在14-17年間被用作水坑攻擊的站點,這些站點被嵌入了JavaScript代碼,在用戶訪問的時候執行,其功能大多為獲取瀏覽器的插件列表,屏幕分辨率等信息。同時,Turla在進行攻擊時會主動選擇他們感興趣的用戶,下發惡意文件,而最重要的一種形式是利用假的Adobe Flash安裝包安裝後門。
Turla比較有特點的攻擊方式是利用Adobe進行攻擊誘騙,這種結果也與捕獲的方向有關,相當一部分政府的網站在建設成型以後,很少會快速迭代更新,使用更先進的體系結構,而Adobe Flash這個存在大量漏洞的插件已經深度的整合在這些網站中。因此,在捕捉相關威脅時,與Adobe Flash相關的攻擊從未缺席。
2.3 MITM流量劫持與修改
Turla組織在進行攻擊時,透過MITM(中間人攻擊)來劫持Adobe的網絡,使得用戶在請求下載最新的軟體更新包時,替換使用者的下載內容,在使用者無感的情況下下載惡意軟體,並完成對目標主機的控制。然而,這種方法需要獲得核心路由的存取權限並可能需要在企業或政府的關鍵節點上進行駭客攻擊。
但是在用戶側觀察到的攻擊過程則顯得非常簡單,例如用戶訪問以下鏈接,該鏈接歸屬於Adobe公司,是Adobe的子域名,http://admdownload.adobe.com/ bin /live/flashplayer27_xa_install.exe,透過此連結下載Turla的惡意文件,但是該請求的http頭中的referer欄位被更改成了:
http://get.adobe.com/flashplayer/download/?installer=Flash_Player,这个地址与正常下载Adobe的域名相同,协议不同。分析认为,这里是为了绕过Adobe检测机制而插入的referer信息,以便于能够正常访问到admdownload.adobe.com。
Turla组织常用RAT简析
在侵入内部网络后,Turla组织会对目标进行筛选,挑选出感兴趣的,具有高价值信息的目标,并在感染设备上投放恶意软件。从2011年起至今,Turla被发现针对Windows、Linux、MacOS平台均开发了对应的恶意软件,持续窃取机密信息。
该后门会对环境进行检测和处理,通过识别一些网络监测工具来判断是否可以执行,包括:tcpdump.exe、windump.exe、ethereal.exe、wireshark.exe、dsniff.exe。在与C2进行通信则采用了HTTP协议,通过对
此後門用ID來對受害者進行標記,在第一次進行通訊時,會發送帶有電腦資訊的資料包到C2,並且使用加密演算法對傳送內容進行加密,但是攻擊者將金鑰也透過這種方式進行傳輸,因此可以對流量進行解密分析。
當Turla組織根據回傳訊息判斷出目標值得更進一步的攻擊時,攻擊者才會將第二階段的後門部署在目標裝置上。可以將第一階段後門理解為Turla組織的攻擊試探,這種方式能夠有效的避免將Uroburos下載到無關設備上,減少暴露風險。
Uroburos是最出名的一個後門,在Turla第一次被發現時,從被攻陷裝置中提取出來的一個rootkit後門。為了確保攻擊行為的隱密性和效率,攻擊者在使用後門的同時也使用了一個加密的虛擬檔案系統。
Uroburos透過建立服務來保證自身能持續駐留在系統中,在登錄中可以找到以下鍵值資訊:
HKLM\System\CurrentControlSet\Services\Ultra3
Uroburos的主要功能如下:
l 關鍵函數hook
l 解密虛擬檔案系統
l 注入Ring3層
l C&C通訊
l 封包抓取
Inline hook
Uroburos採用Inline hook的方式對關鍵函數進行修改,如:
對ZwQueryKey(), ZwEnumerateKey (), ZwCreateKey() 和ZwSaveKey()函數hook,目的是為了隱藏在註冊表中增加的持續駐留用的鍵。
對ZwReadFile()函數hook,是為了隱藏自身檔案。
對ZwQuerySystemInformation()函數hook,是為了隱藏驅動程式物件。
對ZwTerminateProcess()函數hook,是為了在停止工作時對環境進行清理,避免藍屏等問題出現。
對ObOpenObjectByName()函數hook,是為了隱藏虛擬檔案系統。
部分hook函數清單
Uroburos提供了NTFS和FAT32兩種虛擬檔案系統以適應不同情況的設備,透過此虛擬檔案系統,攻擊者可以在系統中存放竊取的數據,駭客工具抑或是需要輸出的運行日誌訊息,而透過對核心函數的hook,也避免了被殺軟找到該虛擬檔案系統,從而提高了隱蔽性,同時,因不會佔用系統磁碟,在用戶側的感知幾乎為0。
此虛擬檔案系統使用CAST-128進行加密,密鑰硬編碼在驅動檔案中,在驅動掛載運行時進行解密,解密後,該檔案系統中存放.bat腳本,該腳本通過使用net指令進行內部網路機器發現,取得區域網路中機器的基礎資訊以供橫向移動時使用。
在檔案系統中還有一個佇列文件,每一個佇列文件中都包含一個uid、型別、時間戳記和載重,載重還包含一個用於解密的key。分析其他檔案擷取記錄,可以發現還可能包括設定檔和其他類型的檔案。
Uroburos支援對流量進行抓取,並對封包進行修改和攔截。可以處理HTTP,ICMP,SMTP協定流量,可以透過命名管道來取得應用層傳輸的資訊。
同時,攻擊者預留了介面用於增加新的協定和新的方法來對流量進行處理,攻擊者透過對虛擬檔案系統中包含的檔案進行更新來達到持續攻擊的目的。
Uroburos提供tcp、enc、np、reliable、frag、udp、m2d、doms、t2m、domc通訊方式。在程式碼中可以看到np,reliable,frag,enc,m2b,m2d是透過NamedPipe進行通訊。 tcp,udp都是在驅動層構造封包進行通訊。
攻擊者在入侵的初期會判斷被攻擊目標的價值,在引起攻擊者的興趣後,攻擊者會將Carbon後門植入到設備中。 Carbon is a modular tool that achieves corresponding functions by replacing different plugins.。
在初期捕獲的Carbon樣本中,其插件模組被放置在資源段中,其中最主要的模組是一個叫做carbon_system.dll的模組,該模組存在2個導出函數,ModuleStart和ModuleStop。在ModuleStart函數中,會建立多個互斥體用於區分不同的模組單元,並在System\\目錄下建立log文件,用於記錄執行過程中產生的debug資訊。
carbon_system.dll作為主功能模組,會建立windows命名管道用於其他模組間的通信,接收其他功能模組獲取的信息,並將其寫入文件中,等待上傳。 carbon_system.dll透過GetDiskFreeSpaceExA取得磁碟訊息,用於監視磁碟使用情況,當磁碟寫滿後,會將「求助資訊」寫入到待上傳日誌檔案中,通知攻擊者。
carbon_system.dll透過LoadLibrary呼叫其他模組,並呼叫start函數啟動,在日誌中記錄啟動時間,模組名稱等資訊。
也會蒐集目前裝置上運行的進程訊息,監視進程變化,並將進程資訊記錄在日誌檔案中,同樣的,仍然是使用管道來進行資料的傳輸。
carbon在執行任務時會從設定檔讀取特定的任務資訊:
task_id | task_filepath | task_config_filepath | task_result_filepath | task_log_filepath | [execution_mode | username |#password]
此後門透過文件傳播,利用巨集進行攻擊,在巨集程式碼中,偵錯可以發現,該初始程式碼透過xor演算法對資料進行解密,解密後的資料寫入mailform.js檔案中,釋放檔案儲存在%APPDATA%\Microsoft\Windows路徑下:
執行該mailform.js文件,傳入參數NPEfpRZ4aqnh2YuGwQd0,該參數是R**密鑰,負責解密內建的數據,解碼後,仍然是一個JavaScript文件,該文件即為KopiLuwak後門。
移動自身文件,依系統版本不同,前往不同資料夾:
c:\Users\
c:\Users\
c:\Documents and Settings\
透過設定登錄HKEY_CURRENT_USER\software\microsoft\windows\ccurrentversion\run\來完成持久化駐留,鍵值為wscript.exe mailform.js 「NPEfpRZ4aqnh2YuGwQd0」。
透過cmd.exe執行以下指令,並將結果寫入與mailform.js同一目錄下的~dat.tmp檔案中,並使用R**演算法對結果進行加密,金鑰為「2f532d6baec3d0ec7b1f98aed4774843 ”,加密後刪除原始檔案:
systeminfo
net view
net view /domain
tasklist /v
#gpresult / z
netstat -nao
ipconfig /all
arp -a
net share
##net use#net usernet user administratornet user /domainnet user administrator /domain #dir %systemdrive%Users* .*dir %userprofile%AppDataRoamingMicrosoftWindowsRecent*.*dir %userprofile�sktop*.*tasklist /fi “modules eq wow64.dll”##tasklist /fi “modules eq wow64.dll”
tasklist /fi “modules ne wow64.dll”
dir “%programfiles(x86)%”
dir “%programfiles%”
dir %appdata%
該後門內建了兩個位址:http://soligro.com/wp-includes/pomo/db.php, http://belcollegium.org/wp-admin/includes/class-wp-upload -plugins-list-table.php,用於通訊,可以透過路徑推斷第二個網站使用了WordPress,並被攻擊者攻陷,用於C2託管。
利用POST方法將前述加密資料傳送到這兩個網站其中任一個中,其中發送的User-Agent欄位除了使用"Mozilla/5.0 (Windows NT 6.1; Win64; x64);填充外,在末尾補充了當前計算機名稱生成的一個UID,算法如下,其中zIRF代表字符串“KRMLT0G3PHdYjnEm”,Vxiu代表當前計算機用戶名:
##C2在接收到數據後,會回復四種指令:當接收到work指令時,會將蒐集到資訊全部傳回C2,接收到fail指令時,則清理登錄HKEY_CURRENT_USER\software\microsoft\windows\ccurrentversion\runccurrentversion\runcc \中的數據。
總結Turla組織是目前APT團夥中使用最為複雜攻擊工具的組織之一,其目標涵蓋了歐洲各國外交部,軍隊,歐洲、美洲等國家的情報部門。該組織在早期的攻擊行動中,使用其自主開發的武器對外發動攻擊,這些武器具有明顯的特徵。在近幾年,該組織轉而大規模使用開源平台,如MSF、cobalt strike等建構的後門,入侵攻擊,橫向移動工具等,將自身行動掩蓋在大量的攻擊活動中,以期獲得更多的情報信息,延緩被發現和檢測的時間。同時,該組織善於使用水坑網站對目標進行滲透,在很長一段時間內,都不容易被發現,因此對於該組織的防禦應著重關注網頁訪問記錄,排查偽造域名的政府、基礎網站,以此來降低被攻擊的風險。以上是Turla組織指的是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!