勒索病毒(CrySiS家族)最新變種分析
前言
近期,天融信阿爾法實驗室捕獲到了一款最新的勒索病毒軟件,經過分析確定該樣本是CrySiS家族的變種。
1. 現象描述
被該病毒感染後的機器桌面上有多個同樣的勒索聲明窗口,如下圖1-1:
圖1-1 勒索聲明
注意:加密後的文件名都形如帶“id-186103BD” 爲磁盤ID也作爲聲明中感染機器的ID。
硬盤內的除系統所有文件全部被加密了,加密後的文件全部以“.arrow”結尾,如圖1-2所示:
圖1-2 加密後的文件名
另外在加密目錄裏還有一個勒索提示說明文件:
圖1-3 加密提示
注:提示感染機器文件已經被鎖定,想要解密通過郵件聯繫作者。
2. 樣本的基本信息
該勒索病毒的軟件基本信息如下:
根據勒索病毒加密後文件命名特點和勒索聲明的文字描述,同時對其二進制代碼深入分析,判定該勒索病毒爲CrySiS家族的樣本的最新變種。
該家族可追溯到2016年開始具有勒索活動,2017年5月份採用RDP暴力破解方式進行植入服務器進行勒索,加密後文件後以java後綴結尾,2017年8月發現一個新變種,加密後的文件名以“.arena”結尾,中國境內的工廠受到攻擊的較多,2018年6月出現一個新變種,後綴“.bip”結尾,7月最新變種增加了感染文件種類。
圖2-1crysis家族事件
3. 勒索軟件技術分析
該勒索病毒與同家族以前版本不同點在於:
加了UPX殼,也是爲了減少體積更易於傳播;
啓動開始繪製200*200的窗口,位置在不可見處,在這該窗口中會獲取0×774的控件ID字符串,實際上這個窗口沒有意義;
監控剪切板,若非空,就會清理;
增加了感染文件種類,比6月份(bip)版本多22種;
加密後的文件名以“[[email protected]].arrow”結尾。
與以往版本相同點:
會添加註冊表和系統Startup啓動項,刪除磁盤卷影以免磁盤恢復,殺死重要進程,爲了加密文件時,解除文件佔用,遍歷A~Z的邏輯磁盤進入加密線程,另啓線程來解密準備進行加密文件的可執行代碼,之後採用RSA+AES加密算法進行文件加密。
3.1 樣本整體行爲
勒索軟件的整體行爲如下:
圖3-1 勒索病毒整體行爲
3.2繪製窗口
該窗口座標爲(0,0,200,200)在計算機屏幕上看不到,實際上沒有用處。
3.3監控剪切板
若剪切板有數據就清空,以防止發現時數據備份不成功。
3.4禁止文件重定向
勒索病毒有調用“Wow64DisableWow64FsRedirection”API,該功能爲:在64位系統下,禁止系統目錄重定向到Syswow64目錄下,爲以管理員身份運行復制自身到system32目錄下做準備,實際上並不能以管理員身份運行。
3.5獲取網絡arp信息
通過調用GetExtentedTcpTable和GetIpNetTable獲取鄰近主機IP,但沒有對IP列表做任何操作。可能這個變種的作者刪除了自我攻擊傳播的功能,這與以往勒索軟件不同,以往勒索軟件會把獲取的鄰近 ip作爲攻擊的目標。
獲取的arp信息,直接釋放內存,沒有任何操作:
3.6網絡Socket活動
創建一個socket,設置爲非阻塞模式,實際這些網絡活動並沒有用。
3.7複製自身到startup目錄
把自身複製到“C:\Users\apple\AppData\Roaming\Microsoft\Windows\StartMenu\Programs\Startup”和“C:\Users\apple\AppData\Roaming”目錄。
機器感染後勒索病毒(名稱爲iMounttain.exe)會複製到:
3.7.1 開始菜單啓動項目,其中info.hta爲勒索聲明內容:
3.7.2 用戶的Roaming目錄裏:
3.8以管理員身份啓動自身,複製自身添加註冊表啓動項
創建新線程以管理員身份執行自身:
系統會詢問是否執行:
若點擊“是”後會把自身複製到system32目錄下,並添加註冊表啓動項目:
3.9刪除磁盤卷影
採用執行cmd進程命令執行刪除磁盤卷影命令(mode con cp select=125 vssadmin delete shadows /all),以免恢復磁盤:
殺死關鍵進程,以避免加密時文件佔用,主要以下進程:
mysqld.exe
postgres.exe
mysqld-nt.exe
sqlservr.exe
1cv77.exe
1c8.exe
outlook.exe
services.exe
結束進程:
3.10磁盤遍歷
遍歷主機磁盤(ABCDEFGHIJKLMNOPQRSTUVWXYZ)進入加密線程:
該勒索軟件把可執行的代碼和API都加密保存,阻止靜態分析,下面是解密後的API調用入口:
4. 文件加密技術
加密目標文件類型,經過統計共365種類型的文件:
1cd”,1r4x”,3ds”,3fr”,3g2″,3gp”,7z”,accda”,accdb”,accdc”,accde”,accdt”,accdw”,adb”,adp”,ai”,ai3″,ai4″,ai5″,ai6″,ai7″,ai8″,anim”,arrow”,arw”,as”,asa”,asc”,ascx”,asm”,asmx”,asp”,aspx”,asr”,asx”,avi”,avs”,backup”,bak”,bat”,bay”,bootfont”,bd”,Bin”,bmp”,bz2″,c”,cdr”,cer”,cf”,cfc”,cfm”,cfml”,cfu”,chm”,cin”,class”,clb”,clx”,config”,cpp”,cr2″,crt”,crw”,cs”,css”,csv”,cub”,dae”,dat”,db”,dbf”,dbx”,dc3″,dcm”,dcr”,deepscan”,der”,dib”,dic”,dif”,divx”,djvu”,dll,dll”,dng”,doc”,doc;,docm”,docx”,dot”,dotm”,dotx”,dpx”,dqy”,DS_Store”,dsn”,dt”,dtd”,dwg”,dwt”,dx”,dxf”,edml”,efd”,elf”,emf”,emz”,epf”,eps”,epsf”,epsp”,erf”,exe,exe”,EXE”,1cv77″,exe”,exr”,f4v”,fido”,flm”,flv”,frm”,fxg”,geo”,gif”,grs”,gz”,h”,hdr”,hpp”,hta”,htc”,htm”,html”,icb”,ics”,id-”,iff”,inc”,indd”,ini”,iqy”,j2c”,j2k”,java”,jp2″,jpc”,jpe”,jpeg”,jpf”,jpg”,jpx”,js”,jsf”,json”,jsp”,kdc”,kmz”,kwm”,lasso”,lbi”,lgf”,lgp”,log”,LOG1″,LOG2″,m1v”,m4a”,m4v”,max”,md”,mda”,mdb”,mde”,mdf”,mdw”,mef”,mft”,mfw”,mht”,mhtml”,mka”,mkidx”,mkv”,mos”,mov”,mp3″,mp4″,mpeg”,mpg”,mpv”,mrw”,msg”,mxl”,myd”,myi”,nef”,nrw”,obj”,odb”,odc”,odm”,odp”,ods”,oft”,one”,onepkg”,onetoc2″,opt”,oqy”,orf”,p12″,p7b”,p7c”,pam”,pbm”,pct”,pcx”,pdd”,pdf”,pdp”,pef”,pem”,pff”,pfm”,pfx”,pgm”,php”,php3″,php4″,php5″,phtml”,pict”,pl”,pls”,pm”,png”,pnm”,pot”,potm”,potx”,ppa”,ppam”,ppm”,pps”,ppsm”,ppt”,pptm”,pptx”,prn”,propdesc”,ps”,psb”,psd”,pst”,ptx”,pub”,pwm”,pxr”,py”,qt”,r3d”,raf”,rar”,raw”,rdf”,rgbe”,rle”,rqy”,rss”,rtf”,rw2″,rwl”,safe”,sct”,sdpx”,shtm”,shtml”,slk”,sln”,sql”,sr2″,srf”,srw”,ss,ss”,ssi”,st”,stm”,svg”,svgz”,swf”,sys”,tab”,tar”,tbb”,tbi”,tbk”,tdi”,tga”,thmx”,tif”,tiff”,tld”,torrent”,tpl”,ttf”,txt”,u3d”,udl”,uxdc”,vb”,vbs”,vcs”,vda”,vdr”,vdw”,vdx”,vrp”,vsd”,vss”,vst”,vsw”,vsx”,vtm”,vtml”,vtx”,wav”,wb2″,wbm”,wbmp”,wim”,wmf”,wml”,wmv”,wpd”,wps”,x3f”,xl”,xla”,xlam”,xlk”,xlm”,xls”,xlsb”,xlsm”,xlsx”,xlt”,xltm”,xltx”,xlw”,xml”,xps”,xsd”,xsf”,xsl”,xslt”,xsn”,xtp”,xtp2″,xyze”,xz”,zip”
加密之前需要查找以上文件類型,並查找局域網中的共享文件,同時要檢查文件大小,若文件大小大於0×180000,就會採用大文件加密方法進行加密。
4.2整體文件加密過程
文件加密過程:
圖4-2勒索病毒文件加密過程
4.2.3 遍歷本機文件並查找符合條件的文件
比較文件:
4.2.4 同時枚舉網絡資源加密共享文件
4.2.5 通過ReadFile方式把文件內容讀入內存,之後完成AES
加密,最後以WriteFile方式寫入文件保存加密後的內容:
寫入加密後的文件:
4.2.6 大文件加密
文件大小大於0×180000就會把加密後的內容寫入原文件,採用MoveFile對原文件進行更名,以“.arrow”結尾,而不刪除原文件。
4.2.7 正常文件加密
對於文件大小小於或等於0×180000就會把加密後的內容寫入新建以“.arrow”結尾文件中,之後刪除原文件。
從原始文件讀出明文,如下:
寫入新文件,如下:
刪除原文件:
刪除原文件:
4.3 加密技術
加密採用AES加密,密鑰AESKEY爲256bit,加密後會把AESKEY採用RSA加密(公鑰爲內置1024bit)和最後一次的IV寫入加密文件中,加密算法並不使用公開的加密庫,而是把所有加密算法直接寫入程序中。
加密時,首先把文件內容讀入內存,依次用其16字節每4字節倒序(爲計算時採用原文件字節順序)進行IV異或計算(BUF xor IV),之後再進行AES加密。
加密技術如下:
勒索軟件加密技術展現如下圖所示:
圖4-3勒索軟件加密過程展現
4.3.1 AESKEY隨機生成
隨機生成32字節AESKEY(前4字節爲時間),彙編指令採用rdtsc指令爲cpu自啓動運行時間週期,這樣也可以理解爲隨機密鑰,再用RSA公鑰計算SHA1對其32隨機數進行更新,生成AESKEY,初始IV,是隨機生成16字節(前4字節爲時間),再用計算SHA1對其16隨機數進行更新,來生成IV。
計算SHA1:
計算SHA1更新隨機32字節AESKEY:
經過RSA加密,是爲了加密後的AESKEY保存在加密文件中,爲其解密之用:
4.3.2 RSA公鑰
RSA公鑰是內置的需要時採用RC4解密出,才能使用。
RSA公鑰爲數據選擇部分:
4.3.3 初始IV的生成
初始IV爲隨機16字節,計算SHA1進行更新。
計算IV的輸出作爲AES加密函數的輸入:
4.3.4 AES加密
文件內容進行AES加密時,依次用文件內容的16字節,採用IV進行xor計算,之後AES加密,最後保存,代碼如下:
4.3.5 加密過程動態調試
文件讀入內存:
取16字節,每4字節倒序,爲計算時保持文件順序:
與IV進行xor計算:
進行AES加密:
經過亦或的IV明文:
加密後:
4.3.6 AES加密後的文件密鑰保存
AES加密後的密文寫入新的文件文件名以“Id-xxxxxxxx.[[email protected]]”結尾,寫完密文後會把文件名,最後加密的IV和經過RSA加密後的AESKEY寫入本次加密的密文的後面。
這樣解密時,需要用RSA私鑰解密出AESKEY,採用最後加密的IV,按照上述加密的反過程就可以解密了。或可以採用嘗試購買作者的解密工具,找到RSA私鑰,就可以全部文件解密。
4.3.7 原文件的刪除
加密數據寫入新文件(Id…arrow),設置文件文件末尾。
設置加密後的新文件屬性:
刪除原文件:
5. 總結與建議
該勒索軟件主要針對於windows的服務器,特別是企業服務器比如工廠等,重要的是安全防範有疏漏,容易受攻擊。它採用當前流行的強加密算法(RSA+AES)理論上受害者是無法解開的。
若有客戶聯繫作者購買了解密工具,請聯繫我們,我們會從解密工具中嘗試找到關鍵密鑰便可以解密全部文件。
對勒索軟件防範建議:
及時給服務器打補丁,修補漏洞;
對重要文件實時進行遠程備份;
對重要文件儘量不要共享在局域網上;
不要點擊來歷不明的郵件和附件。
*本文作者:alphalab,轉載請註明來自FreeBuf.COM