威脅概述
Morto惡意代碼家族是一種內(nèi)網(wǎng)傳播的蠕蟲,最早于2011年被趨勢科技披露。360威脅情報中心的監(jiān)測顯示在國內(nèi)該家族到目前都非常活躍,需要網(wǎng)絡(luò)安全管理員引起重視進(jìn)行處理。
通過對該家族所使用的C&C域名的監(jiān)控,我們看到最近一個月中該惡意代碼的感染情況如下圖:

感染的IP分布大致如下:

其中在國內(nèi)各省份的感染分布狀態(tài)如下:

威脅情報
以下是威脅相關(guān)的情報,讀者可以根據(jù)需要進(jìn)行對應(yīng)的處理,360所有支持威脅情報的產(chǎn)品(天眼、NGSOC、智慧防火墻等)都已經(jīng)內(nèi)置了檢測。

技術(shù)分析
整體而言,惡意代碼分為三個部分,maindrop,loader,payload。
maindrop
該模塊主要用于運行環(huán)境初始化,相應(yīng)模塊的釋放。
通過IDA加載之后發(fā)現(xiàn)樣本的導(dǎo)入函數(shù)表如下,通常樣本為了防止研究員分析會采取動態(tài)函數(shù)的方式獲取需要調(diào)用的API的地址,使用Loadlibrary/GetProAddress的方式加載,但是這個地方發(fā)現(xiàn)導(dǎo)入函數(shù)中并不包含這兩個基本的函數(shù)。

因此懷疑該樣本使用了shellcode中常用的API獲取方式,即通過fs獲取kernel32基地址,并解析該dll導(dǎo)出函數(shù)的方式獲取必要的API。
分析代碼之后發(fā)現(xiàn),該函數(shù)確實通過fs這個寄存器獲取了當(dāng)前進(jìn)程加載的dll信息,并從中遍歷出kernel32的地址。

可以看到獲取對應(yīng)的基地址之后通過解析其導(dǎo)出表獲取對應(yīng)的函數(shù),如下圖所示:

之后解密并運行,如下圖所示創(chuàng)建以下幾個注冊表項,并釋放出Loader clb.dll。

其中上述的注冊表HKLM\\SYSTEM\\WPA\\md中保存了對應(yīng)加密版的payloader,可以看到其長度為444402。

之后maindrop開啟一個regedit.exe進(jìn)程。
loader
注冊表進(jìn)程默認(rèn)的情況下會加載clb.dll這個dll,maindrop之前在windows目錄下已經(jīng)釋放了同名的惡意clb.dll,由于Windows的dll加載機制,此處將導(dǎo)致regedit進(jìn)程將惡意的clb.dll加載。


clb.dll運行之后會從HKLM\\SYSTEM\\WPA\\md中解密出對應(yīng)的payload并加載運行,之后會創(chuàng)建以下兩個文件,cache實際為一個loader。
C:\WINDOWS\Offline Web Pages\cache.txt
C:\WINDOWS\system32\Sens32.dll
payload
payload主要用于和遠(yuǎn)程進(jìn)行通信并實現(xiàn)RDP掃描。
殺軟對抗
運行之后針對主流殺軟做了相應(yīng)的監(jiān)控。
Ekrn,avguard,360rp,zhudongfangyu,RavMonD,kxescore,KVSrvXP,ccSvcHst,avgwdsvc,MsMpEng,vsserv,mcshield,fsdfwd,GDFwSvc,coreServiceShell,avp,MPSvc,PavFnSvr,knsdave,AvastSvc,avpmapp,SpySweeper,K7RTScan,SavService,Vba32Ldr,scanwscs,NSESVC.EXE,F(xiàn)ortiScand,F(xiàn)PAVServer,a2service,freshclam,cmdagent,ArcaConfSV,ACAAS
下圖為其中對360的監(jiān)控代碼:

C&C通信
在更新線程里,蠕蟲嘗試連接內(nèi)置的硬編碼域名,所下圖所示,不同變種會有所區(qū)別。

和CC的通訊是通過DNS查詢實現(xiàn)的,對內(nèi)置的域名進(jìn)行DNS查詢,查詢類型為DNS_TYPE_TEXT,通過這種方式實現(xiàn)和C&C的通訊。

服務(wù)器返回加密后的數(shù)據(jù),具體如下,由于調(diào)試的樣本沒有接收到對應(yīng)的返回包,此處引用Symantec的圖片。

解密加密的數(shù)據(jù)包,獲取對應(yīng)的操作指令。

解密數(shù)據(jù)包后,根據(jù)服務(wù)端下發(fā)的指令執(zhí)行相關(guān)操作,如下圖所示的開啟新線程,cmd執(zhí)行,注冊表寫入等操作。



RDP暴力破解
Morto的傳播主要通過RDP協(xié)議登錄并進(jìn)行弱口令爆破實現(xiàn)。
樣本開啟一個專用于爆破的線程,在線程里循環(huán)隨機生成一個目標(biāo)IP,檢查合法性后嘗試對其進(jìn)行爆破。使用到的用戶名如下:
1,123,a,actuser,adm,admin,admin1,admin2,administrator,aspnet,backup,console,david,guest,john,owner,owner,root,server,sql,support,support_388945a0,sys,test,test1,test2,test3,user,user1,user2,user3,user4,user5
使用的弱密碼如下:
!@#$,!@#$%,!@#$%^,!@#$%^&*,%u%,%u%1,%u%111111,%u%12,%u%123,%u%1234,%u%123456,0,000000,1,111,1111111111,1111111,111222,112233,11223344,12,121212,123,123123,123321,1234,12344321,12345,123456,1234567,12345678,123456789,1234567890,1234qwer,1313,1314520,159357,168168,1QAZ,1q2w3e,1qaz2wsx,2010,2011,2012,2222,222222223,31415926,369,4321,520,520520,654321,666666,7,7777,7777777,77777777,789456,888888,88888888,987654,987654321999999,PASSWORD,Password,aaaa,abc,abc123,abcd,abcd1234,admin,admin123,computer,dragon,iloveyou,letmein,pass,password,princess,qazwsx,rockyou,root,secret,server,super,test,user,zxcvbnm

開啟RDP登錄:

在RDP登陸成功后,嘗試使用管理員賬號執(zhí)行以下操作,執(zhí)行感染操作,由于a.dll樣本使用的是rundll32.exe進(jìn)行啟動,因此首先通過r.reg將rundll32.exe設(shè)置為administrator以便與后續(xù)樣本dll的執(zhí)行。

木馬中RDP的協(xié)議采用了開源代碼實現(xiàn),經(jīng)過代碼對比,應(yīng)該是采用了rdesktop早期版本實現(xiàn):


總結(jié)
作為一個曝光6年卻依然活動的蠕蟲,Morto還是有一定的技術(shù)特點,如通過clb加載惡意dll,C&C采用DNS查詢的方式進(jìn)行通信,payload通過注冊表保存(應(yīng)該算是早期無文件樣本的雛形了)等。這個蠕蟲的流行也時刻提醒我們無論在什么環(huán)境,弱口令都是企業(yè)內(nèi)部安全需要關(guān)注的一大問題。
|