引言
在近期巴西的一起事件响应案例中,我们发现了一款新型抗病毒(AV)杀手软件,该恶意工具自2024年10月起在野外传播。该恶意软件通过滥用与恶意软件一同分发的ThrottleStop.sys驱动程序,终止大量杀毒软件进程并降低系统防御能力,这种技术被称为BYOVD(自带易受攻击驱动程序)。近年来,依赖各类易受攻击驱动程序的AV杀手已成为已知问题,我们观察到涉及此类恶意软件的网络攻击呈上升趋势。
需要说明的是,卡巴斯基产品(如Kaspersky Endpoint Security)具备内置的自保护机制,可防止内存进程被篡改或终止、硬盘上的应用程序文件被删除以及系统注册表项被修改,这些机制能有效应对本文所述的AV杀手。
在本案例中,客户在发现系统被勒索软件样本加密后寻求帮助。攻击者通过有效的RDP凭证初始访问SMTP服务器,使用Mimikatz提取其他用户凭证,并通过Invoke-WMIExec.ps1和Invoke-SMBExec.ps1工具执行哈希传递进行横向移动。攻击者最终通过禁用网络内多个终端和服务器上的杀毒软件,并执行MedusaLocker勒索软件变种达成目标。
事件概述
攻击始于攻击者获取管理员账户的有效凭证。攻击者从比利时通过RDP连接到邮件服务器,随后使用Mimikatz提取另一用户的NTLM哈希,并通过以下PowerShell Invoke-TheHash命令尝试在多台机器上创建用户:
|
|
攻击者并未在所有机器上创建相同用户名,而是选择在用户名末尾添加顺序号(如User1、User2),但所有创建的用户密码相同。
多个工件(包括AV杀手)被上传至邮件服务器的C:\Users\Administrator\Music文件夹,随后与勒索软件(haz8.exe)一同上传至其他机器的C:\Users\UserN\Pictures目录。初期Windows Defender在部分机器上成功遏制了勒索软件威胁,但攻击者很快终止了安全解决方案。
AV杀手技术分析
为禁用系统防御,攻击者依赖两个工件:ThrottleBlood.sys(原ThrottleStop.sys)和All.exe。ThrottleStop.sys是由TechPowerUp开发的合法驱动程序,用于监控和修正CPU节流问题,主要被游戏玩家使用。涉事驱动程序持有2020年10月6日签发的有效证书。
当驱动程序加载时,会在.\.\ThrottleStop创建设备,作为用户模式与内核模式之间的通信通道。通过Win32 DeviceIoControl函数利用IOCTL代码请求驱动程序操作,该驱动程序暴露两个易受攻击的IOCTL函数:允许读取物理内存和写入物理内存。任何具有管理员权限的用户均可访问这些函数,构成核心漏洞。
驱动程序利用MmMapIoSpace函数执行物理内存访问,该内核级API将指定物理地址映射到虚拟地址空间中的MMIO区域,使得对虚拟内存的读写直接影响相应物理内存。此类漏洞在内核驱动中已知并被利用多年,不仅被攻击者利用,也被游戏作弊者用于低级内存访问。ThrottleStop.sys中的漏洞已被分配CVE-2025-7771,供应商正在准备补丁。建议安全解决方案监控系统中此已知易受攻击驱动程序的存在,以防止此类EDR杀手利用。
第二个工件All.exe是AV杀手本体。分析发现其内含多个杀毒软件进程名称,包括Avast、BitDefender、CrowdStrike、ESET、卡巴斯基、McAfee、Microsoft、Quick Heal、Symantec、Panda Security、SentinelOne和Sophos等主流产品。
内核函数调用机制
AV杀手首先通过服务控制管理器API加载ThrottleBlood.sys驱动,随后利用未文档化的NtQuerySystemInformation函数获取当前加载内核的基地址及目标函数地址。通过传递SystemModuleInformation标志,该函数返回当前系统加载的模块和驱动程序列表,其中Windows内核被称为ntoskrnl.exe,其基地址因KASLR而始终不同。
为使用MmMapIoSpace执行物理内存读写,系统需先确定内核使用的物理地址。AV杀手采用SuperFetch技术(源自GitHub上的开源项目),通过NtQuerySystemInformation函数的SystemSuperfetchInformation查询获取当前内存范围及其页表信息,实现内核虚拟地址到物理地址的转换。
AV杀手选择通过系统调用间接调用的内核函数为NtAddAtom,该函数很少使用且易于通过ntdll.dll调用。通过加载ntoskrnl.exe,恶意软件可轻松发现NtAddAtom函数的偏移量,进而结合当前基地址确定其内核地址。获取物理地址后,恶意软件利用易受攻击的IOCTL代码读写NtAddAtom函数的物理内存。
为调用任意内核函数,AV杀手写入一小段shellcode跳转到内核内的目标地址,目标地址可以是任何所需内核函数。函数执行完毕后,恶意软件恢复原始内核代码以防止系统崩溃。
进程终止主例程
获取所有必要信息后,AV杀手启动循环,通过Process32FirstW和Process32NextW API调用查找目标进程。硬编码的安全软件列表(如MsMpEng.exe)被用于匹配检查,一旦发现匹配进程,即利用易受攻击驱动程序调用PsLookupProcessById和PsTerminateProcess内核函数终止该进程。
进程被终止后,控制台会显示提示信息,表明恶意软件可能处于调试状态。尽管Windows Defender等杀毒软件会尝试重启服务,但程序主循环将持续识别并终止相关AV进程。
YARA检测规则
基于样本分析,我们开发了以下YARA规则用于实时检测威胁。该规则考虑文件类型、相关字符串和库函数导入:
|
|
影响范围与归属
根据我们的遥测数据和公开威胁情报,攻击者自2024年10月起使用此工件,受影响用户主要分布在俄罗斯、白俄罗斯、哈萨克斯坦、乌克兰和巴西。此AV杀手工具近期在巴西被用于在企业基础设施中部署MedusaLocker勒索软件,但此类恶意软件常见于各种威胁行为者,包括多个勒索软件组织和附属机构。
结论与防御建议
本事件表明必须实施强化的安全实践以防范暴力攻击,并限制远程访问协议的公开暴露。若受害者限制RDP访问并执行强密码策略,初始入侵本可避免。此外,该事件凸显了纵深防御的必要性。为缓解此类威胁,系统管理员应实施以下机制:
- 应用程序白名单和严格的最小权限访问执行
- 网络分段和隔离以遏制漏洞并限制横向移动
- 所有远程访问通道的多因素认证
- 定期补丁管理和自动化漏洞扫描
- 入侵检测和预防系统以识别异常行为
- 端点检测和响应工具用于实时监控和修复
- 全面日志记录、监控和告警以确保快速事件检测
- 定期安全评估和渗透测试以验证控制措施有效性
近期我们观察到涉及各类AV杀手软件的攻击增加,威胁防护服务应实施自保护机制,包括保护应用程序文件免受未授权修改、监控内存进程以及在客户设备上定期更新检测规则。
战术、技术与程序
根据恶意软件分析,AV杀手的TTPs如下:
| 战术 | 技术 | ID |
|---|---|---|
| 发现 | 进程发现 | T1057 |
| 防御规避 | 削弱防御:禁用或修改工具 | T1562.001 |
| 防御规避 | 削弱防御:指标阻塞 | T1562.006 |
| 权限提升 | 创建或修改系统进程:Windows服务 | T1543.003 |
| 影响 | 服务停止 | T1489 |
危害指标
易受攻击的ThrottleBlood.sys驱动
82ed942a52cdcf120a8919730e00ba37619661a3
事件中观察到的恶意软件
f02daf614109f39babdcb6f8841dd6981e929d70 (haz8.exe)
c0979ec20b87084317d1bfa50405f7149c3b5c5f (All.exe)
其他AV杀手变种
eff7919d5de737d9a64f7528e86e3666051a49aa
0a15be464a603b1eebc61744dc60510ce169e135
d5a050c73346f01fc9ad767d345ed36c221baac2
987834891cea821bcd3ce1f6d3e549282d38b8d3
86a2a93a31e0151888c52dbbc8e33a7a3f4357db
dcaed7526cda644a23da542d01017d48d97c9533