APT Group系列:來自北極熊的威脅——Turla
Turla組織概述
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組織入侵手法
Turla組織撕開防禦裝置的方法是透過運用社會工程學手段的魚叉攻擊以及水坑攻擊來完成。
2.1 社會工程學攻擊
在最初被發現的攻擊過程中,攻擊者使用了帶有漏洞的PDF檔案,並透過電子郵件進行投遞。透過社會工程學誘導使用者點選執行該PDF檔案,併傳送給同事或職位更高的人員。同時,附件中也存在“.SCR”副檔名的惡意軟體安裝程式,在安裝時釋放RAR檔案並開啟內建的正常PDF檔案。
圖 正常的PDF檔案
與此類似的攻擊手法伏影實驗室在4月釋出的疫情攻擊相關的文章也有詳細分析。
2.2 水坑攻擊
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攻擊技術梳理
ATT&CK矩陣
Turla組織常用RAT簡析
在侵入內部網路後,Turla組織會對目標進行篩選,挑選出感興趣的,具有高價值資訊的目標,並在感染裝置上投放惡意軟體。從2011年起至今,Turla被發現針對Windows、Linux、MacOS平臺均開發了對應的惡意軟體,持續竊取機密資訊。
4.1 第一階段後門——The Epic
該後門會對環境進行檢測和處理,透過識別一些網路監測工具來判斷是否可以執行,包括:tcpdump.exe、windump.exe、ethereal.exe、wireshark.exe、dsniff.exe。在與C2進行通訊則採用了HTTP協議,透過對<div>something</div>格式的內容進行解析,來獲取C2下發的指令。
該後門用ID來對受害者進行標記,在第一次進行通訊時,會傳送帶有計算機資訊的資料包到C2,並且使用加密演算法對傳送內容進行加密,但是攻擊者將金鑰也透過這一方式進行傳輸,因此可以對流量進行解密分析。
當Turla組織根據回傳資訊判斷出目標值得進行更進一步的攻擊時,攻擊者才會將第二階段的後門部署在目標裝置上。可以將第一階段後門理解為Turla組織的攻擊試探,這種方式能夠有效的避免將Uroburos下載到無關裝置上,減少暴露風險。
4.2 第二階段後門——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。根據GDATA捕獲的其他檔案的分析,可能還包括配置檔案,檔案等資訊。
資料包抓取
Uroburos支援對流量進行抓取,對資料包進行修改和攔截。可以處理HTTP,ICMP,SMTP協議流量,可以透過命名管道獲取應用層傳輸的資訊。
同時,攻擊者預留了介面用於增加新的協議和新的方法來對流量進行處理,攻擊者透過對虛擬檔案系統中包含的檔案進行更新來達到持續攻擊的目的。
C&C通訊
Uroburos提供tcp、enc、np、reliable、frag、udp、m2d、doms、t2m、domc通訊方式。在程式碼中可以看到np,reliable,frag,enc,m2b,m2d是透過NamedPipe進行通訊。tcp,udp都是在驅動層構造資料包進行通訊。
4.3 第二階段後門——Carbon
攻擊者在入侵的初期會判斷被攻擊目標的價值,在引起攻擊者的興趣後,攻擊者會將Carbon後門植入到裝置中。Carbon是一個模組化的工具,透過替換不同的外掛來實現對應功能。
在初期捕獲的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]
每一個任務都有自己獨立的id號,透過額外的引數來指定執行的方式和方法。
carbon_system.dll就如同一個控制終端一樣,是一個體系化開發的攻擊套件,可以任意增加或刪除模組,只需要提供對應的匯出函式即可呼叫,並且,carbon_system.dll透過監控不同模組產生的日誌資訊,來判斷是否成功執行了命令,這也在一定程度上,隱藏了攻擊者的活動。
同時,Turla還提供了64位版本的carbon_system.dll檔案,以適應x64環境。在64位版本中,Turla並沒有刪除PDB資訊,可以看到其專案名稱是cobra。
f:\Workshop\Projects\cobra\carbon_system\x64\Release\carbon_system.pdb
但是在x86版本中並未發現該PDB資訊,攻擊者在編譯完成後,並沒有對x64版本操作,直接打包到了carbon_system的loader檔案中。
4.4 第二階段後門——Carbon其他版本
carbon v3.51與4.3節中提到的最初版本區別在於通訊部分,v3.51中透過http請求來與C2進行互動,並在其中隨機填充了例如:www.yahoo.com,www.bbc.com,www.google.com等域名,用以隱藏自身流量,部分下載和獲取的資訊儲存在\\\\.\\IdeDrive1\\\\Results\\result.txt檔案中。這裡提到的\\\\.\\IdeDrive1\\\\目錄是虛擬檔案系統中的目錄。
在此版本中,攻擊者刪除了對磁碟檔案的監控,不再報告被感染裝置的儲存情況,降低每次傳輸的資訊資料量。而對執行程式的獲取則集中在tcpdump.exe、windump.exe、windump.exe、wireshark.exe、wireshark.exe、snoop.exe。當發現了此類程式後,會記錄日誌進行回傳:
在v3.61版本的carbon模組中可以找到一些debug資訊,與上一版本不同的是,這次的debug資訊是留存在x86架構的惡意檔案中,並未被清理:
4.5 第二階段後門——Mosquito
該後門的loader部分會先進行自解密,得到程式碼。解密後的程式碼透過計算函式名hash來查詢所需要呼叫的函式地址。這兩個函式並沒有加密儲存,透過IDA等工具可以直接看到其程式碼,自解密函式為sub_5711E0,計算hash函式為sub_570E10。完成函式的匯入之後,從自身檔案中讀取資料並進行解密,解密函式為sub_56D480,解密後是兩個PE檔案,寫入到磁碟中。
日誌內容寫入檔案%APPDATA%\Roaming\kb6867.bin中。
釋放的檔案包含主後門程式,該後門透過loader載入,在執行時透過對EAT表進行修改來增加函式進行匯出,對原始匯出表進行修改。
替換後的函式先對加密後的庫檔名和函式名進行解密,並透過動態載入的方式,得到函式地址,接著建立名為\\.\pipe\ms32loc的命名管道,隨後建立執行緒,等待其他程式的連入。該後門透過設定登錄檔項,來寫入一些基礎配置資訊。登錄檔路徑如下:HKCU\Software\Microsoft\[dllname],填入資訊如下:
4.6 第二階段後門——Javascript後門
第一種JavaScript用於替換Mosquito後門,利用假的Adobe Flash Player安裝包進行安裝。
獲取返回的資料,並用base64解碼執行。
第二種JavaScript檔案讀取%programdata%\ 1.txt並使用eval函式執行其內容。在HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Run中新增local_update_check來開機啟動。
4.7 第二階段後門——KopiLuwak
此後門透過文件進行傳播,利用宏進行攻擊,在宏程式碼中,除錯可以發現,該初始程式碼透過xor演算法對資料進行解密,解密後的資料寫入mailform.js檔案中,釋放檔案儲存在%APPDATA%\Microsoft\Windows路徑下:
執行該mailform.js檔案,傳入引數NPEfpRZ4aqnh1YuGwQd0,該引數是RC4金鑰,負責解密內建的資料,解碼後,仍然是一個JavaScript檔案,該檔案即為KopiLuwak後門。
移動自身檔案,根據系統版本不同,轉到不同資料夾中:
c:\Users\<USERNAME>\AppData\Local\Microsoft\Windows\mailform.js
c:\Users\<USERNAME>\AppData\Local\Temp\mailform.js
c:\Documents and Settings\<USERNAME>\Application Data\Microsoft\Windows\mailform.js
透過設定登錄檔HKEY_CURRENT_USER\software\microsoft\windows\ccurrentversion\run\來完成持久化駐留,鍵值為wscript.exe mailform.js “NPEfpRZ4aqnh1YuGwQd0”。
透過cmd.exe執行以下命令,並將結果寫入與mailform.js同一目錄下的~dat.tmp檔案中,並使用RC4演算法對結果進行加密,金鑰為“2f532d6baec3d0ec7b1f98aed4774843”,加密後刪除原始檔案:
systeminfo
net view
net view /domain
tasklist /v
gpresult /z
netstat -nao
ipconfig /all
arp -a
net share
net use
net user
net user administrator
net user /domain
net user administrator /domain
set
dir %systemdrive%Users*.*
dir %userprofile%AppDataRoamingMicrosoftWindowsRecent*.*
dir %userprofile%Desktop*.*
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\run\中的資料。
總結
Turla組織是目前APT團伙中使用最為複雜攻擊工具的組織之一,其目標涵蓋了歐洲各國外交部,軍隊,歐洲、美洲等國家的情報部門。在前期的攻擊活動中,該組織使用自研武器對外進行攻擊,特徵較為明顯。在近幾年,該組織轉而大規模使用開源平臺,如MSF、cobalt strike等構建的後門,入侵攻擊,橫向移動工具等,將自身行動掩蓋在大量的攻擊活動中,以期獲得更多的情報資訊,延緩被發現和檢測的時間。
同時,該組織善於使用水坑網站對目標進行滲透,在很長一段時間內,都不容易被發現,因此對於該組織的防禦應著重關注網頁訪問記錄,排查偽造域名的政府、基礎網站,以此來降低被攻擊的風險。
IOC
40aa66d9600d82e6c814b5307c137be5
f4f192004df1a4723cb9a8b4a9eb2fbf
cb1b68d9971c2353c2d6a8119c49b51f
e1ee88eda1d399822587eb58eac9b347
db93128bff2912a75b39ee117796cdc6
a67311ec502593630307a5f3c220dc59
a7853bab983ede28959a30653baec74a
2145945b9b32b4ccbd498db50419b39b
62e9839bf0b81d7774a3606112b318e8
cd4c2e85213c96f79ddda564242efec3b970eded8c59f1f6f4d9a420eb8f1858
bf6f30673cf771d52d589865675a293dc5c3668a956d0c2fc0d9403424d429b2
b51105c56d1bf8f98b7e924aa5caded8322d037745a128781fa0bc23841d1e70
8490daab736aa638b500b27c962a8250bbb8615ae1c68ef77494875ac9d2ada2
fc9961e78890f044c5fc769f74d8440fcecf71e0f72b4d33ce470e920a4a24c3
e7fd14ca45818044690ca67f201cc8cfb916ccc941a105927fc4c932c72b425d
b295032919143f5b6b3c87ad22bcf8b55ecc9244aa9f6f88fc28f36f5aa2925e
b362b235539b762734a1833c7e6c366c1b46474f05dc17b3a631b3bff95a5eec
b79cdf929d4a340bdd5f29b3aeccd3c65e39540d4529b64e50ebeacd9cdee5e9
244896995b6b83f11df944ccda41ed9f1f1d811ebf65d75fe4337fd692011886
05254971fe3e1ca448844f8cfcfb2b0de27e48abd45ea2a3df897074a419a3f4
26a1a42bc74e14887616f9d6048c17b1b4231466716a6426e7162426e1a08030
5d0973324b5b9492ddf252b56a9df13c8953577bdb7450ed165abbe4bf6e72d8
2a61b4d0a7c5d7dc13f4f1dd5e0e3117036a86638dbafaec6ae96da507fb7624
6e7991f93c53a58ba63a602b277e07f7
7481e87023604e7534d02339540ddd9565273dd51c13d7677b9b4c9623f0440b
d2a0eec18d755d456a34865ff2ffc14e3969ea77f7235ef5dfc3928972d7960f
05d07279ed123b3a9170fa2c540d2919
參考連結
https://media.kasperskycontenthub.com/wp-content/uploads/sites/43/2018/03/08080105/KL_Epic_Turla_Technical_Appendix_20140806.pdf
https://media.kasperskycontenthub.com/wp-content/uploads/sites/43/2014/08/20082353/GData_Uroburos_RedPaper_EN_v1.pdf
https://media.kasperskycontenthub.com/wp-content/uploads/sites/43/2014/08/20082358/uroburos.pdf
https://www.circl.lu/pub/tr-25/
https://www.welivesecurity.com/wp-content/uploads/2017/08/eset-gazer.pdf
https://www.welivesecurity.com/2017/03/30/carbon-paper-peering-turlas-second-stage-backdoor/
https://unit42.paloaltonetworks.com/unit42-kazuar-multiplatform-espionage-backdoor-api-access/
https://www.welivesecurity.com/wp-content/uploads/2018/01/ESET_Turla_Mosquito.pdf
https://www.welivesecurity.com/2019/05/29/turla-powershell-usage/
https://securelist.com/shedding-skin-turlas-fresh-faces/88069/
https://securelist.com/kopiluwak-a-new-javascript-payload-from-turla/77429/
https://securelist.com/introducing-whitebear/81638/
https://www.welivesecurity.com/2018/05/22/turla-mosquito-shift-towards-generic-tools/
https://attack.mitre.org/groups/G0010/
關於伏影實驗室
伏影實驗室專注於安全威脅研究與監測技術,包括但不限於威脅識別技術,威脅跟蹤技術,威脅捕獲技術,威脅主體識別技術。研究目標包括:殭屍網路威脅,DDOS對抗,WEB對抗,流行服務系統脆弱利用威脅、身份認證威脅,數字資產威脅,黑色產業威脅 及 新興威脅。透過掌控現網威脅來識別風險,緩解威脅傷害,為威脅對抗提供決策支撐。
相關文章
- Satellite Turla: APT Command and Control in the Sky2020-08-19APT
- polarbear北極熊高畫質動態桌布2020-08-25
- 2022年度APT高階威脅報告:從俄烏衝突看網路衝突威脅2023-02-06APT
- APT2015—中國高階持續性威脅研究報告2020-08-19APT
- 2022年度APT高階威脅報告:地緣衝突下的APT攻擊發展趨勢2023-02-06APT
- 智慧城市帶來的網路威脅有哪些?2020-01-04
- 2019年上半年高階持續性威脅(APT)研究報告2019-07-24APT
- 如何防範來自雲端計算運營商的資料安全威脅2020-05-12
- 騰訊安全:2018年高階持續性威脅(APT)研究報告2019-01-02APT
- 把大象當襪子,把北極熊當開瓶器:可以,這很AI2019-01-15AI
- AI的存在不是威脅真正的威脅是沒有正確使用AI2018-05-15AI
- “海蓮花”APT報告:攻擊中國政府海事機構的網路空間威脅2020-08-19APT
- 什麼是網路安全威脅?常見威脅有哪些?2023-12-21
- 綠盟威脅情報專欄|6月威脅熱點2020-07-08
- 綠盟威脅情報專欄|7月威脅熱點2020-08-06
- 威脅建模基礎2020-08-30
- 郵件安全威脅2019-05-09
- 2020年新威脅,無人機可能成為主要的網路安全威脅2019-11-07無人機
- 新基建下的威脅狩獵|看綠盟綜合威脅分析系統2020-12-09
- 全球頂尖極客匯聚GeekPwn 2021,解構智慧生活安全威脅2021-10-24
- GeekPwn 2022安全極客大賽正式開賽,揭秘智慧生活安全威脅2022-10-29
- 對於“AI威脅論”的思考2020-07-23AI
- Websense網際網路威脅報告:Web威脅更具混合性2019-05-14Web
- 網路安全威脅資訊格式規範正式釋出 國內威脅情報發展迎來新階段2018-10-19
- DDoS攻擊的大量增加給企業帶來了新的威脅—Vecloud2021-03-03Cloud
- “汽車黑客開山鼻祖”亮相CSS2018帶來自動駕駛與安全威脅的全新探索2018-08-29黑客CSS自動駕駛
- Secureworks 威脅評分迎來網路安全 AI 新時代2024-02-04AI
- 俄方披露:全球75%網路攻擊源頭來自美國,網路威脅持續升級2020-09-02
- 北極科考:我們為什麼要在北極呆上一年?2021-01-02
- 安全要素與 STRIDE 威脅2019-02-27IDE
- ClickHouse與威脅日誌分析2018-06-07
- 供應鏈威脅和漏洞2022-11-22
- Sophos:2021年威脅報告2021-04-06
- RSA2019趨勢觀察:威脅發現和響應的自動化2019-03-14
- 綠盟威脅情報2020年9月專版,就等你來!2020-09-16
- 實踐之後,我們來談談如何做好威脅建模2021-04-30
- 網路中的內部威脅處置2019-02-26
- 霍金已逝,人工智慧的威脅還在!2018-03-15人工智慧