iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >如何恢复被MaMoCrypt勒索软件加密的数据
  • 873
分享到

如何恢复被MaMoCrypt勒索软件加密的数据

2023-06-17 08:06:13 873人浏览 独家记忆
摘要

这篇文章主要讲解了“如何恢复被MaMoCrypt勒索软件加密的数据”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何恢复被MaMoCrypt勒索软件加密的数据”吧!写在前面的话MaMoCry

这篇文章主要讲解了“如何恢复被MaMoCrypt勒索软件加密的数据”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何恢复被MaMoCrypt勒索软件加密的数据”吧!

写在前面的话

MaMoCrypt是一款臭名昭著的勒索软件,该勒索软件从去年的十二月份开始活跃,深受其害的用户可以算是不计其数了。那么在这篇文章中,我们将告诉大家如何恢复、解密被MaMoCrypt勒索软件加密的数据。

MaMoCrypt是一款非常与众不同的勒索软件,这款勒索软件采用Delphi开发,并且使用了mpress进行封装,是MZRevenge的一个变种版本。

勒索软件行为

  • MaMoCrypt能够删除windows卷影(ShadowVolume),并禁用防火墙以及UAC服务。这些功能在恶意软件领域中其实并不罕见,因此我们在此对其不做更深入的讨论。

  • 它使用了Delphi的随机生成器(基于线性同余生成器)以及基于时间的DWord种子(使用QueryPerfORManceCounter或GetTickCount),此时将会生成两个缓冲区,其中的数据会使用Base64进行编码,并添加MZRKEYPUBLIC  / MZRKEYPRIVATE字符串

  • 根据上述的两个密钥以及一个掩码,该勒索软件将会针对每个文件生成两个加密密钥,随后将会使用它们来进行文件加密。它首先会使用AES 128  CBC来进行文件内容加密,然后再使用Twofish 128 NOFB来对其进行二次加密。AES加密过程中剩余的16%内容将使用AES 128  CFB进行加密,所有加密文件的后缀名都会添加一个“.MZ173801”。

  • 加密完成之后,恶意软件会再次枚举所有加密目录,并分别存放勒索信息,而勒索信息中也会包含对应的那两个MZR密钥。

虽然MZR密钥在密钥生成或加密的过程中不会发生变化,但掩码会持续更新。它们的生成基于的是SHA1、SHA512和某些自定义算法的混合计算结果。每一个AES和Twofish密钥还会使用SHA512进行16次计算以及字节异或。

掩码和密钥生成

*(int*)mask_in = offset;   for (int i = 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 (int i = 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:   int mzrkey_size_bswap = _byteswap_ulong(mzrkey_len);   int mask_size_bswap = _byteswap_ulong(mask_len);   for (int i = 0; i < key_SIZE; ++i) {     ((int*)in)[0] = _byteswap_ulong(i);     for (int j = 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 (int j = 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 (int i = 0; i < 0x80; ++i) {     SHA1(mask_in, 0x84, mask_out);     *(int*)mask_in = i + 1;     *(mask_in + 3 + i + 1) = mask_out[0];   }

实际上,这种加密机制我们此前从未在其他勒索软件中见到过,而且恶意代码还会对整个文件系统进行加密,该勒索软件的硬编码文件和驱动器列表如下:

C:\Program Files\Steam  C:\Program Files (x86)\Steam  [DRIVES A-Z, WITHOUT C]  C:\Users\%user%\AppData\Roaming\Microsoft\Windows\Recent\  C:\Users\%user%\Pictures  C:\Users\%user%\Music  C:\Users\%user%\Videos  C:\Users\%user%\Documents  C:\Users\Public\Documents  C:\Users\Public\Videos  C:\Users\Public\Music  C:\Users\Public\Pictures  C:\Users\%user%\Downloads  C:\Users\%user%\Favorites  ::{645FF040-5081-101B-9F08-00AA002F954E} (Recycle Bin)  C:\Users\Administrator  C:\Users\Public  C:\Users\Default  C:\Users\%user%\Desktop  C:\Users\Public\Desktop  C:\Users\%user%\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar  C:\Users\%user%\AppData\Roaming\Microsoft\Windows\Start Menu  C:\ProgramData\Microsoft\Windows\Start Menu\

由于掩码/密钥生成使用了一个偏移量来代表每一个文件的递增,那么解密的过程将依赖于文件的加密文件夹。

这款勒索软件支持的文件加密类型如下:

.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”:

如何恢复被MaMoCrypt勒索软件加密的数据

如何解密

首先点击【这里】下载解密工具,并存储在本地设备中。

双击下载下来的BDMaMoDecryptTool.exe应用程序文件,然后在弹出的UAC提示中点击“Yes”:

如何恢复被MaMoCrypt勒索软件加密的数据

读取并接受终端用户许可证协议:

如何恢复被MaMoCrypt勒索软件加密的数据

考虑到这款勒索软件家族的特殊性,工具将会以特定的顺序来扫描系统,而无法允许用户指定需要解密的文件夹或文件数据,因此我们强烈建议用户选择“备份文件”选项。

点击“Start  Tool”按钮,剩下的就交给解密工具来完成吧!如果你选择了备份选项,那么加密文件和解密文件都将同时出现,你还可以在%temp%\BDRemovalTool目录中查看到解密过程的日志记录。

如何恢复被MaMoCrypt勒索软件加密的数据

感谢各位的阅读,以上就是“如何恢复被MaMoCrypt勒索软件加密的数据”的内容了,经过本文的学习后,相信大家对如何恢复被MaMoCrypt勒索软件加密的数据这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: 如何恢复被MaMoCrypt勒索软件加密的数据

本文链接: http://www.lsjlt.com/news/287821.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何恢复被MaMoCrypt勒索软件加密的数据
    这篇文章主要讲解了“如何恢复被MaMoCrypt勒索软件加密的数据”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何恢复被MaMoCrypt勒索软件加密的数据”吧!写在前面的话MaMoCry...
    99+
    2023-06-17
  • 面对勒索软件 如何保护数据备份安全?
    尽管近期攻击事件有所减少,但勒索软件仍然对企业构成了重大威胁,尤其是勒索软件编写者意识到备份是一种有效的防御措施,并且正在修改其恶意软件以追踪并消除备份。勒索软件攻击下降,但并没有消失McAfee报告称,去年恶意软件和样本的数量都有所下降。...
    99+
    2023-06-04
  • sqlserver数据库加密后无法使用MDF,LDF,log文件名称被修改的数据恢复
    ​故障:​ 2个SQL server数据库被加密,无法使用。 数据库MDF、LDF、log日志文件名字被修改, 如下图: 数据库备份被加密,文件名字被修改。管理员联系北亚数据恢复中...
    99+
    2024-04-02
  • 阿里云数据库被勒索一场未解的网络安全事件
    最近,阿里云数据库再次遭受了勒索软件的攻击。这次攻击与2021年7月的那次相比,规模更大,影响更为广泛。本次勒索软件攻击不仅造成了阿里云数据库的数据丢失,还给阿里云用户带来了不便。 详细说明:在7月的那次勒索软件攻击中,阿里云数据库仅受到了...
    99+
    2023-10-30
    阿里 网络安全 事件
  • 如何加密防止数据被篡改
    可以使用多模加密技术防止数据被篡改多模加密技术是采用对称密钥和非对称密钥相结合的技术,且多模加密本身是一种能提供满足多种使用场景,采用多种加密策略的数据透明加密技术,在多模加密模式中,用户创建秘文的方式支持主动和被动两种方式,其中包含特定格...
    99+
    2024-04-02
  • 恢复被rm意外删除的数据文件
    一.模拟数据文件删除 [oracle@node1 ~]$ sqlplus /as sysdba ...
    99+
    2024-04-02
  • 如何恢复SQL被注入后的数据代码
    本篇内容介绍了“如何恢复SQL被注入后的数据代码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • sqlserver数据库加密后无法使用MDF,LDF,log文件名称被修改的数据恢复怎么办
    这篇文章主要介绍了sqlserver数据库加密后无法使用MDF,LDF,log文件名称被修改的数据恢复怎么办,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。故障:2个SQL s...
    99+
    2023-06-29
  • 电脑中必备的一款软件——得力数据恢复软件
    今天和大家来聊一个话题:电脑必装软件必装软件是大家通常所能用到的,通常有QQ 微信 淘宝 360等,但是今天小编为大家推荐的一款是我们常能用到却容易被忽视的一款软件,数据恢复篇之——得力数据恢复软件通常我们人为或误操作导致的数据丢失相信大家...
    99+
    2023-06-05
  • 阿里云数据库被加密,如何解除?
    如果你的阿里云数据库突然被加密,你可能会感到非常恐慌。但是别担心,这篇文章将向你介绍如何解除阿里云数据库的加密。 一、了解加密原因首先,你需要了解数据库加密的原因。在阿里云中,数据库加密是一种安全措施,可以防止未授权的访问和数据泄露。如果你...
    99+
    2024-01-25
    阿里 数据库
  • 如何恢复被删的阿里云服务器数据库
    1. 确认数据库是否被完全删除 在开始恢复之前,首先需要确认数据库是否被完全删除。可以通过登录阿里云控制台,进入数据库管理页面,查看数据库列表。如果数据库不再列表中,那么很可能已经被删除。 2. 恢复备份数据 如果你有数据库备份,可以通过...
    99+
    2023-10-27
    阿里 服务器 数据库
  • 如何复制加密网页数据
    复制加密网页数据的方法首先,在浏览器中随意访问到一个加密网页;访问到网页后,点击计算机键盘的“F12”,进入开发者工具;进入到开发者工具页面后,在页面上方菜单栏中点击“Sources”选项;在Sources页面中,查找到对应网页的源文件,并...
    99+
    2024-04-02
  • 如何恢复被破坏的XP系统文件
    系统文件被破坏,很有可能将导致电脑无法正常启动,该如何解决此问题呢?其中的方法就是恢复被破坏的系统文件。今天就为大家讲解下如何修复系统文件?WindowsXP的系统文件被病毒或其它原因破坏了,可以从WindowsXP的安...
    99+
    2023-06-01
    XP系统 XP 系统文件
  • 如何恢复ext4文件系统被误删的文件
    今天就跟大家聊聊有关如何恢复ext4文件系统被误删的文件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。导读本文档给出了恢复ext4文件系统被误删的文件的方法,需要使用的软件是extu...
    99+
    2023-06-05
  • sql日志文件如何恢复数据
    要恢复数据,您可以在 SQL Server Management Studio 中执行以下步骤: 打开 SQL Server Ma...
    99+
    2024-04-22
    sql
  • MySQL的binlog如何恢复数据
    小编给大家分享一下MySQL的binlog如何恢复数据,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1. binlogbinlo...
    99+
    2024-04-02
  • 数据库中数据文件不一致如何恢复
    小编给大家分享一下数据库中数据文件不一致如何恢复,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!还原数据文件无法recover 成...
    99+
    2024-04-02
  • android的数据如何加密
    android使用MD5算法对数据进行加密,具体方法如下:import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.n...
    99+
    2024-04-02
  • mysql数据如何通过data文件恢复
    目录mysql数据通过data文件恢复mysql数据恢复方法个人总结步骤其它笔记总结mysql数据通过data文件恢复 mysql磁盘文件被损坏,无法启动,能看到data文件,在没有备份的话如何复原? 情景1:知道数据库...
    99+
    2022-12-13
    mysql恢复数据 mysql通过data文件恢复 mysqldata文件恢复
  • Linux下如何利用ext3grep恢复被删除的文件
    这篇文章将为大家详细讲解有关Linux下如何利用ext3grep恢复被删除的文件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。10个G的数据被误删除了,差点崩溃,试遍了所有常规恢复软件,无用,就要放弃的时...
    99+
    2023-06-16
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作