SocGholish入侵技术助长RansomHub勒索软件传播
摘要
复杂的入侵集Water Scylla包含多个阶段,涉及受感染的网站、与运营恶意Keitaro TDS实例的威胁行为者合作、SocGholish有效载荷投递以及导致RansomHub的入侵后活动。截至2025年初,SocGholish检测在美国最高,政府组织是受影响最严重的实体之一。
SocGholish的特点是其混淆的JavaScript加载程序,使用各种规避技术绕过传统检测方法,主要通过受感染的合法网站传播。
通过用恶意脚本感染合法网站,威胁行为者将访问者重定向到虚假的浏览器更新通知,诱使他们下载并执行恶意文件。
Water Scylla与运营恶意Keitaro流量分发系统(TDS)实例的威胁行为者合作分发SocGholish有效载荷。
SocGholish加载程序可以下载和执行恶意有效载荷、窃取敏感数据并执行任意命令,为进一步利用和有效载荷部署提供持久访问。
部署扩展检测和响应解决方案、强化端点、增强日志记录和网络监控、使用Web信誉服务、保护CMS和Web应用程序以及淘汰或隔离生命周期结束的系统对于保护企业免受SocGholish入侵和随后的勒索软件攻击至关重要。
初始访问和执行
SocGholish分发的主要机制涉及几个组件:
- 注入恶意脚本的受感染网站(T1608.004 - 路过式目标)
- 恶意Keitaro TDS实例(商业流量分发系统)提供SocGholish并过滤来自沙箱和研究人员的不需要的流量
- 虚假更新页面诱骗受害者并提供有效载荷
- 包含SocGholish JavaScript有效载荷的ZIP文件
威胁行为者运营的Keitaro TDS实例
Water Scylla与运营恶意Keitaro流量定向系统(TDS)服务器的威胁行为者合作,目的是提供带有SocGholish有效载荷的FakeUpdate页面。
仅2025年的Trend Micro遥测就识别出数千个受感染的网站注入了指向这些恶意TDS域的脚本,根据访问者的地理位置,这些脚本可能导致SocGholish感染。图5突出了这些劫持用户并促进恶意软件分发的入侵规模。
在最常用的TDS域中,“blackshelter[.]org"至少有1,297个受感染的网站重定向到它,其次是"rednosehorse[.]com"有932个,“newgoodfoodmarket[.]com"有550个。
初始执行
当用户打开JavaScript文件(图7)(T1204.002:用户执行:恶意文件)时,Windows脚本宿主(wscript.exe)(T1059.007:命令和脚本解释器:JavaScript)执行加载程序,该程序继续收集有关端点的几条信息,如表1所示。此信息发送到C&C服务器以分析环境(图6)。
项目 | 描述 |
---|---|
ScriptFullName | 正在执行的脚本的完整路径 |
ComputerName | 计算机名称 |
UserName | 当前登录用户 |
UserDomain | 用户域 |
‘%userdnsdomain% | 通过环境变量UserDnsDomain的用户DNS域 |
Win32_ComputerSystem.Manufacturer | 计算机制造商 |
Win32_ComputerSystem.Model | 计算机型号 |
Win32_BIOS.Version and Win32_BIOS.SerialNumber | BIOS版本和序列号的连接 |
AntiSpywareProduct.displayName | 安装的反间谍软件产品名称 |
AntiVirusProduct.displayName | 安装的防病毒产品名称 |
MACAddress | 网络适配器的MAC地址 |
Win32_Process.Name | 运行进程的名称 |
Win32_OperatingSystem.BuildNumber | 操作系统的构建号 |
表1. SocGholish加载程序在环境分析期间收集的信息
命令和控制,防御规避
我们的调查确定了C&C服务器发送的数十个任务由加载程序执行。它们范围从侦察命令到后门组件的部署,再到数据窃取。
任务执行由辅助函数支持。这些函数包括:
- 去混淆函数,从字符串中提取每第三个字符(图8)(T1027.013:加密/编码文件)
- 发送数据到C&C服务器的函数(图9)
- 从磁盘读取文件然后删除的函数(图10)(T1070.004:主机上的指示器移除:文件删除)
- 生成临时文件路径的函数(图11)(T1074.001:数据暂存:本地数据暂存)
- 执行命令并捕获其输出的函数(图12)(T1059.003:命令和脚本解释器:Windows命令外壳)
任务执行
当SocGholish运行时,它会向C&C服务器发送信标。任务随后发送到SocGholish,然后由加载程序执行。每次执行任务时,结果输出都会传输到临时文件并发送回C&C服务器。
恶意任务按以下顺序执行:
- 发现和侦察任务
- 凭据访问和窃取任务
- 后门部署和持久性任务
- 反向shell部署任务
- 后续侦察任务和下载执行NIRCMD收集屏幕截图的任务
发现任务
发现任务(图13)如下:
- 执行PowerShell命令列出APPDATA Microsoft Signatures目录的内容(T1059.001:命令和脚本解释器:PowerShell)
- 执行net命令列出域用户(T1087.002:帐户发现:域帐户)
- 执行nltest命令列出域信任(T1482:域信任发现)
- 通过PowerShell命令执行Active Directory服务接口(ADSI)查询以检索AD信息并与对象交互。ADSI命令将检索:(T1069.002:权限组发现:域)
- 用户名
- 用户电子邮件
- 列出Windows 2003服务器
- 列出所有服务器
- 获取计算机的DNS主机名
命令和控制 - 后门部署任务
执行以下任务以在受感染环境中部署基于Python的后门,以获得持久访问并将连接从攻击者控制的服务器中继到受感染环境内的机器。我们将此活动归因于RansomHub附属机构,威胁行为者将其用于命令和控制、数据窃取和勒索软件部署。
任务(图14)如下:
- 下载并安装Python 3.12(T1059.006:命令和脚本解释器:Python)
- 安装Python PIP
- 安装依赖项并列出目录内容
- 创建计划任务以实现持久性(T1053.005:计划任务/作业:计划任务)
文件pypa.py是一个用pyobfuscate混淆的Python代理客户端(图15)。
它包含一个硬编码的IP地址和端口,用于与C&C服务器关联的RansomHub(T1095非应用层协议)(图16)。这是此恶意脚本先前版本的更改,该版本接受IP地址和端口作为命令行参数。
后门的目的是创建到硬编码C&C服务器的连接并侦听来自攻击者的命令。命令是连接命令,支持的目标格式为IP地址或域。
图17中显示的start_transferring函数解包从攻击者服务器发送的连接命令,并创建到受感染环境内目标的连接 - 有效地允许威胁行为者连接到任何主机(内部或互联网上),只要从受感染主机有路由。
凭据访问和窃取任务
为了收集尽可能多的敏感浏览器数据,威胁行为者搜索默认和额外的浏览器配置文件 - 浏览器存储的内容被窃取。值得注意的是,应用程序绑定的加密密钥从浏览器中提取 - 可能是为了访问位于浏览器存储中的静态加密凭据。这些任务的影响是窃取敏感凭据,导致业务和个人帐户可能更广泛的泄露。
观察到以下任务(图18-21)执行此行为:
- 将Microsoft Edge登录数据复制到指定位置(T1555.003来自密码存储的凭据:来自Web浏览器的凭据)
- 将Google Chrome登录数据复制到指定位置(T1555.003来自密码存储的凭据:来自Web浏览器的凭据)
- 上传二进制文件
edg.bin,其中包含敏感信息包括凭据,到服务器(T1041:通过C2通道窃取) - 上传二进制文件
chr.bin,其中包含敏感信息包括凭据,到服务器
- 从Edge Local State提取app_bound_encrypted_key
- 从Chrome Local State提取app_bound_encrypted_key加密密钥
- 列出Chrome用户文件夹的内容(以识别其他浏览器配置文件)
- 列出Chrome用户数据文件夹的内容
- 将提取的数据从其他用户配置文件数据窃取到SocGholish C&C服务器
此外,观察到攻击者使用certutil实用程序从卷影副本中提取注册表配置单元(SAM、SECURITY、SYSTEM),将内容保存到%PROGRAMDATA%文件夹中名为s1.txt的文件中,其中代表转储的特定配置单元的标识符(图22-24)。(T1003.002操作系统凭据转储:安全帐户管理器,S0160:certutil,T1006:直接卷访问)
带端口转发的SSH反向shell部署
执行多个任务以部署可能与RansomHub相关的反向shell,用于命令和控制(T1572协议隧道)和数据窃取(T1041:通过C2通道窃取)(图25)。
任务如下:
- 列出System32目录中OpenSSH的内容
- 部署计划任务以创建带有远程端口转发(-R)的SSH反向shell(T1021.004:远程服务:SSH)
- 执行计划任务的一次性执行以启动反向shell
手动键盘交互
这些命令的时机(图26-30),以及任务执行的重复和带有语法错误的命令的执行,表明此阶段涉及手动键盘交互。
- 执行systeminfo命令以收集有关主机的详细信息(T1082:系统信息发现)
- 执行ipconfig /all命令以收集有关主机的详细网络信息(T1016:系统网络配置发现)
- 获取本地管理员组的成员(T1069.001:权限组发现:本地组)
- 列出网络共享(T1135:网络共享发现)
- 获取帐户策略(T1201:密码策略发现)
- 列出机器上的用户目录(T1083:文件和目录发现)
- 输入错误命令 - net use
/domain(T1087.002帐户发现:域帐户) - 检索域用户信息(T1069.002:权限组发现:域组)
- 搜索包含字符串’pass’的文件(查找包含凭据的文件)(T1083:文件和目录发现,T1552.001不安全凭据:文件中的凭据)
- 提取Wi-Fi配置文件(SSID和密钥)(T1602.002:来自本地系统的数据:来自无线网络的密码)
- 下载并执行NIRCMD(T1105:入口工具传输)
- 发送屏幕截图到C&C服务器
攻击者还使用SMB协议(T1021.002:应用层协议:SMB/Windows管理共享)使用受损凭据连接到网络中的多个主机(T1078:有效帐户)。随后,BAT文件被传输到远程主机的%PROGRAMDATA%文件夹中。此外,创建了一个计划任务,每两小时在远程主机上执行BAT文件(图31)。然而,任务和文件在几秒钟后被删除,之后被对手强制执行。
虽然文件不可用,但主机上的可用遥测表明批处理文件似乎试图从与Microsoft Edge和Google Chrome浏览器相关的本地状态文件中提取加密密钥,并将结果保存为*.log文件在%PROGRAMDATA%文件夹中。
攻击者手动搜索保存在主机上的图像文件,并针对名称可能表示包含与云管理服务相关的凭据的文件。
MITRE ATT&CK技术映射
战术 | 技术 | 参考 |
---|---|---|
TA0042资源开发 | T1608.004路过式目标 | 在准备SocGholish投递时,威胁行为者入侵网站并注入恶意代码以劫持访问者流量,将用户重定向到提供SocGholish的FakeUpdate页面 |
TA0002执行 | T1204.002恶意文件 | 行为者依赖用户启动恶意JavaScript文件以获得执行 |
T1059.007命令和脚本解释器:JavaScript | SocGholish使用JavaScript通过wscript.exe执行恶意代码 | |
T1059.003 Windows命令外壳命令和脚本解释器:Windows命令外壳 | SocGholish任务通过Windows命令外壳(cmd.exe)执行 | |
T1059.001命令和脚本解释器:PowerShell | SocGholish使用PowerShell运行侦察命令并部署后门 | |
T1059.006命令和脚本解释器:Python | 威胁行为者部署基于Python的后门以将外部连接代理到内部信息资产 | |
TA0005防御规避 | T1027.013混淆文件或信息:加密/编码文件 | SocGholish使用重度代码混淆使静态文件检测对防御者更具挑战性 |
T1070.004指示器移除:文件删除 | SocGholish包含代码以从磁盘删除恶意C&C服务器任务执行的证据 | |
T1006直接卷访问 | 威胁行为者滥用certutil.exe从卷影副本读取以访问安全帐户管理器(SAM)存储的敏感数据 | |
TA0009收集 | T1074.001数据暂存:本地数据暂存 | SocGholish任务将数据输出到由加载程序中的函数生成的临时目录,然后再窃取 |
TA0007发现 | T1069.001权限组发现:本地组 | 执行SocGholish任务以确定本地管理员组成员资格 |
T1087.002帐户发现:域帐户 | SocGholish任务用于收集有关域帐户的信息 | |
T1082系统信息发现 | SocGholish任务在初始加载程序执行期间以及通过执行systeminfo命令获取环境的详细信息 | |
T1482域信任发现 | SocGholish任务执行nltest以收集有关域信任关系的信息 | |
T1069.002权限组发现:域组 | 执行SocGholish任务以发现级别组和权限 | |
T1016系统网络配置发现 | SocGholish任务执行ipconfig /all命令以获取网络配置和设置 | |
T1135网络共享发现 | 执行SocGholish任务以识别共享驱动器 | |
T1083文件和目录发现 | 对手执行dir命令以发现敏感文件并探索用户目录 | |
TA0003持久性 | T1053.005计划任务/作业:计划任务 | 使用计划任务通过基于Python的后门实现持久性 |
TA0011命令和控制 | T1095非应用层协议 | 基于Python的后门建立到外部主机的TCP连接,目的是将连接中继到受感染环境中的内部资产 |
T1572协议隧道 | 威胁行为者使用SSH代理来自外部C&C服务器的通信 | |
T1105入口工具传输 | 对手执行SocGholish任务以下载工具如NIRCMD.exe以从受感染环境收集屏幕截图 | |
TA0006凭据访问 | T1555来自密码存储的凭据 | 对手滥用netsh wlan show profiles以提取有关无线网络配置的敏感信息 |
T1555.003来自密码存储的凭据:来自Web浏览器的凭据 | 执行SocGholish任务以复制和窃取来自Web浏览器密码存储的凭据 | |
T1003.002安全帐户管理器 | 威胁行为者滥用certutil.exe从卷影副本读取以访问安全帐户管理器(SAM)存储的敏感数据 | |
T1552不安全凭据:文件中的凭据 | 对手搜索名称中包含字符串’pass’的文件 | |
TA0010窃取 | T1041通过C2通道窃取 | SocGholish窃取被盗数据包括凭据、屏幕截图和侦察命令输出到其C&C服务器 |
TA0008横向移动 | T1021.002远程服务:SMB/Windows管理共享 | 对手使用有效帐户访问SMB协议以入侵网络中的主机 |
SocGholish基础设施
我们对SocGholish C&C