写在前面得话
MaMoCrypt是一款灭绝人性的勒索软件,该勒索软件从往年的十二月份逐渐活跃性,深受其害。的客户可以算得上数不胜数了。那麼在这篇文章中,大家将告知大伙儿如何恢复、破译被MaMoCrypt勒索软件加密的数据信息。
MaMoCrypt是一款十分不同寻常的勒索软件,这款勒索软件选用Delphi开发设计,而且采用了mpress开展封装形式,是MZRevenge的一个变异版本。
勒索软件个人行为
- MaMoCrypt可以删掉Windows卷影(ShadowVolume),并禁止使用服务器防火墙及其UAC服务项目。这种作用在恶意程序行业中实际上并不少见,因而大家在这里对其不做更深层次的探讨。
- 它采用了Delphi的随机生成器(根据线形同余制作器)及其根据时间段的DWORD种籽(应用QueryPerformanceCounter或GetTickCount),这时将会转化成2个缓冲区域,在其中的信息会应用Base64开展编号,并加上MZRKEYPUBLIC / MZRKEYPRIVATE字符串数组。
- 依据上述的2个密匙及其一个子网掩码,该勒索软件将会对于每一个文档转化成2个加密密匙,接着将会应用他们来开展文档加密。它最先会应用AES 128 CBC来开展文档內容加密,随后再应用Twofish 128 NOFB来对它进行二次加密。AES加密全过程中剩下的16%內容将应用AES 128 CFB开展加密,全部加密文档的扩展名都是会增加一个“.MZ173801”。
- 加密进行以后,恶意程序会再度枚举类型全部加密文件目录,并各自储放敲诈勒索信息内容,而敲诈勒索信息内容中也会包括相应的那2个MZR密匙。
尽管MZR密匙在密钥生成或加密的历程中不容易产生变化,但子网掩码会不断升级。他们的转化成根据的是SHA1、SHA512和一些自定优化算法的混合计算結果。每一个AES和Twofish密匙还会继续应用SHA512开展16次测算及其字节数异或运算。
子网掩码和密钥生成
*(int*)mask_in=offset;for(inti=0;i<0x800; i){SHA1(mask_in,0x84,mask_out);*(int*)mask_in=i 1 offset;*(mask_in 3 (i&0x7F) 1)^=mask_out[0];mask[i]=mask_out[1];}offset =0x800;aes_key=generate_key(mask,mzrkey_private.c_str(),0x800,mzrkey_private.size());for(inti=0;i<0x200; i){SHA1(mask_in,0x84,mask_out);*(int*)mask_in=i 1 offset;*(mask_in 3 (i&0x7F) 1)^=mask_out[0];mask[i]=mask_out[1];}offset =0x200;twofish_key=generate_key(mask,mzrkey_public.c_str(),0x200,mzrkey_public.size());generate_key:intmzrkey_size_bswap=_byteswap_ulong(mzrkey_len);intmask_size_bswap=_byteswap_ulong(mask_len);for(inti=0;i<key_SIZE; i){((int*)in)[0]=_byteswap_ulong(i);for(intj=0;j<i; j)in[j 4]=key[j];*((int*)(in 4 i))=_byteswap_ulong(1);*((int*)(in 8 i))=mask_size_bswap;memcpy(in 3*sizeof(int) i,mask,mask_len);memcpy(in 3*sizeof(int) mask_len i,&mzrkey_size_bswap,4);memcpy(in 3*sizeof(int) mask_len 4 i,mzrkey,mzrkey_len);SHA512(in,mask_len mzrkey_len 4*sizeof(int) i,out);for(intj=0;j<SHA512_DIGEST_LENGTH; j)key[i]^=out[j];}
AES CBC的IV将应用AES 128 ECB转化成,部位在一个16字节数缓冲区域内。相近的,Twofish NOFB的IV将应用Twofish 128 ECB转化成,部位一样在一个16字节数缓冲区域内。子网掩码的原始內容转化成如下所示:
memset(mask_in,MASK_IN_SZ,0);memset(mask_out,MASK_OUT_SZ,0);for(inti=0;i<0x80; i){SHA1(mask_in,0x84,mask_out);*(int*)mask_in=i 1;*(mask_in 3 i 1)=mask_out[0];}
事实上,这类数据加密体制大家先前从没在别的勒索病毒中看到过,并且恶意程序还会继续对全部系统文件开展数据加密,该勒索病毒的硬编码文档和控制器目录如下所示:
C:\ProgramFiles\SteamC:\ProgramFiles(x86)\Steam[DRIVESA-Z,WITHOUTC]C:\Users\%user%\AppData\Roaming\Microsoft\Windows\Recent\C:\Users\%user%\PicturesC:\Users\%user%\MusicC:\Users\%user%\VideosC:\Users\%user%\DocumentsC:\Users\Public\DocumentsC:\Users\Public\VideosC:\Users\Public\MusicC:\Users\Public\PicturesC:\Users\%user%\DownloadsC:\Users\%user%\Favorites::{645FF040-5081-101B-9F08-00AA002F954E}(RecycleBin)C:\Users\AdministratorC:\Users\PublicC:\Users\DefaultC:\Users\%user%\DesktopC:\Users\Public\DesktopC:\Users\%user%\AppData\Roaming\Microsoft\InternetExplorer\QuickLaunch\UserPinned\TaskBarC:\Users\%user%\AppData\Roaming\Microsoft\Windows\StartMenuC:\ProgramData\Microsoft\Windows\StartMenu\
因为子网掩码/密钥生成应用了一个偏移来意味着每一个文档的增长,那麼破译的流程将取决于文档的加密文件。
这款勒索病毒适用的文件加密种类如下所示:
.cs;.lnk;.mp3;.jpg;.jpeg;.raw;.tif;.gif;.png;.bmp;.3dm;.max;.accdb;.db;.dbf;.mdb;.pdb;.sql;.dwg;.dxf;.c;.cpp;.cs;.h;.php;.asp;.rb;.java;.jar;.class;.py;.js;.aaf;.aep;.aepx;.plb;.prel;.prproj;.aet;.ppj;.psd;.indd;.indl;.indt;.indb;.inx;.idml;.pmd;.xqx;.xqx;.ai;.eps;.ps;.svg;.swf;.fla;.as3;.as;.txt;.doc;.dot;.docx;.docm;.dotx;.dotm;.docb;.rtf;.wpd;.wps;.msg;.pdf;.xls;.xlt;.xlm;.xlsx;.xlsm;.xltx;.xltm;.xlsb;.xla;.xlam;.xll;.xlw;.ppt;.pot;.pps;.pptx;.pptm;.potx;.potm;.ppam;.ppsx;.ppsm;.sldx;.sldm;.wav;.aif;.iff;.m3u;.m4u;.mid;.mpa;.wma;.ra;.avi;.mov;.mp4;.3gp;.mpeg;.3g2;.asf;.asx;.flv;.mpg;.wmv;.vob;.m3u8;.mkv;.dat;.csv;.efx;.sdf;.vcf;.xml;.ses;.rar;.zip;.7zip;.dtb;.bat;.apk;.vb;.sln;.csproj;.vbproj;.hpp;.asm;.lua;.ibank;.design;.aspx;.bak;.obj;.sqlite;.sqlite3;.sqlitedb;.back;.backup;.one;.pst;.url;.onetoc2;.m4a;.m4v;.ogg;.hwp;.HWP;.OGG;.M4V;.M4A;.ONETOC2;.URL;.PST;.ONE;.BACKUP;.BACK;.SQLITEDB;.SQLITE3;.SQLITE;.OBJ;.BAK;.ASPX;.DESIGN;.IBANK;.LUA;.ASM;.HPP;.VBPROJ;.CSPROJ;.SLN;.CS;.VB;.LNK;.JPG;.JPEG;.RAW;.TIF;.GIF;.PNG;.BMP;.3DM;.MAX;.ACCDB;.DB;.DBF;.MDB;.PDB;.SQL;.DWG;.DXF;.C;.CPP;.CS;.H;.PHP;.ASP;.RB;.JAVA;.JAR;.CLASS;.PY;.JS;.AAF;.AEP;.AEPX;.PLB;.PREL;.PRPROJ;.AET;.PPJ;.PSD;.INDD;.INDL;.INDT;.INDB;.INX;.IDML;.PMD;.XQX;.XQX;.AI;.EPS;.PS;.SVG;.SWF;.FLA;.AS3;.AS;.TXT;.DOC;.DOT;.DOCX;.DOCM;.DOTX;.DOTM;.DOCB;.RTF;.WPD;.WPS;.MSG;.PDF;.XLS;.XLT;.XLM;.XLSX;.XLSM;.XLTX;.XLTM;.XLSB;.XLA;.XLAM;.XLL;.XLW;.PPT;.POT;.PPS;.PPTX;.PPTM;.POTX;.POTM;.PPAM;.PPSX;.PPSM;.SLDX;.SLDM;.WAV;.MP3;.AIF;.IFF;.M3U;.M4U;.MID;.MPA;.WMA;.RA;.AVI;.MOV;.MP4;.3GP;.MPEG;.3G2;.ASF;.ASX;.FLV;.MPG;.WMV;.VOB;.M3U8;.MKV;.DAT;.CSV;.EFX;.SDF;.VCF;.XML;.SES;.RAR;.ZIP;.7ZIP;.DTB;.BAT;.APK;
加密取得成功以后,该勒索手机软件将枚举所有加密文件目录,并一一储放勒索信息,勒索文本文件名叫“How Do I Recover My Files (Readme).txt”:
怎样破译
第一步:最先点一下【这儿】免费下载解密工具,并存放在当地设施中。
第二步:双击鼠标免费下载之后的BDMaMoDecryptTool.exe应用软件文档,随后在弹出来的UAC提醒中点一下“Yes”:
第三步:载入并接纳终端产品用户许可证书协议书:
第四步:充分考虑这款勒索手机软件大家族的独特性,专用工具可能以指定的次序来扫描仪系统软件,而没法容许客户特定必须破译的文件夹名称或文档数据信息,因而大家强烈要求客户挑选“备份数据”选择项。
第五步:点一下“Start Tool”按键,剩余的就交到解密工具来进行吧!假如你选取了备份数据选择项,那麼加密文档和破译文档都将与此同时发生,你还是可以在%temp%\BDRemovalTool文件目录中查询到破译全过程的日志纪录。
解密工具
BDMaMoDecryptTool.exe:【下载链接】