黑暗幽靈(DCM)木馬詳細分析

wyzsk發表於2020-08-19
作者: 騰訊電腦管家 · 2016/04/13 9:14

0x00 背景


只要插上網線或連上WIFI,無需任何操作,不一會兒電腦就被木馬感染了,這可能嗎?近期,騰訊反病毒實驗室攔截到一個“黑暗幽靈”木馬的新變種,該木馬功能強大,行為詭異,本文將對其進行詳細分析,以下是該木馬的主要特點:

  1. 木馬功能強大,主要以資訊情報收集為主,能夠監控監聽大量的聊天軟體,收集網路訪問記錄、監控Gmail、擷取螢幕、監控麥克風和攝像頭等。
  2. 木馬對抗性強,能夠繞過幾乎全部的安全軟體主動防禦,重點對抗國內安全軟體,能夠呼叫安全軟體自身的介面將木馬加入白名單,作者投入了大量的精力逆向研究安全軟體。
  3. 木馬感染方式特別,透過網路劫持進行感染,主要劫持主流軟體的自動更新程式,當這些軟體聯網下載更新程式時在網路上用木馬替換,導致使用者無感中毒。
  4. 木馬通訊方式特別,木馬將資料封裝成固定包頭的DNS協議包,傳送到大型網站來實現資料傳輸,此方法可以繞過幾乎全部的防火牆,但是駭客要擷取這些資料,必須在資料包的必經之路上進行嗅探攔截,結合木馬的感染方式,可以推測出在受害者網路鏈路上存在劫持。
  5. 木馬攻擊範圍較小,針對性強,且持續時間長達數年,符合APT攻擊的特性。

0x01 木馬行為概述


1.1 來源與傳播途徑

經過對大量受感染使用者的分析,我們發現該木馬來源於不安全的網路,無任何系統漏洞的機器只要連線到這些網路後,在一段時間後會感染木馬,經分析發現木馬主要透過在網路上劫持替換大量軟體的自動更新程式進而感染電腦。當安裝在電腦上的軟體進行自動更新時,更新包被替換成木馬,導致電腦被入侵。木馬傳播示意圖如圖1所示。

p1 圖1. 木馬主要傳播途徑示意圖

1.2 木馬安裝流程

木馬執行後會判斷本機安裝的安全軟體,會檢測多達43款安全相關軟體,當檢測到不同的安全軟體後,執行不同的安裝方式,以實現繞過安全軟體的檢測和攔截。經分析發現該木馬主要有三種不同的安裝方式,木馬最終安裝啟動的方式為將核心dll釋放到explorer同目錄下,對其進行dll劫持啟動。如圖2中三種顏色分別代表三種不同的安裝方式,經測試該木馬能夠繞過當前絕大部分安全軟體的防禦和攔截最終成功安裝。

p2 圖2. 木馬安裝流程示意圖

1.3木馬功能分解

該木馬主要功能是竊取計算機各種資訊,透過外掛監控監聽各種常用聊天軟體的語音文字聊天資訊,接受指令進行簡單的遠端操控,將自動化收集到的各種資訊檔案打包傳送。如圖3所示為木馬功能一覽。

p3 圖3. 木馬功能一覽

1.4 木馬網路通訊

該木馬的網路通訊方式與木馬的傳播方式相呼應,木馬將收集到的各種資訊打包成檔案,隨後將其加密並封裝成DNS請求包,並將這些資料包傳送到國內幾大知名網站伺服器。這樣的通訊方式可以繞過幾乎所有的防火牆、入侵檢測產品,然而駭客如何取得這些資料包從而獲得竊取的資料呢?經分析發現其封裝的DNS資料包都有著相同且固定的資料包頭,因此我們推測駭客會在資料包必經之路上對資料包進行攔截轉發到駭客伺服器,從而獲得收集到的資訊,如圖4所示為推測出的木馬通訊資料包投遞流程。

p4 圖4.木馬網路通訊方式推測

0x02 木馬詳細分析


2.1 安裝釋放

2.1.1母體結構

該木馬的母體程式為一個exe可執行檔案,透過網路劫持正常軟體的更新程式而被下載執行,該檔案中包含5個資原始檔,均為簡單加密的PE檔案,其中141為x86版核心dll、142為lsp劫持dll、146為x64版核心dll、150為白加黑黑檔案,151為白加黑白檔案,以下將詳細分析。

p5 圖5. 母體資源資訊

2.1.2 適應多種系統,不同系統不同行為

判斷作業系統版本,設定全域性變數,隨後將根據該全域性變了進行大量的不同操作。

p6 圖6. 判斷作業系統版本並設定標誌

2.1.3 利用系統漏洞提權

判斷當前系統是否為vista、win7等,如果是則檢測當前程式是否具有管理員許可權,如果沒有該木馬會嘗試透過CVE-2011-1249將自身提升為管理員許可權。該漏洞影響xp、vista、win7等多種版本作業系統。

p7 圖7. 木馬利用CVE-2011-1249漏洞提權

2.1.4 對explorer進行dll劫持

透過登錄檔檢測本機安裝的安全軟體,當目標系統沒有安裝安全軟體時,木馬將根據作業系統釋放劫持dll到%windir%目錄下對explorer進行劫持啟動,在xp等系統下木馬釋放ntshrui.dll、在win7等系統釋放msls32.dll,在win8等系統釋放AduioSes.dll。隨後啟動一個新的explorer程式載入核心dll開始工作,此為第一種安裝方式。

p8 圖8. 木馬透過釋放dll到explorer同目錄進行劫持啟動

2.2 對抗安全軟體

2.2.1 暫存核心檔案

如果檢測到趨勢等國際安全軟體而又未檢測到國內主流安全軟體時,木馬會將核心dll釋放到%CommonProgramfiles%的一個子目錄下,暫時存放。

p9 圖9. 暫時存放核心dll

2.2.2 釋放dll並安裝lsp

同時釋放lsp劫持dll,並新增lsp,透過lsp,該dll可以注入到所有具有網路連線的程式中。在注入的程式中進行dll檔案的移動,從而繞過安全軟體,此為第二種安裝方式。

p10 圖10. 釋放lsp劫持dll

p11 圖11. 安裝lsp

2.2.3 釋放白加黑對抗殺軟

當存在國內主流安全軟體時,木馬為了繞過針對lsp安裝的攔截使用了白加黑技術

p12 圖12. 木馬釋放白加黑兩個檔案,準備繞過主防

2.2.4 透過白加黑安裝lsp過主防

木馬透過白加黑技術,並加以一系列複雜技巧繞過主動防禦實現安裝lsp,經測試大部分安全軟體的主動防禦均被繞過。

p13 圖13. 透過白加黑繞過主防安裝lsp

2.2.5 繞過殺軟對explorer進行dll劫持

安裝lsp後,相關dll便以lsp劫持的方式插入到所有聯網程式中,包括svchost、瀏覽器、聊天軟體、安全軟體等。Dll載入後首先判斷當前程式,符合條件則將之前備份的核心dll移動到%windir%目錄進行劫持(重啟後移動)。此為第三種安裝方式。

p14 圖14. 將核心dll移動到%windir%目錄進行劫持

2.2.6 載入核心dll

隨後木馬判斷自身是否位於ie、svchost、殺軟等程式,以進行不同的行為,同時嘗試直接載入核心dll(如果沒載入,劫持需要等系統重啟後核心dll才會被載入)

p15 圖15. 根據當前程式名決定是否立即載入核心dll

2.2.7 惡意操作殺軟白名單,免殺

木馬判斷自身是否位於各種安全軟體程式中,如果是則呼叫安全軟體自身介面進行白名單新增,會將所有木馬檔案路勁新增到殺軟白名單中。經測試,涉及到的安全軟體均能正常新增白名單。

p16 圖16. 某安全軟體白名單新增相關程式碼

2.2.8 lsp阻止安全軟體聯網,阻斷雲查

透過lsp過濾函式對WSPSend、WSPSendTo函式進行過濾,當判斷髮包者是安全軟體程式則直接關閉連線,阻止聯網,阻斷雲查

p17 圖17. 阻止安全軟體聯網雲查

2.3 資訊收集

2.3.1 收集網路卡資訊

收集的網路卡資訊包括網路卡型號、網路卡mac、閘道器ip、閘道器mac等

p18 圖18. 透過傳送arp包獲取閘道器mac地址

2.3.2 收集系統安裝的軟體列表

木馬透過登錄檔Uninstall獲取計算機安裝的軟體列表資訊,將獲取的資訊異或0x87後寫入到C:\WINDOWS\Temp\{E53B9A13-F4C6-4d78-9755-65C029E88F02}\soft.prog檔案中,以下獲取的資訊無特殊說明都位於該目錄下

p19 圖19. 獲取安裝軟體列表

2.3.3 截圖

獲取當前螢幕快照,zip壓縮後儲存為time().v檔案

p20 圖20. 獲取螢幕快照

2.3.4 收集磁碟檔案目錄

獲取磁碟驅動器資訊,包括全盤所有檔案路徑,獲取後zip壓縮到drive.d檔案中

p21 圖21.獲取磁碟檔案資訊

2.3.5 收集IE歷史記錄

透過com獲取瀏覽器歷史記錄資訊,儲存到ie.his

p22 圖22. 獲取瀏覽器訪問記錄

2.3.6 收集裝置資訊

遍歷系統裝置,判斷是否有筆記本電源介面卡、攝像頭、麥克風三種裝置,將結果加密寫入到time().hd檔案中。

p23 圖23.遍歷系統裝置

p24 圖24. 判斷是否有指定裝置

2.3.7 針對瀏覽器進行鍵盤記錄

安裝WH_GETMESSAGE全域性鉤子,安裝後理論上所有具有訊息迴圈的程式均會載入此dll,並呼叫鉤子函式,在鉤子回撥中,判斷當前程式是否是Iexplorer.exe、360se.exe、SogouExplorer.exe三種瀏覽器程式,如果是則進行鍵盤記錄,記錄的包括按鍵資訊、視窗標題,透過imm32.dll該方法還可以記錄中文輸入,記錄到的資訊存為(日期+時間).k檔案。

p25 圖25. 安裝鉤子

p26 圖26. 只記錄指定瀏覽器程式的鍵盤輸入

2.3.8 收集gmail資訊

在記錄鍵盤時,當判斷以上瀏覽器視窗中含有Gmail字元時,會啟動一個執行緒專門收集Gmail資訊,會載入相關外掛,嘗試透過Imap協議下載伺服器上的所有檔案

p27 圖27. 判斷是否正在登入gmail

p28 圖28. 透過外掛嘗試透過IMAP協議收集資料

2.3.8 載入外掛收集各種IM相關資訊

透過程式名判斷skype.exe、cc.exe、raidcall.exe、yy.exe、aliim.exe等即時聊天、語音聊天軟體,載入相關外掛對此類聊天軟體進行監聽監控。

p29 圖29. 根據im軟體程式名載入相關外掛

p30 圖30. 透過外掛的介面可猜測相關外掛主要用於監控聊天資訊

p31 圖31. 木馬針對所有常見通訊軟體均做了監控

2.4、網路通訊

2.4.1通訊協議

此木馬最詭異的地方的通訊方式,該木馬沒有C&C伺服器,所有的資料均偽裝成DNS包傳送到www.baidu.com、www.sina.com、www.163.com域名所在伺服器的53埠或者8000埠。駭客要想獲取這些資料包,必須在資料包從本地計算機到這些網站伺服器的必經之路上進行劫持嗅探。

p32 圖32. 木馬的資料包均傳送到www.sina.com等伺服器上

p33 圖33. 木馬使用udp協議通訊,目標埠為53或者8000

p34 圖34. 木馬偽裝成DNS協議資料包,每個包都有固定的包頭作為標記

p35 圖35.嵌入到DNS協議中的木馬資料,及時專業的網路管理員,也難發現異常

2.4.2 自動上傳收集到的檔案

所有木馬自動收集的檔案,木馬外掛生成的檔案都會被定時打包編號併傳送出去

p36 圖36. 定時讀取相關檔案,打包編號傳送出去,傳送成功後會刪除先關檔案

2.4.2 遠端控制

木馬還會繫結本地一個udp埠,並不斷嘗試收取指令,進行遠端控制,主要的遠端控制功能包括cmdshell、檔案管理、外掛管理等。

p37 圖37.繫結本地一個udp埠

p38 圖38. 不斷嘗試收取控制指令

p39 圖39. 遠控功能

0x03 木馬資訊


3.1安全軟體

木馬檢測多大43款安全軟體,涵蓋了多內全部的安全產品及國外較有名的安全產品,從安全軟體來看,該木馬主要針對國內使用者

p40 圖50. 木馬檢測的安全軟體列表

3.2 其它資訊

從木馬的互斥體、除錯資訊等可看出DCM應該是該木馬的代號,但是什麼的縮寫的?這個還真猜不出來

p41 圖51. 木馬中的字串資訊

0x04 安全建議


軟體廠商:下載更新程式儘量使用https等安全加密的通訊協議,對下載回來的檔案在載入執行前一定要做簽名校驗。

使用者:儘量不要使用安全性未知的網路上網,如公共WIFI、酒店網路等,如果懷疑自己的網路有問題,及時與運營商反應。此外安裝安全軟體可在一定程度上防禦此類攻擊,目前管家已率先查殺該木馬及其變種。

本文章來源於烏雲知識庫,此映象為了方便大家學習研究,文章版權歸烏雲知識庫!

相關文章