长沙某肛肠医院Makop勒索病毒家族(fireee后缀勒索病毒)数据库修复成功

By | 2020年10月28日

 

长沙某肛肠医院Makop勒索病毒家族(fireee后缀勒索病毒)数据库修复成功

客户信息:长沙某肛肠医院

故障描述:医院his数据库(SQL SERVER 2017 1.14GB)遭勒索病毒加密(fireee后缀)

修复结果:结合客户实际情况,给出最佳解决方案,客户接受后开始数据库修复工作,经过5个小时的紧张工作,成功修复出数据,客户满意验收。

Makop勒索病毒家族样本分析:

一、样本信息
文件名:makop.exe
MD5:8946520970ac0d53437e0600b6ae4574
SHA1:90e0babf5ce77be1769fe055a5b17abf75c851ce
二、代码分析
Makop在启动后,根据执行参数的不同,运行方式也有所不同。分3种情况,各自含义如下:
n:加密网络资源和网络磁盘;
e:提升至管理员权限;
无参数:若程序为普通权限,以管理员身份新起进程,参数为e;失败则继续后续流程。

如上图,在自身进程的执行参数不为n时,makop会创建一个可视化窗口,并通过向该窗口发送不同消息控制加密流程。

窗口中各个按钮作用:
Start:全盘开始加密,包括本地、网络资源;
Stop:关闭窗口,停止加密,但不关闭窗口;
Start folder:加密makop病毒的执行目录及其子目录下的文件;
Copy:复制文本框内容;
Hide:隐藏窗口,向窗口发送消息WM_HOTKEY恢复。
Makop后续进行的则是勒索病毒常见的操作:
1.删除卷影
删除卷影时,解密出下列命令执行,删除卷影备份、禁用开机自动修复,防止文件被加密后管理员通过相关备份进行恢复。

2.结束指定进程
首先解密出需要结束的进程字符串,接着遍历进程,匹配目标进程名,从而调用TerminateProcess进行关闭,防止后续进行数据文件加密时出现文件被占用导致加密失败。
目标主要包括数据库服务、office编辑工具、游戏平台、作图工具等相关进程:
msftesql.exe
sqlagent.exe
sqlbrowser.exe
sqlservr.exe
sqlwriter.exe
oracle.exe
ocssd.exe
dbsnmp.exe
synctime.exe
agntsvc.exe
mydesktopqos.exe
isqlplussvc.exe
xfssvccon.exe
mydesktopservice.exe
ocautoupds.exe
agntsvc.exe
agntsvc.exe
agntsvc.exe
encsvc.exe
firefoxconfig.exe
tbirdconfig.exe
ocomm.exe
mysqld.exe
mysqld-nt.exe
mysqld-opt.exe
dbeng50.exe
sqbcoreservice.exe
excel.exe
infopath.exe
msaccess.exe
mspub.exe
onenote.exe
outlook.exe
powerpnt.exe
steam.exe
thebat.exe
thebat64.exe
thunderbird.exe
visio.exe
winword.exe
wordpad.exe

3.搜索文件进行加密
搜索加密文件时,避开下列路径和文件名,主要是系统目录、系统运行相关文件以及勒索提示文件名,防止破坏系统而导致用户无法支付赎金。
<systemDrive>:\\ProgramData\\microsoft\\windows\\caches
<WinDir>
boot.ini
bootfont.bin
ntldr
ntdetect.com
io.sys
readme-warning.txt

对于经过上面过滤后的文件,如果文件扩展名在下列解密出的字符串中,makop将对该文件进行标记,以对其进行文件内容的全部加密。可以看到,目标主要是数据存储文件。
4dd
4dl
abs
abx
accdb
accdc
accde
adb
adf
ckp
db
db-journal
db-shm
db-wal
db2
db3
dbc
dbf
dbs
dbt
dbv
dcb
doc
docx
dp1
eco
edb
epim
fcd
gdb
mdb
mdf
ldf
myd
ndf
nwdb
nyf
sqlitedb
sqlite3
sqlite
xls
xlsx
xlsm
makop(加密文件后缀)

4.文件加密方式
病毒进程首先生成两个AES256密钥,分别用于需要被全部加密的标记文件和需要被部分加密的其他文件。
其中,被全部加密的标记条件为:匹配上目标扩展名或文件大小≤1.5MB。
Makop通过标记值选择加密使用的对称密钥Key。并为每个被加密文件生成16字节随机值,作为AES对称加密算法的IV参数,加密模式采用CBC。

两种加密方式不同之处主要在于加密区域的不同。
1)全部加密方式
从待加密文件首部开始,每次读取1MB数据到内存进行加密,尾部不足1MB则按实际大小进行加密,加密前按16字节对齐,填充字节’\x00’。

2)部分加密方式
按顺序分别读取待加密文件的首部256KB、文件1/3偏移处的256KB、尾部256KB共3片区域的数据进行加密,加密结果写回原偏移处。

在通过对应的加密方式加密结束文件内容后,makop将在文件尾部添加一些数据,攻击者可利用这些数据恢复文件:

攻击者将手中的RSA-1024公钥部分加密后内置于ndata段中,makop运行时将pk_attacker解密出并导入CSP容器。

pk_attacker加密包含文件加密密钥在内的以下数据:
+0x00:常量”\xad\xad\xa1\xa0”
+0x04:ID(ProductId_crc32)
+0x08:被加密文件所在磁盘的序列号
+0x0C:所在磁盘的类型(如DRIVE_FIXED=3)
+0x10:AES256 Key
+0x30:CRC32(以上数据)

加密结果128字节,写入文件尾部,设置EOF于当前偏移,结束该文件的加密,并为加密后的文件添加扩展名[ID].[makop@airmail.cc].makop。
以部分加密方式为例,文件的加密流程和加密后的文件结构如下图:

5.勒索信息提示文件
makop每加密完一个目录,都将在该目录下创建一个勒索信息提示文件readme-warning.txt。