警惕最新的Smoke Loader與Andromeda變種botnet
發表時間:2023-09-11 來源:明輝站整理相關軟件相關文章人氣:
[摘要]一、概述近期我們翰海源團隊一直在持續關注著一個Bo.net的演變,該Botnet從2014年8月末開始活動,一直持續到2014年10月底,截至目前該Botnet仍然存活。同時我們也在金融、IT、政府、銀行等行業發現了攻擊樣本,我們提醒客戶請警惕最新的Smoke Loader和Andromeda變種...
一、概述
近期我們翰海源團隊一直在持續關注著一個Bo.net的演變,該Botnet從2014年8月末開始活動,一直持續到2014年10月底,截至目前該Botnet仍然存活。同時我們也在金融、IT、政府、銀行等行業發現了攻擊樣本,我們提醒客戶請警惕最新的Smoke Loader和Andromeda變種botnet。
Botnet使用釣魚郵件作為主要的傳播途徑,郵件大多以“my new photo”或者“New offer Job”為主題,攜帶一個名為“photo.zip”或者“offer.zip”的壓縮附件。
cs.xzking.com/d/file/20141101/832b9f5bea501eb1ef4adbe77f5018c7.png' />

在監控中發現,該Botnet在9月份使用Smoke Loader 作為主要的攻擊載荷,在10月份之后,該Botnet開始逐漸轉變為Andromeda,這兩種不同類型的Botnet具有一些十分相似的特征,但是出現 在同一個較大規模的Botnet中,并不是十分常見。
Smoke Loader Botnet在2011開始一些俄語的黑客論壇公開出售,2014年3月份作者在論壇申明該程序將只針對使用“俄語”的客戶出售(only for RU-speaking customers),不過在網上已經流傳出了部分crack版本。

Andromeda Botnet幾乎在同一時間出現,目前最新的官方版本為2.08,最初的Andromeda只針對使用俄語的客戶出售,2012年作者開始將舊版本開放給使用英語的客戶。

這兩種Botnet均通過模塊化進行安裝,原始的安裝程序為一個裝載器,安裝后將根據需要下載其他功能模塊,可以竊取主機上的瀏覽器、FTP、郵件、即時通信工具的賬戶和密碼,接收控制指令對指定目標發起DDos攻擊。
該Botnet從8月末開始出現,9月份大量通過郵件的方式傳播,從9月份開始到10月末這段時間內我們在某私有云平臺上監控到的Botnet每天的活躍統計就有幾百,如下圖

該Botnet的控制中心主要分布在一些歐洲國家,其中主要的幾個分布在烏克蘭和俄羅斯境內。

二、技術細節
2.1 裝載器
該Botnet使用的裝載器采用微軟.Net框架的C#語言編寫,代碼進行混淆處理,我們發現這種框架具有極好的免殺效果,如下圖在9月19號捕獲到的樣本在VT上檢測率為0:

裝載器主要負責將一字節數組拷貝到一塊可寫可讀可執行的內存區域,并將代碼的控制權轉交給這一字節數組:

部分裝載器包含以下的pdb路徑:
c:cryptor.servercryptorscsharp_19_09_2014_20_11_44outdir_zjNXqqGibngGNetThreeNetThreeobjx86 ReleaseNetThree.pdb
2.2 注入器
兩種Bot均通過多次的注入來執行最終的惡意代碼。
2.2.1 Smoke Loader
SmokeLoader裝載器成功將控制器交給shellcode后,shellcode會首先通過注冊表項:
HKLMSystemCurrentControlSetServicesDiskEnum
來判斷是否在以下虛擬機環境中:
Virtual、VMware、 QEMU、Xen
我們發現在Andromeda 2.06的版本中也用到了同樣的方法來檢測虛擬機環境。
如果沒有檢測出虛擬機環境,則shellcode讀取裝載器的一段加密數據并在內存中進行解密:

解密后的數據是一個可執行文件,該文件并不會寫入到磁盤上,而是通過進程注入的方式來執行。
Smoke Loader會將這段可執行文件注入到Explorer.exe進程中,注入的代碼并不是最終要執行的惡意代碼,而是另一個注入器,這個注入器會通過 XOR解密另一段代碼并將最終的惡意代碼注入到 svchost.exe進程中:

2.2.2 Andromeda
整個裝載過程中,Andromeda與Smoke Loader幾乎完全相同,在注入的過程中有部分不同,下圖標注部分是Andromeda中的解密標記:


解密完成后shellcode將重新創建一個掛起的(SUSPEND)自身進程,然后將解密后的代碼注入:

與Smoke Loader一樣,到這里只是完成了第一次注入,接下來注入代碼會根據當前系統的版本為32或者64位來選擇注入svchost.exe或msiexec.exe。
以注入msiexec.exe為例,注入代碼之前會首先創建一個掛起的msiexec.exe進程,通過文件讀取msiexec.exe可執行文件 到內存中,然后通過ZwUnMapViewOfSection卸載整個進程空間的數據,修改原始文件中的入口地址為惡意代碼的地址,通過 ZwMapViewOfSection來將代碼注入到新創建的SUSPEND進程并調用ResumeThread重新啟動進程。


Smoke Loader和Andromeda均會創建一個守護進程來檢測指定路徑下的可執行程序運行狀態,一旦發現被終止會立即重啟主模塊。
2.3 對抗
2.3.1 代碼混淆
除了在裝載器的C#代碼中進行過變量和函數名的混淆外,這兩種Botnet在shellcode的執行過程中均使用同一種函數名校驗和的方法來執行系統函數。

2.3.2 Anti-VM
除了前面提到的Smoke Loader通過注冊表來當前運行的環境之外,Andromeda會遍歷系統當前進程并計算進程名的CRC32的HASH,然后檢查是否存在包含 vmtoolsd.exe、vmwareuser.exe、regmon.exe、filemon.exe、VBoxService.exe 、VBoxTray.exe、WireShark.exe、procexp.exe 等18個進程的HASH。

2.3.3 Anti-API Hook
除了前面的幾種,Andromeda中的shellcode將所有需要的API函數的第一條指令保存在自己的代碼區,然后通過兩次跳轉來調用API,這種方法并沒有在Smoke Loader中使用。

2.4 網絡通信
2.4.1 Smoke Loader
Smoke使用計算機名的CRC32和磁盤序號的異或作為每臺主機的標識和互斥體名,首次運行連接C&C的網絡數據包如下:

其中POST數據內容經過加密,解密后的數據格式如下:
cmd=getload&login=[MutexName]&sel=cool1&ver=5.1&bits=0&admin=1&hash=[MutexName]
cmd:command
login:主機的唯一標識符
sel:botid
ver:版本號
bits:系統版本標識,32或者64位
admin:當前程序運行用戶是否為管理員
hash:主機的唯一標識符
返回頁面偽裝成一個404頁面并攜帶一段加密的數據,這段數據經過Xor編碼,編碼的Key為附加數據的第一個字節:

解碼后的內容如下:
Smk0 : socks_rules=127.0.0.1 : :hosts_rules=127.0.0.1 localhost : : :plugin_size=60500
當返回的HTTP包中的vary字段包含 0-AAAAA時代表Smoker Loader的模塊,模塊通過HTTP傳輸并且沒有任何的加密和編碼。

完整的Smoke Loader Botnet的模塊如下:

2.4.2 Andromeda
Andromeda Botnet的模塊通過RC4進行加密并帶有一個偽裝的PK頭。

首次運行后發送到控制服務器的數據包如下:

POST的數據內容經過RC4加密并用Base64進行了編碼,RC4加密的key硬編碼在樣本中,本次的RC4 Key為“754037e7be8f61cbb1b85ab46c7da77d”
解密后的POST數據如下:
id:%lu bid:%lu os:%lu la:%lu rg:%lu id: 根據系統磁盤信息生成的一個標識 bid:botnet的build id os:操作系統的版本信息,32位或64位 la: 本地ip地址的十進制表示形式 rg:進程是否在管理員權限下運行
2.5 功能
下圖是該Smoke Loader Botnet的控制臺界面:

Smoke Bot可以通過模塊對指定的目標地址發起DDos,模塊支持以下類型的DDos攻擊:
HTTP GET Flood、HTTP POST Flood 、Download Flood、 UDP Flood、SYN Flood 、TCP Flood、HTTPS GET Flood、 HTTP Slowloris Flood
可以嗅探包括以下類型的FTP及瀏覽器保存帳號信息:
FTP, BitKinex, BulletProof FTP Client, Classic FTP, CoffeeCup FTP, Core FTP, CuteFTP, Directory Opus, ExpanDrive, FAR Manager FTP, FFFTP, FileZilla, FlashFXP, Fling, FreeFTP/DirectFTP, Frigate3 FTP, FTP Commander, FTP Control, FTP Explorer, FTP Navigator, FTP Uploader, FTPRush, LeapFTP, NetDrive, SecureFX, SmartFTP, SoftX FTP Client, TurboFTP, UltraFXP, WebDrive, WebSitePublisher, Windows/Total Commander, WinSCP, WS_FTP
Apple Safari, Flock, Google Chrome, Internet Explorer, Mozilla Browser, Mozilla Firefox, Mozilla Thunderbird, Opera, SeaMonkey
SomkeLoader會在受感染主機上查找保存的郵件地址,并將找到的郵件地址經過Base64編碼后發送給控制中心。

Andromeda的功能與SmokeLoader近乎相同,下圖是Andromeda Bot的Builder界面。

2.8 文件B超行為分析圖
來張文件B超的高清無碼圖:

三 、安全排查
1.檢查系統注冊表項: HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerRun 中是否存在指向名為svchost.exe的啟動項。 2. 檢查系統臨時目錄是否存在名為***.tmp.exe的文件。 3. 檢查系統AppData目錄是否存在未知的可執行文件。 4. 檢查系統中是否存在以上列舉MD5的文件。 5. 檢查網絡流量中是否存在上述列舉的C&C請求。
四、結論
不管在功能還是對抗的過程上,Smoke Loader和Andromeda都具有極為相似的特征,而隨著僵尸網絡市場越來越復雜的利益鏈條關系,僵尸網絡之間的關系也變得錯綜復雜,曾經就出現過 垃圾郵件僵尸網絡Cutwail和Zeus僵尸網絡之間發起相互攻擊的例子,而現在我們已經看到Smoke Loader Botnet和Andromeda Botnet正在聯合,這樣的例子以后可能還會更多。
上面是電腦上網安全的一些基礎常識,學習了安全知識,幾乎可以讓你免費電腦中毒的煩擾。