警惕最新的Smoke Loader與Andromeda變種botnet
發(fā)表時(shí)間:2023-08-01 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]一、概述近期我們翰海源團(tuán)隊(duì)一直在持續(xù)關(guān)注著一個(gè)Bo.net的演變,該Botnet從2014年8月末開(kāi)始活動(dòng),一直持續(xù)到2014年10月底,截至目前該Botnet仍然存活。同時(shí)我們也在金融、IT、政府...
一、概述
近期我們翰海源團(tuán)隊(duì)一直在持續(xù)關(guān)注著一個(gè)Bo.net的演變,該Botnet從2014年8月末開(kāi)始活動(dòng),一直持續(xù)到2014年10月底,截至目前該Botnet仍然存活。同時(shí)我們也在金融、IT、政府、銀行等行業(yè)發(fā)現(xiàn)了攻擊樣本,我們提醒客戶請(qǐng)警惕最新的Smoke Loader和Andromeda變種botnet。
Botnet使用釣魚(yú)郵件作為主要的傳播途徑,郵件大多以“my new photo”或者“New offer Job”為主題,攜帶一個(gè)名為“photo.zip”或者“offer.zip”的壓縮附件。
cs.xzking.com/d/file/20141101/832b9f5bea501eb1ef4adbe77f5018c7.png' />
在監(jiān)控中發(fā)現(xiàn),該Botnet在9月份使用Smoke Loader 作為主要的攻擊載荷,在10月份之后,該Botnet開(kāi)始逐漸轉(zhuǎn)變?yōu)锳ndromeda,這兩種不同類型的Botnet具有一些十分相似的特征,但是出現(xiàn) 在同一個(gè)較大規(guī)模的Botnet中,并不是十分常見(jiàn)。
Smoke Loader Botnet在2011開(kāi)始一些俄語(yǔ)的黑客論壇公開(kāi)出售,2014年3月份作者在論壇申明該程序?qū)⒅会槍?duì)使用“俄語(yǔ)”的客戶出售(only for RU-speaking customers),不過(guò)在網(wǎng)上已經(jīng)流傳出了部分crack版本。
Andromeda Botnet幾乎在同一時(shí)間出現(xiàn),目前最新的官方版本為2.08,最初的Andromeda只針對(duì)使用俄語(yǔ)的客戶出售,2012年作者開(kāi)始將舊版本開(kāi)放給使用英語(yǔ)的客戶。
這兩種Botnet均通過(guò)模塊化進(jìn)行安裝,原始的安裝程序?yàn)橐粋(gè)裝載器,安裝后將根據(jù)需要下載其他功能模塊,可以竊取主機(jī)上的瀏覽器、FTP、郵件、即時(shí)通信工具的賬戶和密碼,接收控制指令對(duì)指定目標(biāo)發(fā)起DDos攻擊。
該Botnet從8月末開(kāi)始出現(xiàn),9月份大量通過(guò)郵件的方式傳播,從9月份開(kāi)始到10月末這段時(shí)間內(nèi)我們?cè)谀乘接性破脚_(tái)上監(jiān)控到的Botnet每天的活躍統(tǒng)計(jì)就有幾百,如下圖
該Botnet的控制中心主要分布在一些歐洲國(guó)家,其中主要的幾個(gè)分布在烏克蘭和俄羅斯境內(nèi)。
二、技術(shù)細(xì)節(jié)
2.1 裝載器
該Botnet使用的裝載器采用微軟.Net框架的C#語(yǔ)言編寫(xiě),代碼進(jìn)行混淆處理,我們發(fā)現(xiàn)這種框架具有極好的免殺效果,如下圖在9月19號(hào)捕獲到的樣本在VT上檢測(cè)率為0:
裝載器主要負(fù)責(zé)將一字節(jié)數(shù)組拷貝到一塊可寫(xiě)可讀可執(zhí)行的內(nèi)存區(qū)域,并將代碼的控制權(quán)轉(zhuǎn)交給這一字節(jié)數(shù)組:
部分裝載器包含以下的pdb路徑:
c:cryptor.servercryptorscsharp_19_09_2014_20_11_44outdir_zjNXqqGibngGNetThreeNetThreeobjx86 ReleaseNetThree.pdb
2.2 注入器
兩種Bot均通過(guò)多次的注入來(lái)執(zhí)行最終的惡意代碼。
2.2.1 Smoke Loader
SmokeLoader裝載器成功將控制器交給shellcode后,shellcode會(huì)首先通過(guò)注冊(cè)表項(xiàng):
HKLMSystemCurrentControlSetServicesDiskEnum
來(lái)判斷是否在以下虛擬機(jī)環(huán)境中:
Virtual、VMware、 QEMU、Xen
我們發(fā)現(xiàn)在Andromeda 2.06的版本中也用到了同樣的方法來(lái)檢測(cè)虛擬機(jī)環(huán)境。
如果沒(méi)有檢測(cè)出虛擬機(jī)環(huán)境,則shellcode讀取裝載器的一段加密數(shù)據(jù)并在內(nèi)存中進(jìn)行解密:
解密后的數(shù)據(jù)是一個(gè)可執(zhí)行文件,該文件并不會(huì)寫(xiě)入到磁盤(pán)上,而是通過(guò)進(jìn)程注入的方式來(lái)執(zhí)行。
Smoke Loader會(huì)將這段可執(zhí)行文件注入到Explorer.exe進(jìn)程中,注入的代碼并不是最終要執(zhí)行的惡意代碼,而是另一個(gè)注入器,這個(gè)注入器會(huì)通過(guò) XOR解密另一段代碼并將最終的惡意代碼注入到 svchost.exe進(jìn)程中:
2.2.2 Andromeda
整個(gè)裝載過(guò)程中,Andromeda與Smoke Loader幾乎完全相同,在注入的過(guò)程中有部分不同,下圖標(biāo)注部分是Andromeda中的解密標(biāo)記:
解密完成后shellcode將重新創(chuàng)建一個(gè)掛起的(SUSPEND)自身進(jìn)程,然后將解密后的代碼注入:
與Smoke Loader一樣,到這里只是完成了第一次注入,接下來(lái)注入代碼會(huì)根據(jù)當(dāng)前系統(tǒng)的版本為32或者64位來(lái)選擇注入svchost.exe或msiexec.exe。
以注入msiexec.exe為例,注入代碼之前會(huì)首先創(chuàng)建一個(gè)掛起的msiexec.exe進(jìn)程,通過(guò)文件讀取msiexec.exe可執(zhí)行文件 到內(nèi)存中,然后通過(guò)ZwUnMapViewOfSection卸載整個(gè)進(jìn)程空間的數(shù)據(jù),修改原始文件中的入口地址為惡意代碼的地址,通過(guò) ZwMapViewOfSection來(lái)將代碼注入到新創(chuàng)建的SUSPEND進(jìn)程并調(diào)用ResumeThread重新啟動(dòng)進(jìn)程。
Smoke Loader和Andromeda均會(huì)創(chuàng)建一個(gè)守護(hù)進(jìn)程來(lái)檢測(cè)指定路徑下的可執(zhí)行程序運(yùn)行狀態(tài),一旦發(fā)現(xiàn)被終止會(huì)立即重啟主模塊。
2.3 對(duì)抗
2.3.1 代碼混淆
除了在裝載器的C#代碼中進(jìn)行過(guò)變量和函數(shù)名的混淆外,這兩種Botnet在shellcode的執(zhí)行過(guò)程中均使用同一種函數(shù)名校驗(yàn)和的方法來(lái)執(zhí)行系統(tǒng)函數(shù)。
2.3.2 Anti-VM
除了前面提到的Smoke Loader通過(guò)注冊(cè)表來(lái)當(dāng)前運(yùn)行的環(huán)境之外,Andromeda會(huì)遍歷系統(tǒng)當(dāng)前進(jìn)程并計(jì)算進(jìn)程名的CRC32的HASH,然后檢查是否存在包含 vmtoolsd.exe、vmwareuser.exe、regmon.exe、filemon.exe、VBoxService.exe 、VBoxTray.exe、WireShark.exe、procexp.exe 等18個(gè)進(jìn)程的HASH。
2.3.3 Anti-API Hook
除了前面的幾種,Andromeda中的shellcode將所有需要的API函數(shù)的第一條指令保存在自己的代碼區(qū),然后通過(guò)兩次跳轉(zhuǎn)來(lái)調(diào)用API,這種方法并沒(méi)有在Smoke Loader中使用。
2.4 網(wǎng)絡(luò)通信
2.4.1 Smoke Loader
Smoke使用計(jì)算機(jī)名的CRC32和磁盤(pán)序號(hào)的異或作為每臺(tái)主機(jī)的標(biāo)識(shí)和互斥體名,首次運(yùn)行連接C&C的網(wǎng)絡(luò)數(shù)據(jù)包如下:
其中POST數(shù)據(jù)內(nèi)容經(jīng)過(guò)加密,解密后的數(shù)據(jù)格式如下:
cmd=getload&login=[MutexName]&sel=cool1&ver=5.1&bits=0&admin=1&hash=[MutexName]
cmd:command
login:主機(jī)的唯一標(biāo)識(shí)符
sel:botid
ver:版本號(hào)
bits:系統(tǒng)版本標(biāo)識(shí),32或者64位
admin:當(dāng)前程序運(yùn)行用戶是否為管理員
hash:主機(jī)的唯一標(biāo)識(shí)符
返回頁(yè)面?zhèn)窝b成一個(gè)404頁(yè)面并攜帶一段加密的數(shù)據(jù),這段數(shù)據(jù)經(jīng)過(guò)Xor編碼,編碼的Key為附加數(shù)據(jù)的第一個(gè)字節(jié):
解碼后的內(nèi)容如下:
Smk0 : socks_rules=127.0.0.1 : :hosts_rules=127.0.0.1 localhost : : :plugin_size=60500
當(dāng)返回的HTTP包中的vary字段包含 0-AAAAA時(shí)代表Smoker Loader的模塊,模塊通過(guò)HTTP傳輸并且沒(méi)有任何的加密和編碼。
完整的Smoke Loader Botnet的模塊如下:
2.4.2 Andromeda
Andromeda Botnet的模塊通過(guò)RC4進(jìn)行加密并帶有一個(gè)偽裝的PK頭。
首次運(yùn)行后發(fā)送到控制服務(wù)器的數(shù)據(jù)包如下:
POST的數(shù)據(jù)內(nèi)容經(jīng)過(guò)RC4加密并用Base64進(jìn)行了編碼,RC4加密的key硬編碼在樣本中,本次的RC4 Key為“754037e7be8f61cbb1b85ab46c7da77d”
解密后的POST數(shù)據(jù)如下:
id:%lu bid:%lu os:%lu la:%lu rg:%lu id: 根據(jù)系統(tǒng)磁盤(pán)信息生成的一個(gè)標(biāo)識(shí) bid:botnet的build id os:操作系統(tǒng)的版本信息,32位或64位 la: 本地ip地址的十進(jìn)制表示形式 rg:進(jìn)程是否在管理員權(quán)限下運(yùn)行
2.5 功能
下圖是該Smoke Loader Botnet的控制臺(tái)界面:
Smoke Bot可以通過(guò)模塊對(duì)指定的目標(biāo)地址發(fā)起DDos,模塊支持以下類型的DDos攻擊:
HTTP GET Flood、HTTP POST Flood 、Download Flood、 UDP Flood、SYN Flood 、TCP Flood、HTTPS GET Flood、 HTTP Slowloris Flood
可以嗅探包括以下類型的FTP及瀏覽器保存帳號(hào)信息:
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會(huì)在受感染主機(jī)上查找保存的郵件地址,并將找到的郵件地址經(jīng)過(guò)Base64編碼后發(fā)送給控制中心。
Andromeda的功能與SmokeLoader近乎相同,下圖是Andromeda Bot的Builder界面。
2.8 文件B超行為分析圖
來(lái)張文件B超的高清無(wú)碼圖:
三 、安全排查
1.檢查系統(tǒng)注冊(cè)表項(xiàng): HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerRun 中是否存在指向名為svchost.exe的啟動(dòng)項(xiàng)。 2. 檢查系統(tǒng)臨時(shí)目錄是否存在名為***.tmp.exe的文件。 3. 檢查系統(tǒng)AppData目錄是否存在未知的可執(zhí)行文件。 4. 檢查系統(tǒng)中是否存在以上列舉MD5的文件。 5. 檢查網(wǎng)絡(luò)流量中是否存在上述列舉的C&C請(qǐng)求。
四、結(jié)論
不管在功能還是對(duì)抗的過(guò)程上,Smoke Loader和Andromeda都具有極為相似的特征,而隨著僵尸網(wǎng)絡(luò)市場(chǎng)越來(lái)越復(fù)雜的利益鏈條關(guān)系,僵尸網(wǎng)絡(luò)之間的關(guān)系也變得錯(cuò)綜復(fù)雜,曾經(jīng)就出現(xiàn)過(guò) 垃圾郵件僵尸網(wǎng)絡(luò)Cutwail和Zeus僵尸網(wǎng)絡(luò)之間發(fā)起相互攻擊的例子,而現(xiàn)在我們已經(jīng)看到Smoke Loader Botnet和Andromeda Botnet正在聯(lián)合,這樣的例子以后可能還會(huì)更多。
上面是電腦上網(wǎng)安全的一些基礎(chǔ)常識(shí),學(xué)習(xí)了安全知識(shí),幾乎可以讓你免費(fèi)電腦中毒的煩擾。