"隱匿者"病毒團伙技術升級傳病毒 暴力入侵電腦威脅全網用戶
來自專欄火絨安全實驗室35 人贊了文章
一、概述
近期,火絨安全團隊發現病毒團伙"隱匿者"進行了新的技術升級,正在傳播病毒"Voluminer"。該病毒通過暴力破解的方式入侵電腦後,會利用用戶電腦挖取門羅幣,並且在電腦中留下後門,病毒團伙可通過遠程控制隨時修改惡意代碼,下載其他更具威脅性的病毒模塊。該病毒還會通過內核級對抗手段躲避安全軟體查殺。
病毒暴力破解用戶資料庫入侵電腦後,會篡改電腦系統中的主引導記錄(MBR),一旦重啟電腦,即可執行病毒,並在系統內核空間運行惡意代碼,之後將惡意代碼注入到系統進程中(winlogon或explorer進程),最終惡意代碼會下載後門病毒到本地執行。
目前,後門病毒會下載執行挖礦相關病毒模塊,挖取門羅幣,但不排除病毒團伙將來會推送其他病毒模塊,發動更具威脅性病毒攻擊的可能性。
火絨安全團隊曾曝光過該病毒製作組織"隱匿者",通過對該其長期追蹤,發現一直在活躍中,該團伙可能由中國人組成或參與,並完全以牟利為目的。是近年來互聯網上最活躍、發起攻擊次數最多、攻擊範圍最廣的黑客團伙之一。
與此前相比,"隱匿者"本次傳播的病毒樣本所使用的技術更深入底層,隱蔽性更強,也更不易被用戶察覺。使用內核級手段對自身病毒代碼在磁碟中進行自我保護,與安全軟體對抗,難以清除。並且加入遠程控制功能,可以隨時下載其他病毒模塊。
"火絨安全軟體"最新版可攔截並查殺病毒"Voluminer"。對於已經感染該病毒的非火絨用戶,可以下載使用"火絨專殺工具"徹底查殺該病毒。
Tips:
1、點擊下載"火絨專殺工具"http://bbs.huorong.cn/thread-18575-1-1.html;
2、安裝後點擊"開始掃描"。
相關文章:
《徹底曝光黑客"隱匿者" 目前作惡最多的網路攻擊團伙》
徹底曝光黑客「隱匿者」 目前作惡最多的網路攻擊團伙
二、病毒來源
通過對 "隱匿者"黑客組織的長期追蹤,我們發現近期大範圍傳播的病毒家族Bootkit/Voluminer與該黑客組織可能存在直接關係。病毒運行後會篡改磁碟MBR代碼,在電腦重啟執行病毒MBR代碼後,會在系統內核空間運行惡意代碼,之後將惡意代碼注入winlogon或explorer進程(依據操作系統版本),最終惡意代碼會下載後門病毒到本地執行。後門病毒現階段會下載執行挖礦相關病毒模塊挖取門羅幣,但我們不排除將來會推送其他病毒模塊的可能性。
"隱匿者"通常會通過暴力破解連接用戶計算機中的RPC服務、資料庫伺服器等,通過這些方式入侵用戶電腦進而執行其他惡意代碼,具體攻擊方式與火絨在2017年7月發布的《徹底曝光黑客"隱匿者" 目前作惡最多的網路攻擊團伙》報告中所介紹的攻擊方式完全相同。火絨所截獲到與本次樣本相關的攻擊行為,如下圖所示:
攻擊行為
火絨在前期報告中,在列舉病毒攻擊行為時所使用的病毒行為日誌原圖,如下圖所示:
前期報告原圖
在火絨前期報告中所提到的黑客所常用的FTP伺服器用戶名及密碼分別為test和1433,與本次所截獲攻擊事件中黑客所使用的FTP伺服器(IIS7)相關信息相同。在"隱匿者"使用的FTP伺服器地址中,我們發現down.mysking.info域名所指向的FTP伺服器依然可以正常訪問,伺服器中存放的病毒文件雖然與本次黑客使用的FTP伺服器中不同,但是文件名卻極其相似。FTP伺服器存放文件情況對比,如下圖所示:
FTP文件情況對比圖
除此之外,在本次截獲的部分病毒樣本語言信息為簡體中文,與"隱匿者"報告中相同。進而我們可以初步判斷,本次攻擊事件可能與"隱匿者"黑客組織存在直接關係。本次截獲樣本(SHA256:46527e651ae934d84355adb0a868c5edda4fd1178c5201b078dbf21612e6bc78)的語言信息,如下圖所示:
病毒樣本語言信息
三、樣本分析
與隱匿者早期樣本相比,近期在野進行傳播的隱匿者樣本病毒行為已經越來越複雜,所使用的攻擊技術也更為底層。例如本文所提到的病毒樣本就會感染MBR,並對被篡改後的MBR代碼進行保護,從而提高了對該病毒進行查殺的複雜度。
Bootkit/Voluminer
Bootkit/Voluminer病毒運行後會直接寫入病毒MBR代碼,原始的MBR數據被病毒備份在磁碟的第二個扇區中。其餘病毒代碼起始位置為第三個扇區,其餘病毒代碼(除MBR代碼外)共佔用54個扇區,由於內核平台版本不同(x86/x64),報告中分析內容以病毒在Windows 7(x64)系統中的感染情況為例。被感染後的MBR代碼數據,如下圖所示:
被感染後的MBR代碼數據
病毒MBR代碼,如下圖所示:
病毒MBR代碼
病毒MBR代碼運行後,會將第三個扇區後的惡意代碼拷貝到0x8f000地址進行執行,惡意代碼會在hook INT 15中斷後,重新調用原始MBR執行正常的引導啟動邏輯。當INT 15 中斷被調用時,病毒代碼會通過匹配硬編碼的方式搜索BootMgr(Home)代碼進行hook,被hook後執行的惡意代碼代碼會最終hook Bootmgr.exe 中的Archx86TransferTo32BitApplicationAsm和Archx86TransferTo64BitApplicationAsm。Hook INT15後執行的病毒邏輯,如下圖所示:
Hook INT 15執行的病毒邏輯
BootMgr(http://startup.com部分)被hook後,在BootMgr.exe 載入時會繼續執行下一步hook操作。Hook BootMgr.exe相關代碼,如下圖所示:
Hook BootMgr.exe相關代碼
BootMgr.exe被hook後,Archx86TransferTo32BitApplicationAsm和Archx86TransferTo64BitApplicationAsm函數內代碼情況,如下圖所示:
被hook後的函數入口
Archx86TransferTo32BitApplicationAsm和Archx86TransferTo64BitApplicationAsm函數被hook後,被調用的病毒代碼會在BootMgr.exe載入Winload.exe時hook OslArchTransferToKernel,為hook ntoskrnl.exe做準備。相關代碼,如下圖所示:
Hook OslArchTransferToKernel相關代碼
被hook後的OslArchTransferToKernel函數內代碼,如下圖所示:
被hook後的OslArchTransferToKernel函數代碼
OslArchTransferToKernel被hook後執行的惡意代碼會hook ZwCreateSection,並破壞ntoskrnl.exe中PatchGuard相關邏輯。相關代碼,如下圖所示:
Hook OslArchTransferToKernel函數後執行的惡意代碼入口
首先,惡意代碼會先通過函數名哈希值獲取ZwCreateSection函數地址,再獲取最終需要在內核態執行的惡意代碼入口(malware_krnl_main_entry),然後獲取hook ZwCreateSection後被調用的處理函數入口和相關信息(包括ntoskrnl基址、malware_krnl_main_entry函數入口、ZwCreateSection函數入口地址、被patch掉的原始ZwCreateSection代碼內容),最後修改ZwCreateSection函數入口代碼,並將ntoskrnl中PatchGuard相關代碼通過修改硬編碼禁用掉。相關代碼,如下圖所示:
Hook ZwCreateSection和破壞PatchGuard的惡意代碼
被hook後的ZwCreateSection函數入口代碼,如下圖所示:
被hook後的ZwCreateSection函數入口代碼
ZwCreateSection被hook後調用的惡意代碼,首先會修復ZwCreateSection被patch掉的代碼內容,之後再將後續需要執行惡意代碼(代碼地址:0x946E6)通過MmMapIoSpace映射到內核態地址空間進行執行。相關代碼,如下圖所示:
ZwCreateSection被hook後調用的惡意代碼
上述代碼被調用後,會執行內核態惡意代碼malware_krnl_main_entry,該函數內代碼首先會根據函數名哈希獲取所需的API地址。相關代碼,如下圖所示:
malware_krnl_main_entry代碼
內核態主要惡意代碼邏輯執行後,首先會創建線程通知回調,在回調中檢測csrss.exe進程是否啟動,在該進程啟動後再繼續執行後續惡意代碼邏輯。相關代碼,如下圖所示:
線程通知回調中惡意代碼邏輯
如上圖所示,在檢測到csrss.exe後,首先會嘗試感染MBR並將存放惡意代碼的扇區保護起來。通過過濾IRP的方式,在用戶訪問病毒引導代碼所在扇區時,返回正常引導代碼數據,提高病毒的隱蔽性。感染MBR相關代碼,如下圖所示:
感染MBR並將原始MBR數據拷貝到第二扇區
惡意MBR及相關數據保護邏輯會保護磁碟前0x3E個扇區。相關代碼,如下圖所示:
惡意MBR及相關數據保護相關代碼
之後在內核線程(malware_behav_entry)中會根據不同的操作系統版本對winlogon.exe或explorer.exe進行APC注入。WinXP注入explorer.exe,其他操作系統注入winlogon.exe,如果是Win10系統會再次嘗試hook Storport驅動對象的IRP回調。相關代碼,如下圖所示:
APC注入相關代碼
被注入的病毒代碼執行惡意邏輯主要參照從C&C伺服器請求到的配置文件,該文件釋放到本地後路徑為:%SystemRoot%Temp
tuser.dat。該文件被異或0x95加密過,在使用該文件時會對文件進行解密。解密後的ntuser.dat配置內容,如下圖所示:
ntuser.dat配置內容
如上圖,配置文件總體分為兩個部分:main和update。main部分中的所有ip和網址用來下載後門病毒相關配置,update部分中的ip和網址用來更新ntuser.dat配置數據,請求到的相關配置信息至今依然在持續更新。下載後門病毒配置信息cloud.txt的代碼邏輯,如下圖所示:
下載後門病毒配置信息
請求到的配置信息中,除後門病毒下載地址(exe鍵名對應數據)外,還有名為url的配置項,該功能開啟後會hook CreateProcessW劫持瀏覽器啟動參數,但現階段該功能尚未被開啟。配置信息,如下圖所示:
配置信息
惡意代碼會通過上圖中的下載地址,將後門病毒下載到%SystemRoot%Tempconhost.exe目錄進行執行。下載執行遠程後門病毒相關邏輯,如下圖所示:
下載執行後門病毒
Backdoor/Voluminer
該病毒運行後,首先會釋放存放有C&C伺服器列表的文件(xp.dat)至C:Program FilesCommon Files目錄中,之後向C&C伺服器列表中的伺服器地址請求xpxmr.dat文件,用於更新C&C伺服器列表。請求到的xpxmr.dat文件數據使用RSA演算法進行過加密,進行解密後會重新寫入到xpxmr.dat文件中,該文件為明文存放。相關代碼及數據,如下圖所示:
更新C&C伺服器列表
病毒在運行中會向C&C伺服器請求獲取最新病毒版本號,當檢測到存在新版本時,則會通過C&C伺服器下載執行最新版本的病毒程序。當後門病毒發現當前系統為64位系統時,還會向C&C伺服器請求64位版本的後門病毒到本地進行執行。相關代碼,如下圖所示:
請求64位版本病毒
隨後,病毒會使用地址列表中的C&C伺服器地址下載挖礦所需的病毒組件,暫時我們發現會被病毒下載至本地病毒僅具有挖礦功能,但我們不排除其將來會下載其他病毒模塊的可能性。病毒在下載文件後,會對病毒組件進行md5校驗,病毒組件的md5值會參考C&C伺服器中的md5.txt文件內容。相關代碼,如下圖所示:
獲取遠程惡意代碼模塊
在病毒組件下載完成後,病毒會將挖礦相關的模塊和配置文件釋放到%windir%debug目錄中,隨後開始挖礦邏輯。病毒釋放挖礦配置相關代碼,如下圖所示:
釋放挖礦配置相關代碼
與前段時間友商報告中所描述的該後門病毒相比,病毒的惡意行為已經有了明顯變化。在早期版本中,被配發到用戶本地的後門病毒會被註冊為系統服務(服務名為:Windows Audio Control),並在運行後會顯示控制台窗口並且在病毒運行時會在窗口中顯示運行日誌,最終會下載執行挖礦病毒,中毒現象十分明顯。而在現階段版本中,被下發到用戶本地的後門病毒隱蔽性已經有所提高,在病毒執行過程中用戶很難有所察覺。病毒挖取門羅幣時使用的配置信息片段,如下圖所示:
配置信息片段
通過上圖中的門羅幣錢包地址查詢,我們發現該賬戶自2017年6月12日起開始有門羅幣進賬信息,至今已經共獲取門羅幣約2867個,合人民幣約200餘萬元。病毒使用的門羅幣錢包信息,如下圖所示:
門羅幣錢包信息
四、同源性分析
除行為特徵外,我們通過對比樣本關鍵數據,還發現了更多的同源性特徵。比如在獲取挖礦錢包信息時,文中樣本與2017年隱匿者相關樣本(SHA256:f37a0d5f11078ef296a7c032b787f8fa485d73b0115cbd24d62cdf2c1a810625)均會向C&C伺服器請求名為xmrok.txt的加密數據文件,且該文件均為AES演算法加密。相關數據,如下圖所示:
樣本關鍵邏輯對比
除此之外,文中所提到的樣本與2017年樣本相同,挖礦功能均是使用xmr-stak開源代碼。相關數據,如下圖所示:
挖礦相關數據對比
通過對比分析,我們發現與2017年樣本相比,雖然最終惡意行為完全相同,但新樣本在惡意邏輯中加入了雲控功能,從而可以使樣本可以根據黑客在C&C伺服器中提供的惡意代碼和相關配置信息對病毒進行調整。除此之外,文中樣本較2017年隱匿者樣本還加強了對樣本自身代碼的保護,在後門病毒及其派發模塊中大量使用了VMProtect保護殼,加大了安全分析人員的分析成本。殼信息,如下圖所示:
殼信息
隱匿者黑客組織最早可以追溯至2014年(時間依據請見前期報告),其攻擊手法多樣,且至今依然在不斷進行改進和增強,已經成為對互聯網環境威脅最大黑客組織之一。火絨會繼續對該黑客組織進行追蹤,不斷收集和防禦與該組織相關的所有安全威脅。
五、附錄
文中涉及樣本SHA256:
IOC
推薦閱讀: