

在最近巴西的一起事件响应案例中,我们发现了一种值得关注的新型杀毒软件 (AV) 杀手,该软件至少自 2024 年 10 月起便开始在野外传播。这种恶意程序会滥用ThrottleStop.sys随恶意软件一起提供的驱动程序,终止大量杀毒进程并降低系统防御能力,这是一种名为 BYOVD(自带易受攻击驱动程序)的技术的一部分。依赖各种易受攻击驱动程序的杀毒软件是一个已知问题。我们最近发现,涉及此类恶意软件的网络攻击有所增加。
值得注意的是,卡巴斯基产品(例如卡巴斯基端点安全软件 (KES))内置了自我防御机制,可以防止内存进程被更改或终止、硬盘上的应用程序文件被删除以及系统注册表项被更改。这些机制可以有效对抗本文所述的杀毒软件。
在我们分析的案例中,客户在发现其系统被勒索软件样本加密后寻求我们的帮助。攻击者通过有效的 RDP 凭证访问了初始系统(SMTP 服务器)。然后,他们使用 Mimikatz 提取其他用户的凭证,并使用 Invoke-WMIExec.ps1 和Invoke-SMBExec.ps1相关工具的哈希传递技术进行横向移动。攻击者通过在网络上的各个端点和服务器上禁用杀毒软件,并执行 MedusaLocker 勒索软件的变种,实现了其目标。
本文将详细介绍此次攻击,并对杀毒软件本身进行分析。最后,我们将概述攻击者所采用的策略、技术和程序 (TTP)。
卡巴斯基产品检测到此次事件中遇到的威胁如下:
-
Trojan-Ransom.Win32.PaidMeme.*(MedusaLocker 变种)
-
Win64.KillAV.*(AV杀手)
事件概述
攻击始于攻击者获取的管理员账户有效凭证。攻击者能够通过 RDP 从比利时连接到邮件服务器。然后,攻击者使用 Mimikatz 提取了另一个用户的 NTLM 哈希值。接下来,他们使用以下 PowerShell Invoke-TheHash 命令执行传递哈希攻击,试图在不同的计算机上创建用户。
Invoke-WMIExec -Target "<IP>" -Domain "<DOMAIN>" -Username "<USER>" -Hash "<HASH>" -Command "net user User1 Password1! /ad" -verboseInvoke-SMBExec -Target "<IP>" -Domain "<DOMAIN>" -Username "<USER>" -Hash "<HASH>" -Command "net user User2 Password1! /ad" -verboseInvoke-SMBExec -Target "<IP>" -Domain "<DOMAIN>" -Username "<USER>" -Hash "<HASH>" -Command "net localgroup Administrators User1 /ad" -verbose
一个有趣的细节是,攻击者并不想在每台机器上创建相同的用户名。相反,他们选择在每个用户名末尾添加一个序列号(例如,User1、User2、User3 等)。然而,所有创建的用户的密码都是相同的。
包括杀毒软件(AV Killer)在内的各种文件被上传到C:UsersAdministratorMusic邮件服务器上的文件夹中。这些文件随后与勒索软件(haz8.exe)一起被上传到其他计算机,但这次是 C:UsersUserNPictures。最初,Windows Defender 在勒索软件威胁上传后能够立即控制部分计算机,但攻击者很快就终止了该安全解决方案。
下图概述了该事件。我们能够提取证据来确定攻击者的工作流程及其涉及的构件。幸运的是,所分析的系统仍然包含相关信息,但情况并非总是如此。

事件流
此类攻击凸显了纵深防御的重要性。尽管该组织已部署反病毒软件,但攻击者仍然能够使用有效账户上传绕过防御措施的不可检测的恶意代码。这类攻击可以通过简单的安全措施来避免,例如强制使用强密码并禁用对公共 IP 的 RDP 访问。
AV杀手分析
为了禁用系统的防御机制,攻击者使用了两种工具:ThrottleBlood.sys和All.exe。第一个是最初名为的合法驱动程序,由TechPowerUpThrottleStop.sys开发,并由 ThrottleStop 应用程序使用。该应用程序旨在监控和纠正 CPU 节流问题,主要供游戏玩家使用。此次事件中涉及的驱动程序拥有于 2020-10-06 20:34:00 UTC 签名的有效证书,如下所示:
Status: The fileis signed and the signature was verifiedSerial number: 0a fc 69772a e1 ea9a285731 b6 aa 4523 c6 Issuer: DigiCert EV Code Signing CASubject: TechPowerUp LLCTS Serial number: 03019a023a ff 58 b1 6b d6 d5 ea e6 17 f0 66TS Issuer: DigiCert Assured ID CA-1TS Subject: DigiCert Timestamp ResponderDate Signed: 2020-10-0620:34:00 UTC
| 哈希 | 价值 |
| MD5 | 6bc8e3505d9f51368ddf323acb6abc49 |
| SHA-1 | 82ed942a52cdcf120a8919730e00ba37619661a3 |
| SHA-256 | 16f83f056177c4ec24c7e99d01ca9d9d6713bd0497eeedb777a3ffefa99c97f0 |
驱动程序在加载时,会在 处创建一个设备.\.\ThrottleStop,该设备是用户模式和内核模式之间的通信通道。

ThrottleStop 设备驱动程序通信概述
与驱动程序的通信是通过 IOCTL 调用进行的,具体来说是使用 Win32DeviceIoControl函数。该函数允许使用 IOCTL 代码来请求各种驱动程序操作。该驱动程序暴露了两个易受攻击的 IOCTL 函数:一个允许从内存读取,另一个允许写入。这两个函数都使用物理地址。重要的是,任何具有管理员权限的用户都可以访问这些函数,这构成了核心漏洞。
该驱动程序利用 MmMapIoSpace 函数执行物理内存访问。此内核级 API 将指定的物理地址映射到虚拟地址空间,具体来说是 MMIO(内存映射 I/O)区域内。通过此映射,对虚拟内存的读写操作可以直接影响相应的物理内存。此类漏洞在内核驱动程序中非常常见,多年来一直被攻击者利用,甚至被寻求低级内存访问的游戏作弊者利用。ThrottleStop.sys 中的漏洞已被分配CVE-2025-7771 编号。根据我们掌握的信息,供应商目前正在准备补丁。与此同时,我们建议安全解决方案监控操作系统中是否存在此已知易受攻击的驱动程序,以帮助防止被本文所述的 EDR 杀手程序利用。
第二个文件 All.exe 是杀毒软件本身。我们的分析从对该文件进行基本检查开始。
| 哈希 | 价值 |
| MD5 | a88daa62751c212b7579a57f1f4ae8f8 |
| SHA-1 | c0979ec20b87084317d1bfa50405f7149c3b5c5f |
| SHA-256 | 7a311b584497e8133cd85950fec6132904dd5b02388a9feed3f5e057fb891d09 |
首先,我们检查了它的属性。在搜索相关字符串时,我们注意到一个模式:二进制文件中包含多个杀毒进程名称。下图展示了我们查询的摘录。

二进制文件中的 AV 名称
我们绘制出了该恶意软件试图终止的所有进程。下表列出了每个进程及其对应的供应商。由此可见,该恶意软件试图终止市场上主要的杀毒软件产品。
| Process names | Vendor |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
当二进制文件执行时,它首先ThrottleBlood.sys使用服务控制管理器 (SCM) API 方法(例如OpenSCManagerA()和)加载驱动程序StartServiceW()。

ThrottleStop/ThrottleBlood 驱动加载流程
杀毒软件需要ThrottleStop驱动程序来劫持内核函数,并允许在用户模式下执行仅内核模式的例程。为了利用驱动程序易受攻击的读/写原语调用这些内核函数,恶意软件首先会检索当前加载的内核的基址以及要覆盖的目标函数的地址。它利用NtQuerySystemInformationWin32中未记录的函数来实现这一点。

内核基址收集
传递该SystemModuleInformation标志允许函数返回当前系统上已加载的模块和驱动程序列表。Windows 内核被称为ntoskrnl.exe。由于 KASLR(内核地址空间布局随机化),其基址始终不同。
要read/write使用 执行操作MmMapIoSpace,系统必须首先确定内核使用的物理地址。这可以通过一种名为 的技术实现SuperFetch,该技术包含在 GitHub 上的开源 superfetch 项目中。该项目通过一个仅由头文件组成的 C++ 库,帮助将虚拟地址转换为物理地址。

物理地址计算
Superfetch C++ 库使用了该NtQuerySystemInformation函数,具体来说是使用了SystemSuperfetchInformation查询。该查询返回所有当前内存范围及其页面。有了这些信息,Superfetch 库就可以成功地将任何内核虚拟地址转换为其相应的物理地址。
调用内核函数
既然已经收集了物理基址,恶意软件必须选择一个可以通过系统调用(从用户模式)间接调用的内核函数。所选的系统调用是NtAddAtom,它很少使用,并且可以通过 轻松调用ntdll.dll。

NtAddAtom 地址收集
通过加载ntoskrnl.exe该LoadLibrary函数,恶意软件可以轻松发现该NtAddAtom函数的偏移量,从而通过将当前基址与偏移量相加来确定其内核地址。物理地址的获取方式与内核基址相同。加载物理地址和驱动程序后,恶意软件可以利用易受攻击的 IOCTL 代码来读写该NtAddAtom函数的物理内存。

利用易受攻击的驱动程序进行内核代码注入
为了调用任何内核函数,杀毒软件会编写一段简短的shellcode,跳转到内核中的目标地址。该目标地址可以是任何所需的内核函数。一旦函数执行完毕,恶意软件就会恢复原始内核代码,以防止系统崩溃。

内核代码注入图
进程终止程序主程序
在获得所有必要信息后,AV Killer 会开始循环,使用Process32FirstW()和Process32NextW API调用来查找目标进程。如前所述,目标安全软件(例如MsMpEng.exeWindows Defender)的列表已硬编码在恶意软件中。

找到 MsMpEng.exe 匹配项
AV killer 会根据硬编码列表检查所有正在运行的进程。如果匹配,它会利用存在漏洞的驱动程序调用PsLookupProcessById和PsTerminateProcess内核函数来终止这些进程。
如果某个进程被终止,控制台中会显示一条消息,其中包含该进程的名称,如下图所示。这表明该恶意软件正在被调试。

MsMpEng.exe 已被终止
与目前大多数杀毒软件一样,Windows Defender 会尝试重启服务来保护设备。然而,程序的主循环会继续识别并终止相关的杀毒软件进程。

Defender 尝试重启,但再次被击杀
YARA 规则
基于对样本的分析,我们制定了以下 YARA 规则来实时检测该威胁。该规则考虑了文件类型、相关字符串以及库函数导入。
import "pe"rule AVKiller_MmMapIoSpace {meta:description = "Rule to detect the AV Killer"author = "Kaspersky"copyright = "Kaspersky"version = "1.0"last_modified = "2025-05-14"hash = "a88daa62751c212b7579a57f1f4ae8f8"strings:$shellcode_template = {4? BA 000040750065488B}$ntoskrnl = "ntoskrnl.exe"$NtAddAtom = "NtAddAtom"$ioctl_mem_write = {9C 640080}$ioctl_mem_read = {98640080}condition:pe.is_pe andpe.imports("kernel32.dll", "DeviceIoControl")andall of them}
归因
这款特殊的杀毒软件最近在巴西的一次攻击中被用来在一家公司的基础设施中部署MedusaLocker勒索软件。然而,这种类型的恶意软件在各种威胁行为者中都很常见,包括各种勒索软件团体及其附属机构。
结论和建议
此次事件提供了一些宝贵的教训。首先,必须实施强有力的强化措施,以保护服务器免受暴力攻击,并限制远程访问协议的公开暴露。如果受害者限制了 RDP 访问权限并强制执行了强大的密码策略,最初的入侵本可以避免。此外,此次事件凸显了纵深防御的必要性。杀毒软件能够禁用系统的防御机制,使攻击者能够轻松地在机器之间横向移动。为了缓解此类威胁,系统管理员应实施以下机制:
-
应用程序白名单和严格执行最小权限访问。
-
网络分段和隔离以遏制违规并限制横向移动。
-
所有远程访问渠道的多重身份验证 (MFA)。
-
定期补丁管理和自动漏洞扫描。
-
入侵检测和预防系统 (IDS/IPS) 用于识别异常行为。
-
用于实时监控和修复的端点检测和响应 (EDR) 工具。
-
全面的日志记录、监控和警报,确保快速检测事件。
-
定期进行安全评估和渗透测试以验证控制的有效性。
近期,我们发现涉及各类杀毒软件的攻击有所增加。威胁防护服务应实施自我防御机制来抵御这些攻击。这包括保护应用程序文件免遭未经授权的修改、监控内存进程以及定期更新客户设备上的检测规则。
策略、技术和程序
我们从 AV Killer 的恶意软件分析中确定的 TTP 如下所列。
| 策略 | 技术 | ID |
| 发现 | 流程发现 | T1057 |
| 防御规避 | 削弱防御:禁用或修改工具 | T1562.001 |
| 防御规避 | 削弱防御:指标阻塞 | T1562.006 |
| 权限提升 | 创建或修改系统进程:Windows 服务 | T1543.003 |
| 影响 | 服务站 | T1489 |
原文始发于微信公众号(Ots安全):破坏的驱动因素:如何使用合法驱动程序来关闭 AV 进程
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-


评论