1.背景
1.1 来源
近期,Solar团队收到某汽车制造公司的援助请求,该公司的计算机服务器受到了Steloj勒索家族的侵害,所有的文件被加密并且添加了.steloj后缀,该勒索软件的初始入侵方式是MSSQL数据库弱口令进行入侵,后续通过xp_cmdshell 获取系统 system 权限 进行命令执行。应客户的要求,本文暂不提供对入侵事件溯源的分析报告,仅提供该勒索病毒加密器的逆向分析报告。
2.恶意文件基础信息
2.1 加密器基本信息
文件名 | SQLcn052511321ALL.exe |
---|---|
大小 | 678912(663.00 KiB) |
操作系统 | Windows(Vista) |
架构 | I386 |
模式 | 32 位 |
类型 | GUI |
字节序 | LE |
MD5 | c8ce1e35a68c3ce7b2485855b7d82dfc |
SHA1 | 941deaad4c2b78998447f6735a88076f62e5f739 |
SHA256 | bad9957fd18dfa2e4231a61e1c8bb5861c52710fdf1735ebe9dc28f744c37cd7 |
2.2 勒索信
README_WARNING.txt
.1. Q: Whats Happen? ): Your files have been encrypted ,The file structure was not damaged, we did everything possible so that this could not happen. .2. Q: How to recover files? ): If you wish to decrypt your files you will need to cryptocurrency pay us you can send a three small files for testing,'excel ,word,jpg' something. As a guarantee of our decryption ability. .3. Q: How to contact with you? ): You can write us to our mailboxes: [steloj@bk.ru] and [steloj@lycos.com] [stelo@onet.eu] (please in subject line write your ID:
:::WARNING STATEMENT::: DON'T try to change encrypted files by yourself! If you privately try to modify the file to decrypt it, if it fails then we cannot recover. If you don't know how to buy cryptocurrency, please search for ransomware in 'Taobao' there will be many people who are willing to help you.
3.加密后文件分析
3.1威胁分析
病毒家族 | steloj |
---|---|
首次出现时间/捕获分析时间 | 2024.06.01 || 2024.06.10 |
威胁类型 | 勒索软件,加密病毒 |
加密文件扩展名 | .steloj |
勒索信文件名 | README_WARNING.txt |
有无免费解密器? | 无 |
联系邮箱 | steloj@lycos.com |
检测名称 | Avast (Win32:Malware-gen), AhnLab-V3 (Trojan/Win.Generic.C5576951), ALYac (Gen:Variant.Tedy.512515), Avira (no cloud) (TR/Ransom.imrnt), BitDefenderTheta (Gen:NN.ZexaF.36802.yq0@aSdxC8m), CrowdStrike Falcon (Win/malicious_confidence_100% (W)),Cylance(Unsafe),DeepInstinct(MALICIOUS),Emsisoft(Gen:Variant.Tedy.512515 (B)),ESET-NOD32(A Variant Of MSIL/Filecoder.LU),GData(Gen:Variant.Tedy.512515), Ikarus (Trojan.MSIL.Crypt),K7GW(Trojan ( 0052f4e41 )) |
感染症状 | 无法打开存储在计算机上的文件,以前功能的文件现在具有不同的扩展名(.steloj)。桌面上会显示一条勒索要求消息(README_WARNING.txt)。网络犯罪分子要求通过洋葱路由登录到他们提供的数据恢复网站,根据不同的用户情况,黑客的开价也不同 |
感染方式 | 受感染的电子邮件附件(宏)、恶意广告、漏洞利用 |
受灾影响 | 大部分文件(不包括exe dll等文件,与重要系统文件)都经过加密,如果不支付赎金无法打开。黑客声称拿到了电脑内的重要数据,若不支付赎金则会在黑客的blog上公开 |
加密后:
解密后:
文件的大小增加了1032Byte,经过多次实验结果仍然相同,具体请看下面的加密完毕后的标志写入处内容。
4.逆向分析
4.1 设置命令行和系统的语言环境
4.2 删除所有系统卷影
外部调用是创建了一个线程实现的对del_all_shadows函数的调用
4.3 影卷删除命令字符串解密
del_all_shadows函数:
存在对字符串解密的情况,解密后,winExec执行的命令是:
vssadmin delete shadows /all /quiet
创建了以“{8761ABBD-7F85-42EE-B272-A76179687C63}”为名称的信号量,防止在加密的过程中,产生线程资源访问冲突问题。
4.4 管理员身份检测
这里会先通过进程Token中的信息来判断是否是管理员身份启动,若是管理员则不通过sub_F3829E函数来重新以管理员的模式启动程序。
sub_F3829E函数:
该函数会先获取当前程序运行的路径,然后设置管理员启动参数,最后调用ShellExecuteExW函数来执行,以实现管理员权限的启动,w10环境下会弹窗。
4.5 关闭多权限网络共享访问网络共享
通过对注册表SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System的EnableLinkedConnections设置为0,以实现对多权限网络共享访问网络共享的关闭。
4.6 关闭LanmanWorksstation服务
4.7 以当前用户模式重新开启LanmanWorksstation服务
向桌面写入beforePShell.txt文件
这里会向桌面写入一个beforePShell.txt文件,但是这里因为encode_last+10217变量为0,所以不会执行。
4.8 寻找物理空闲倦
寻找物理空闲倦,如果存在,将对系统上的空闲倦实行挂载。
find_free_mem函数实现:
4.9 将自身程序写入自启动
通过将自身写入到Software\Microsoft\Windows\CurrentVersion\Run注册表中,并且键为MSFEEditor,值为该文件路径。
4.10 命令执行
1. 停止 Volume Shadow Copy 服务,设置其启动类型为禁用,然后删除卷影副本
net stop VSS & sc config VSS start= disabled
2. 启动 Volume Shadow Copy 服务,并将其启动类型设置为按需启动
sc config VSS start= Demand & net start VSS
3. 使用 WMI 删除所有卷影副本
wmic.exe SHADOWCOPY delete /nointeractive
4. 使用 vssadmin 删除系统中的所有卷影副本
vssadmin.exe Delete Shadows /All /Quiet
5. 调整驱动器 C、D、E、F、G、H 等 上卷影副本存储空间的最大大小为 401MB
vssadmin.exe Resize ShadowStorage /for=c: /on=c: /maxsize=401MB
vssadmin.exe Resize ShadowStorage /for=d: /on=d: /maxsize=401MB
vssadmin.exe Resize ShadowStorage /for=e: /on=e: /maxsize=401MB
vssadmin.exe Resize ShadowStorage /for=f: /on=f: /maxsize=401MB
vssadmin.exe Resize ShadowStorage /for=g: /on=g: /maxsize=401MB
vssadmin.exe Resize ShadowStorage /for=h: /on=h: /maxsize=401MB
6. 将驱动器 C、D、E、F、G、H 上卷影副本存储空间的最大大小设置为无限制
vssadmin.exe Resize ShadowStorage /for=c: /on=c: /maxsize=unbounded
vssadmin.exe Resize ShadowStorage /for=b: /on=b: /maxsize=unbounded
vssadmin.exe Resize ShadowStorage /for=d: /on=d: /maxsize=unbounded
vssadmin.exe Resize ShadowStorage /for=e: /on=e: /maxsize=unbounded
vssadmin.exe Resize ShadowStorage /for=f: /on=f: /maxsize=unbounded
vssadmin.exe Resize ShadowStorage /for=g: /on=g: /maxsize=unbounded
7. 禁用系统恢复功能
bcdedit.exe /set {default} recoveryenabled No
8. 设置启动状态策略为忽略所有失败
bcdedit.exe /set {default} bootstatuspolicy ignoreallfailures
9. 删除备份目录
wbadmin.exe DELETE CATALOG -quiet
10. 授予指定用户对所有驱动器的完全控制权限
icacls.exe \"{A-Z}:\" /grant {Username}:F /T /C /Q
11. 删除系统上c、d、e、f、g、h盘下特定类型的文件,包括 VHD、bac、bak、wbcat、bkf、Backup、backup、set、win 和 dsk 文件
del /s /f /q c:\\*.VHD c:\\*.bac c:\\*.bak c:\\*.wbcat c:\\*.bkf c:\\Backup*.* c:\\backup*.* c:\\*.set c:\\*.win c:\\*.dsk
del /s /f /q b:\\*.VHD c:\\*.bac c:\\*.bak c:\\*.wbcat c:\\*.bkf c:\\Backup*.* c:\\backup*.* c:\\*.set c:\\*.win c:\\*.dsk
del /s /f /q d:\\*.VHD c:\\*.bac c:\\*.bak c:\\*.wbcat c:\\*.bkf c:\\Backup*.* c:\\backup*.* c:\\*.set c:\\*.win c:\\*.dsk
del /s /f /q e:\\*.VHD c:\\*.bac c:\\*.bak c:\\*.wbcat c:\\*.bkf c:\\Backup*.* c:\\backup*.* c:\\*.set c:\\*.win c:\\*.dsk
del /s /f /q f:\\*.VHD c:\\*.bac c:\\*.bak c:\\*.wbcat c:\\*.bkf c:\\Backup*.* c:\\backup*.* c:\\*.set c:\\*.win c:\\*.dsk
del /s /f /q g:\\*.VHD c:\\*.bac c:\\*.bak c:\\*.wbcat c:\\*.bkf c:\\Backup*.* c:\\backup*.* c:\\*.set c:\\*.win c:\\*.dsk
del /s /f /q h:\\*.VHD c:\\*.bac c:\\*.bak c:\\*.wbcat c:\\*.bkf c:\\Backup*.* c:\\backup*.* c:\\*.set c:\\*.win c:\\*.dsk
12. 删除当前脚本文件
del %0
13. 使用 wbadmin 删除系统状态备份
wbadmin.exe DELETE SYSTEMSTATEBACKUP
14. 使用 wbadmin 删除系统状态备份中最旧的备份
wbadmin.exe DELETE SYSTEMSTATEBACKUP -deleteoldest
15. 使用 PowerShell 删除所有阴影副本
powershell -command "Get-WmiObject Win32_Shadowcopy | ForEach-Object {$_.Delete();}"
4.11 清空回收站
4.12 关闭指定服务
4.12.1 关闭的服务
sqlservr
MSSQLFDLauncher
MSSQLSERVER
SQLSERVERAGENT
SQLBrowser
SQLTELEMETRY
MsDtsServer130
SSISTELEMETRY130
SQLWriter
MSSQL
SQLAgent
MSSQLServerADHelper100
MSSQLServerOLAPService
Culserver
DefWatch
Intuit.QuickBooks.FCS
QBCFMonitorService
QBIDPService
RTVscan
SQLADHLP
SavRoam
ccEvtMgr
ccSetMgr
msmdsrv
sqladhlp
sqlbrowser
sqlwriter
vmickvpexchange
vmicguestinterface
vmicshutdown
vmicheartbeat
vmicrdv
storflt
vmictimesync
vmicvss
MsDtsServer100
ReportServer
TMBMServer
postgresql-x64-9.4
UniFi
vmms
wrapper
postgresql-x64-9.4
UniFi
vmms
wrapper
4.13 关闭指定进程
4.13.1 关闭的进程
360doctor.exe
ssms.exe
WINWORD.exe
sqlservr.exe
chrome.exe
axlbridge.exe
ccEvtMgr
ccSetMgr
Culserver
Culture.exe
dbeng8
dbsrv12
DefWatch
Defwatch.exe
EXCEL.EXE
fdhost.exe
fdlauncher.exe
GDscan.exe
httpd.exe
Intuit.QuickBooks.FCS
java.exe
MsDtsSrvr.exe
msmdsrv
onenotem.exe
QBCFMonitorService
QBCFMonitorService.exe
QBDBMgr.exe
QBIDPService
QBIDPService.exe
qbupdate.exe
QBW32.exe
RAgui.exe
RTVscan
RTVscan.exe
SavRoam
sqladhlp
SQLADHLP
sqlagent
sqlbrowser
sqlbrowser.exe
sqlmangr.exe
sqlservr
sqlservr.exe
sqlwriter
sqlwriter.exe
ssms.exe
supervise.exe
tomcat6
tomcat6.exe
wdswfsafe.exe
winword.exe
Winword.exe
wrapper
wxServer.exe
wxServerView
zhudongfangyu
ZhuDongFangYu.exe
ver.exe
wxServerView
zhudongfangyu
ZhuDongFangYu.exe
4.14 调用Tor路由,实现暗网通信
这里的通信地址未设置,并且并未开启通信功能,所以不会执行。
这里会下载洋葱路由,然后对其进行解压,并且调用,以实现对暗网的通信
4.15 随机生成密钥
这里会调用AutoSeededRandom函数来生成32位的随机数,并将此当作加密的Key。
4.16 RSA加密随机密钥
这里会使用RSA将上面生成的KEY加密,并且换成HEX形式,保存到Buffer中,并且会清空加密前的对象。
4.17 生成勒索信内容,并且先写入到当前目录下
根据加密密钥的内容,取前几位当作加密的ID,将其替换到勒索信ID中
produce_ransom_note函数:
内存中勒索信的内容:
在当前目录写入勒索信
内存中勒索信文件名称:
4.18 目录遍历
很常规的目录遍历,遇到目录就递归,遇到文件就将其当作线程参数,执行StartAddress函数,来对文件过滤等,如果合适就执行加密并且目录写入勒索信等。
4.19 文件过滤(StartAddress函数)
该函数会检查目录,针对其中包含以下目录的路径不做加密操作
AppData
C:\Windows
C:\Program Files
C:\Program Files (x86)
C:\System Volume Information
C:\$Recycle.Bin
C:\ProgramData
Data
Windows
对文件不做的操作有:
程序本身
已经加密的文件
勒索信
如果文件不满足以上条件,就可以执行enctypt_entry函数来执行加密
当前目录遍历完毕后,在当前遍历目录下写入勒索信
4.20 文件加密(encrypto_entry函数):
该函数会先根据要加密的文件后缀进行判断,如果在指定列表中的文件后缀不加密
不加密的文件后缀:
.steloj
.txt
.xml
.log
.diagcab
.dll
.drv
.exe
.icl
.ico
.icns
.ini
.inprocess
.idx
.lnk
.mod
.mht
.mpa
.msc
.msp
.msu
.ocx
.prf
.ReadInstructions
.rom
.rtp
.scr
.shs
.spl
.sys
.theme
.themepack
根据指定的文件后缀,来判断所需的加密大小,这里为设置所以都是默认大小0x19000
获取文件对象,并且判断其后缀是否在规定的后缀中,如果在的话,就将v48设置为1
利用生成32位随机数,取前8位给IV,然后修改加密轮次,并且初始化加密对象,每一个文件都会生成一次随机的IV,但是KEY只会根据程序运行所生成一次,即相同的ID的加密文件用的都是一个KEY加密的。
对文件进行Salsa20加密
写入文件后缀
加密结束,下一个文件将依旧执行上述的加密操作。
4.21 隐身模式启动Chrome浏览器
执行命令:start chrome /incognito
4.22 删除自身
之后就是对一些资源的回收释放了。
5.病毒分析概览
本次Steloj勒索家族通过MSSQL数据库弱口令入侵,获取系统权限后加密文件并添加.steloj
后缀。病毒会删除系统卷影、关闭多权限网络共享访问、停止和重新启动关键服务、随机生成加密密钥并使用RSA加密存储并且使用后清空。加密过程中,病毒遍历目录,过滤特定文件和路径,使用Salsa20算法加密符合条件的文件,并在每个目录写入勒索信。最终,病毒会隐藏启动Chrome浏览器并删除自身。
6.安全建议
6.1 风险消减措施
资产梳理排查目标:根据实际情况,对内外网资产进行分时期排查
服务方式:调研访谈、现场勘查、工具扫描
服务关键内容:流量威胁监测系统排查、互联网暴露面扫描服务、技术加固服务、集权系统排查
6.2 安全设备调优
目标
通过对安全现状的梳理和分析,识别安全策略上的不足,结合目标防御、权限最小化、缩小攻击面等一系列参考原则,对设备的相关配置策略进行改进调优,一方面,减低无效或低效规则的出现频次;另一方面,对缺失或遗漏的规则进行补充,实现将安全设备防护能力最优化。
主要目标设备
网络安全防护设备、系统防护软件、日志审计与分析设备、安全监测与入侵识别设备。
6.3 全员安全意识增强调优
目标:
通过网络安全意识宣贯、培训提升全方位安全能力
形式:
培训及宣贯
线下培训课表
若无法组织线下的集体培训,考虑两种方式:
1.提供相关的安全意识培训材料,由上而下分发学习
2.组织相关人员线上开会学习。线上培训模式。
线上学习平台
7.团队介绍
solar团队数年深耕勒索解密与数据恢复领域,在勒索解密和数据恢复领域建立了良好的声誉,以高效、安全、可靠的解决方案赢得了客户的信任。无论是个人用户还是大型企业,都能提供量身定制的服务,确保每一个被勒索软件侵害的数据都能够恢复到最佳状态,同时在解密数据恢复后,提供全面的后门排查及安全加固服务,杜绝二次感染的风险。同时,solar团队坚持自主研发及创新,在攻防演练平台、网络安全竞赛平台、网络安全学习平台方面加大研发投入,目前已获得十几项专利及知识产权。团队也先后通过了ISO9001质量管理体系、ISO14000环境管理体系、ISO45001职业安全健康管理体系 、ITSS(信息技术服务运行维护标准四级)以及国家信息安全漏洞库(CNNVD)技术支撑单位等认证,已构建了网络安全行业合格的资质体系。
8.数据恢复服务流程
多年的数据恢复处理经验,在不断对客户服务优化的过程中搭建了"免费售前+安心保障+专业恢复+安全防御"一体化的专业服务流程。
① 免费咨询/数据诊断分析
专业的售前技术顾问服务,免费在线咨询,可第一时间获取数据中毒后的正确处理措施,防范勒索病毒在内网进一步扩散或二次执行,避免错误操作导致数据无法恢复。
售前技术顾问沟通了解客户的机器中毒相关信息,结合团队数据恢复案例库的相同案例进行分析评估,初步诊断分析中毒数据的加密/损坏情况。
② 评估报价/数据恢复方案
您获取售前顾问的初步诊断评估信息后,若同意进行进一步深入的数据恢复诊断,我们将立即安排专业病毒分析工程师及数据恢复工程师进行病毒逆向分析及数据恢复检测分析。
专业数据恢复工程师根据数据检测分析结果,定制数据恢复方案(恢复价格/恢复率/恢复工期),并为您解答数据恢复方案的相关疑问。
③ 确认下单/签订合同
您清楚了解数据恢复方案后,您可自主选择以下下单方式:
双方签署对公合同:根据中毒数据分析情况,量身定制输出数据恢复合同,合同内明确客户的数据恢复内容、数据恢复率、恢复工期及双方权责条款,双方合同签订,正式进入数据恢复专业施工阶段,数据恢复后进行验证确认,数据验证无误,交易完成。
④ 开始数据恢复专业施工
安排专业数据恢复工程师团队全程服务,告知客户数据恢复过程注意事项及相关方案措施,并可根据客户需求及数据情况,可选择上门恢复/远程恢复。
数据恢复过程中,团队随时向您报告数据恢复每一个节点工作进展(数据扫描 → 数据检测 → 数据确认 → 恢复工具定制 → 执行数据恢复 → 数据完整性确认)。
⑤ 数据验收/安全防御方案
完成数据恢复后,我司将安排数据分析工程师进行二次检查确认数据恢复完整性,充分保障客户的数据恢复权益,二次检测确认后,通知客户进行数据验证。
客户对数据进行数据验证完成后,我司将指导后续相关注意事项及安全防范措施,并可提供专业的企业安全防范建设方案及安全顾问服务,抵御勒索病毒再次入侵。