這篇文章給大家介紹基于SYLK文件傳播Orcus遠(yuǎn)控木馬樣本的示例分析,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
望江ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
近日,反病毒實驗室發(fā)現(xiàn)一例利用符號鏈接文件(SYLK文件)傳播遠(yuǎn)控Orcus遠(yuǎn)控木馬的攻擊樣本,黑客使用SYLK文件做為初始攻擊載體,在SYLK文檔中使用DDE加載powershell進(jìn)而加載Orcus遠(yuǎn)控木馬執(zhí)行。對大多數(shù)用戶來說,SYLK文件都很陌生,SYLK文件為微軟的一種數(shù)據(jù)文件,默認(rèn)由Excel程序加載,使用SYLK文件做為初始攻擊載體在很大程度上可以躲避安全軟件的查殺,至本文發(fā)稿,該樣本仍未被騰訊電腦管家之外的各大安全廠商查殺。
黑客利用該樣本的典型的攻擊場景為:將免殺的SYLK惡意文檔做為附件對目標(biāo)用戶進(jìn)行釣魚攻擊,誘導(dǎo)用戶執(zhí)行進(jìn)而控制用戶的計算機(jī)系統(tǒng);利用水坑攻擊,將SYLK惡意文檔替換用戶信任站點的下載鏈接,等待用戶主動下載執(zhí)行。
整個樣本的攻擊流程過程如下所示。
在這起攻擊事件中,有兩點值的關(guān)注:
1. 大多數(shù)的安全廠商在自己殺毒引擎中都有對doc、xls等常見文檔的格式解析功能,但對于不常見的文檔結(jié)構(gòu)類型(如本例中的SYLK文檔結(jié)構(gòu))重視不夠,沒有實現(xiàn)對這類文檔的解析功能模塊,因此導(dǎo)致這類文檔中的惡意代碼無法殺毒引擎正確識別查殺。
2. 從樣本編譯時間戳來看,loader樣本于2018年3月22日完成,Orcus遠(yuǎn)控木馬樣本于2018年3月24日生成,該樣本時間較新,黑客們最近已經(jīng)嘗試出這類的免殺手段,以后使用該手段的惡意樣本的可能會出現(xiàn)一定程度的增長。
因此,本文將對該類樣本進(jìn)行詳細(xì)分析,供安全社區(qū)共享,共同提高安全能力,保護(hù)個人、企業(yè)、機(jī)關(guān)等用戶的計算機(jī)安全。
原始樣本文件名為K*****.slk,.slk后綴名為SYLK文件后綴。符號鏈接(SYLK)是Microsoft的一種文件格式,通常用于在應(yīng)用程序(特別是電子表格)之間交換數(shù)據(jù)。SYLK文件的后綴名為.slk。該格式的文件由可顯示的ANSI字符組成,即使創(chuàng)建SYLK文件的應(yīng)用程序支持UNICODE,SYLK 文件在系統(tǒng)中也會以ANSI編碼。
使用010edit打開文件后顯示如下:
第一行的ID;PWXL;N;E申明了文檔格式,P開頭的行表示了不同的樣式,在安裝office的情況下,SYLK文件默認(rèn)由EXCEL程序打開。
默認(rèn)打開時,EXCEL會彈出下面的安全提示,如果用戶此時點擊禁用,還可免受攻擊威脅。
當(dāng)用戶點擊了啟用后,OFFICE軟件會提示”遠(yuǎn)程數(shù)據(jù)不可訪問”對話框,同時給出了只有信任該數(shù)據(jù)時再點擊是按鈕,防止合法應(yīng)用程序被病毒惡意利用。
再次點擊是按鈕后,惡意的powershell就會得以執(zhí)行,此后,再無需用戶的交互,機(jī)器就已經(jīng)被黑客完全控制。
運(yùn)行時的進(jìn)程樹如下:
觀察原始的SYLK文件,可以在153行的內(nèi)容看到惡意代碼:
153行代碼的含義為在單元格中使用公式加載DDE,使用“\..\..\..\Windows\System32\cmd.exe”加載powershell執(zhí)行。執(zhí)行的命令為:
對下載回來的Formules.exe進(jìn)行分析
Formules.exe充當(dāng)了混淆殼的功能。Formules.exe使用.NET編寫,在DNSpy中顯示代碼經(jīng)過混淆,混淆的效果如下:
Formules.exe資源中保存著114張圖片,F(xiàn)ormules.exe最終會從這些圖片中解碼出PE數(shù)據(jù)。資源截圖如下:
Formules.exe將自身代碼在內(nèi)存中解碼出來后,dump出來后可以看到還原后的代碼。從還原后的代碼可以看到,在Main函數(shù)中調(diào)用Resources解碼資源后,調(diào)用Form1執(zhí)行,在Form1的初始化中直接調(diào)用Form1的close方法,在Form1的close方法中才真正的加載解碼出來的Multi.exe執(zhí)行,Multi.exe本身為一個loaderPe程序,用來加載最終的遠(yuǎn)控木馬。
上面描述的過程從代碼層面看,Main函數(shù)調(diào)用Application.Run(new Form1());
在Form1的Load方法中調(diào)用了Resources.Class9.smethod_1,而Resources.Class9.smethod_1又會調(diào)用Form1的close方法。
在Form1的close方法,使用Invoke調(diào)用解碼出來的Multi.exe(loader程序)的入口點執(zhí)行(此處我Invoke函數(shù)與EntryPoint函數(shù)經(jīng)過人工的重命名)。
Form1.smethod_1函數(shù)的功能就是解碼出Multi.exe,代碼截圖如下:
Multi.exe編譯時間戳為2018年03月22日,該樣本最近才開始構(gòu)建完成。
Multi.exe的功能就是PELoader, Multi.exe通過AES解碼出加載PE所需的函數(shù)名稱進(jìn)而得到函數(shù)地址,使用CreateProcess傳遞CREATE_SUSPENDED參數(shù)創(chuàng)建處于掛起狀態(tài)的進(jìn)程后,GetThreadContext來獲取被掛起進(jìn)程的CONTEXT,最終使用SetThreadContext來設(shè)置線程的上下文,將EIP設(shè)置成要加載的PE的入口處,ResumeThread恢復(fù)線程執(zhí)行,實現(xiàn)加載PE的功能。
Multi.exe使用AES算法解密出配置字符串:
對應(yīng)的配置信息如下表
選項 | 值 |
---|---|
Install | TRUE |
Install.Folder | 0x0000000B |
Install.Key | Software\Microsoft\Windows\CurrentVersion\RunOnce |
Install.ValueName | pitsuvxlikk |
Install.FileName | printing.exe |
Install.StartupFolder | TRUE |
Notify | FALSE |
Options.Compress | FALSE |
Options.CheckVM | FALSE |
Options.CheckSandbox | FALSEs |
Options.DelayTime | 0x00000019 |
Options.MonitorPackage | FALSE |
Options.MonitorRegistry | FALSE |
Options.MonitorSelf | FALSE |
Options.HostIndex | 0x00000000 |
Files.Main | Orcus.exe文件的內(nèi)容 |
Files.Count | 0 |
Options.Melt | FALSE |
MeltFileName | Name of the melted file |
其中最關(guān)鍵的配置項為Files.Main,其表明要在內(nèi)存中加載的PE文件。
Multi.exe加載PE時,獲取函數(shù)地址的代碼如下:
向傀儡進(jìn)程寫入PE文件的代碼
此處的Files.Main指定的PE文件為Orcus遠(yuǎn)控木馬程序,將Orcus保存出來留做下面分析。
Orcus.exe文件的編譯時間戳顯示為2018年03月24日,比Multi.exe的編譯時間(2018.03.22)晚兩天。
Orcus為商業(yè)遠(yuǎn)控軟件,售價為40美元,該遠(yuǎn)控軟件自2016年就開始出現(xiàn),此后一直持續(xù)的更新維護(hù),官方最新版本為1.9.1,除了遠(yuǎn)控木馬的基本功能外,Orcus最大的產(chǎn)品亮點在于,它能夠加載由用戶開發(fā)的自定義插件和攻擊者可以在遠(yuǎn)程計算機(jī)上實時執(zhí)行C#和VB.net代碼。
Orcus目前官方的插件庫中包含5個插件,其中包含增加文件體積防止云查殺的功能插件,使用系統(tǒng)關(guān)鍵進(jìn)程保護(hù),進(jìn)程被殺后強(qiáng)制藍(lán)屏的插件等。
對于官方的Orcus遠(yuǎn)控軟件,在遠(yuǎn)控被控端運(yùn)行時,會有如下的運(yùn)行風(fēng)險提示,官網(wǎng)的Orcus也一在重審,軟件為遠(yuǎn)程管理類軟件,并不是遠(yuǎn)控木馬。但在騰訊反病毒實驗室檢測到的Orcus做為木馬使用的情況下,都不會出現(xiàn)下面的對話框。
遠(yuǎn)控軟件的遠(yuǎn)程進(jìn)程管理、文件管理、注冊表管理、服務(wù)管理、網(wǎng)絡(luò)連接管理等基本功能代碼截圖如下:
常規(guī)的遠(yuǎn)控木馬功能不再贅述,本文將結(jié)合作者理解對該遠(yuǎn)控軟件比較特色的功能簡單介紹。
惡作劇功能
軟件集成了惡作劇功能,可以在受害機(jī)器上播放蚊子聲音,龍卷風(fēng)聲音,鬼叫聲等。
世界地圖功能
軟件集成了世界地圖功能,可以在地圖上顯示各受害者所在的地理位置。
同時,統(tǒng)計功能也以圖表的形式給出指定時間內(nèi)的上線情況統(tǒng)計。
遠(yuǎn)程源代碼直接執(zhí)行功能
軟件具有遠(yuǎn)程源代碼直接執(zhí)行的功能,目前支持支持Visual C#、VB NET、 Batch腳本的直接執(zhí)行。如下圖,將直接在受害機(jī)器上執(zhí)行選中的C#代碼。
動態(tài)調(diào)試得到遠(yuǎn)控木馬的上線地址為:d***r.com:9**0。調(diào)試截圖如下:
DDE技術(shù)從開始提出,騰訊反病毒實驗室就一直持續(xù)跟進(jìn),先后在freebuf發(fā)布《利用DDE釣魚文檔傳播勒索病毒事件分析》,《Office DDEAUTO技術(shù)分析報告》,《無需開啟宏即可滲透:在Office文檔中利用DDE執(zhí)行命令》等多篇文章對該類技術(shù)進(jìn)行分析,此次的攻擊樣本同樣使用DDE技術(shù),但卻與以往的利用方式存在少許差異:以往的DDE技術(shù)利用在.doc文檔和.xls文檔中,而此次的DDE技術(shù)利用在.slk文檔中。而正是這一簡單的改變就導(dǎo)致了諸多殺軟的集體失聲。
對于上文中提到的攻擊樣本,給出下面的安全建議:
一. 提高用戶網(wǎng)絡(luò)安全意識,對上面的樣本,如果用戶能夠在兩次確認(rèn)的過程中,及時的選擇不允許執(zhí)行,即可以阻斷攻擊過程。,不隨意打開陌生人發(fā)送的文件可以最快的阻斷攻擊。
二. 建議用戶盡快排查自身網(wǎng)絡(luò)內(nèi)是否有可疑C&C地址的訪問,一旦發(fā)現(xiàn)有終端主機(jī)對上述遠(yuǎn)控C&C地址發(fā)起請求連接則極有可能已經(jīng)淪陷。
三. 建議用戶安裝騰訊電腦管家等終端安全產(chǎn)品。保持終端安全產(chǎn)品的及時更新從而達(dá)到有效防護(hù)。
四. 可以在企業(yè)邊界部署御界高級威脅檢測系統(tǒng),御界高級威脅檢測系統(tǒng)已經(jīng)能夠?qū)υ撏{進(jìn)行阻斷與報警。
關(guān)于基于SYLK文件傳播Orcus遠(yuǎn)控木馬樣本的示例分析就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。