長沙某肛腸醫(yī)院Makop****病毒家族(fireee后綴****病毒)數(shù)據(jù)庫修復(fù)成功
客戶信息:長沙某肛腸醫(yī)院
故障描述:醫(yī)院his數(shù)據(jù)庫(SQL SERVER 2017 1.14GB)遭****病毒加密(fireee后綴)
修復(fù)結(jié)果:結(jié)合客戶實(shí)際情況,給出****解決方案,客戶接受后開始數(shù)據(jù)庫修復(fù)工作,經(jīng)過5個(gè)小時(shí)的緊張工作,成功修復(fù)出數(shù)據(jù),客戶滿意驗(yàn)收。
Makop****病毒家族樣本分析:
一、樣本信息
文件名:makop.exe
MD5:8946520970ac0d53437e0600b6ae4574
SHA1:90e0babf5ce77be1769fe055a5b17abf75c851ce
二、代碼分析
Makop在啟動后,根據(jù)執(zhí)行參數(shù)的不同,運(yùn)行方式也有所不同。分3種情況,各自含義如下:
n:加密網(wǎng)絡(luò)資源和網(wǎng)絡(luò)磁盤;
e:提升至管理員權(quán)限;
無參數(shù):若程序?yàn)槠胀?quán)限,以管理員身份新起進(jìn)程,參數(shù)為e;失敗則繼續(xù)后續(xù)流程。
如上圖,在自身進(jìn)程的執(zhí)行參數(shù)不為n時(shí),makop會創(chuàng)建一個(gè)可視化窗口,并通過向該窗口發(fā)送不同消息控制加密流程。
窗口中各個(gè)按鈕作用:
Start:全盤開始加密,包括本地、網(wǎng)絡(luò)資源;
Stop:關(guān)閉窗口,停止加密,但不關(guān)閉窗口;
Start folder:加密makop病毒的執(zhí)行目錄及其子目錄下的文件;
Copy:復(fù)制文本框內(nèi)容;
Hide:隱藏窗口,向窗口發(fā)送消息WM_HOTKEY恢復(fù)。
Makop后續(xù)進(jìn)行的則是****病毒常見的操作:
1.刪除卷影
刪除卷影時(shí),解密出下列命令執(zhí)行,刪除卷影備份、禁用開機(jī)自動修復(fù),防止文件被加密后管理員通過相關(guān)備份進(jìn)行恢復(fù)。
2.結(jié)束指定進(jìn)程
首先解密出需要結(jié)束的進(jìn)程字符串,接著遍歷進(jìn)程,匹配目標(biāo)進(jìn)程名,從而調(diào)用TerminateProcess進(jìn)行關(guān)閉,防止后續(xù)進(jìn)行數(shù)據(jù)文件加密時(shí)出現(xiàn)文件被占用導(dǎo)致加密失敗。
目標(biāo)主要包括數(shù)據(jù)庫服務(wù)、office編輯工具、游戲平臺、作圖工具等相關(guān)進(jìn)程:
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.搜索文件進(jìn)行加密
搜索加密文件時(shí),避開下列路徑和文件名,主要是系統(tǒng)目錄、系統(tǒng)運(yùn)行相關(guān)文件以及****提示文件名,防止破壞系統(tǒng)而導(dǎo)致用戶無法支付贖金。
<systemDrive>:\ProgramData\microsoft\windows\caches
<WinDir>
boot.ini
bootfont.bin
ntldr
ntdetect.com
io.sys
readme-warning.txt
對于經(jīng)過上面過濾后的文件,如果文件擴(kuò)展名在下列解密出的字符串中,makop將對該文件進(jìn)行標(biāo)記,以對其進(jìn)行文件內(nèi)容的全部加密。可以看到,目標(biāo)主要是數(shù)據(jù)存儲文件。
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.文件加密方式
病毒進(jìn)程首先生成兩個(gè)AES256密鑰,分別用于需要被全部加密的標(biāo)記文件和需要被部分加密的其他文件。
其中,被全部加密的標(biāo)記條件為:匹配上目標(biāo)擴(kuò)展名或文件大小≤1.5MB。
Makop通過標(biāo)記值選擇加密使用的對稱密鑰Key。并為每個(gè)被加密文件生成16字節(jié)隨機(jī)值,作為AES對稱加密算法的IV參數(shù),加密模式采用CBC。
兩種加密方式不同之處主要在于加密區(qū)域的不同。
1)全部加密方式
從待加密文件首部開始,每次讀取1MB數(shù)據(jù)到內(nèi)存進(jìn)行加密,尾部不足1MB則按實(shí)際大小進(jìn)行加密,加密前按16字節(jié)對齊,填充字節(jié)’x00’。
2)部分加密方式
按順序分別讀取待加密文件的首部256KB、文件1/3偏移處的256KB、尾部256KB共3片區(qū)域的數(shù)據(jù)進(jìn)行加密,加密結(jié)果寫回原偏移處。
在通過對應(yīng)的加密方式加密結(jié)束文件內(nèi)容后,makop將在文件尾部添加一些數(shù)據(jù),攻擊者可利用這些數(shù)據(jù)恢復(fù)文件:
攻擊者將手中的RSA-1024公鑰部分加密后內(nèi)置于ndata段中,makop運(yùn)行時(shí)將pk_attacker解密出并導(dǎo)入CSP容器。
pk_attacker加密包含文件加密密鑰在內(nèi)的以下數(shù)據(jù):
+0x00:常量”xadxadxa1xa0”
+0x04:ID(ProductId_crc32)
+0x08:被加密文件所在磁盤的序列號
+0x0C:所在磁盤的類型(如DRIVE_FIXED=3)
+0x10:AES256 Key
+0x30:CRC32(以上數(shù)據(jù))
加密結(jié)果128字節(jié),寫入文件尾部,設(shè)置EOF于當(dāng)前偏移,結(jié)束該文件的加密,并為加密后的文件添加擴(kuò)展名[ID].[makop@airmail.cc].makop。
以部分加密方式為例,文件的加密流程和加密后的文件結(jié)構(gòu)如下圖:
5.****信息提示文件
makop每加密完一個(gè)目錄,都將在該目錄下創(chuàng)建一個(gè)****信息提示文件readme-warning.txt。







晉公網(wǎng)安備 14010502050292號