基于GRUB2的Bootkit:疑似与NSA方程式组织关联的新型恶意软件威胁
字数 2471 2025-08-29 22:41:02
GRUB2 Bootkit恶意软件分析与复现技术文档
1. 概述
本技术文档详细分析了一款基于GRUB2的Bootkit恶意软件,该软件疑似与NSA方程式组织有关联。文档包含恶意软件的功能分析、技术细节、复现方法以及防御建议。
2. 样本基本信息
- 发现来源:Unit42安全团队《Off the Beaten Path: Recent Unusual Malware》报告
- 样本类型:Bootkit程序
- 签名信息:由美国密西西比大学使用无效证书签名,颁发者为it@olemiss.edu
- 主要行为:安装GRUB2引导加载程序
- 关联组织:与NSA方程式组织的FUZZBUNCH工具存在关联
3. 技术特征分析
3.1 导出函数分析
样本包含两个关键导出函数:
-
install函数:
- 复制自身到
C:\Windows\system32\w32analytics.dll - 创建计划任务
w32analytics,执行命令:rundll32 w32analytics.dll,dll_u
- 复制自身到
-
dll_u函数:
- 核心恶意功能入口点
- 与NSA方程式组织PC_Level3_dll样本的导出函数同名
- 可通过FUZZBUNCH工具的Doublepulsar插件远程加载
3.2 功能执行流程
-
数据解压:
- 使用zlib解压内置的0x60C5E0字节压缩数据
- 解压后得到约35MB的磁盘映像文件(创建时间2024/07/09 06:29)
-
动态API获取:
- 动态获取关键API函数以规避检测
-
系统版本验证:
- 区分Windows Vista+/XP及更早版本
- 不同版本采用不同的设备命名空间路径
-
驱动加载:
- 从资源段释放ampa.sys驱动程序(中国傲梅分区助手的驱动)
- 调整进程权限为SeLoadDriverPrivilege
- 创建ampa服务并加载驱动
-
磁盘写入:
- 将磁盘映像文件写入每个磁盘
- Vista+使用
\\.\wowrt\DR\DISK%u路径 - XP使用
\\.\PhysicalDrive%u路径
-
清理与重启:
- 卸载ampa驱动并删除相关文件
- 调整权限为SeShutdownPrivilege并重启系统
3.3 GRUB2引导分析
重启后加载的GRUB2引导程序包含:
-
主引导记录(MBR):
- 标准MBR结构(启动代码+分区表+55AA结束标志)
-
引导分区内容:
/grub2/ /locale/ /i386-pc/ /fonts/ /grubenv /grub.cfg /EFI/ /debian/ /BOOT/ /GRUBX64.EFI /BOOTX64.EFI /image.png /dixie.play -
grub.cfg关键配置:
- 加载视频驱动和PNG模块
- 设置图形终端输出
- 设置背景图片为美利坚联盟国战旗(image.png)
- 播放美国dixie民谣(dixie.play)
- 暂停60秒
4. 与NSA方程式组织的关联证据
-
导出函数一致性:
- 使用与EquationDrug样本相同的
dll_u导出函数名 - 函数入口代码与PC_Level3_dll样本高度相似
- 使用与EquationDrug样本相同的
-
工具兼容性:
- 可通过FUZZBUNCH工具的Doublepulsar插件远程注入
- 与DanderSpritz工具生成的PC_Level3_dll.configured后门行为一致
-
攻击流程验证:
- 使用FUZZBUNCH加载EternalBlue漏洞
- 通过Doublepulsar注入Bootkit
- 成功触发GRUB2加载(仅限BIOS模式)
5. 技术复现方法
5.1 实验环境要求
- VMware虚拟机(BIOS启动模式)
- 物理U盘(用于制作GRUB2引导盘)
- WinHex工具
- 提取的磁盘映像文件
5.2 复现步骤
-
制作GRUB2引导U盘:
- 使用WinHex将提取的磁盘映像文件克隆到U盘
- 确认U盘包含完整的GRUB2引导结构
-
VMware虚拟机配置:
- 添加U盘作为虚拟机硬盘
- 设置虚拟机为BIOS启动模式
- 在虚拟机固件中选择U盘对应的硬盘启动
-
验证效果:
- 成功启动后将显示美利坚联盟国战旗背景
- 播放dixie民谣音频
- 与Bootkit攻击后的效果一致
5.3 BIOS与UEFI差异
- BIOS模式:成功加载GRUB2引导程序
- UEFI模式:引导失败(兼容性问题)
6. 驱动程序分析
- 驱动来源:中国傲梅分区助手(AOMEI Partition Assistant)
- 文件信息:ampa.sys
- 验证方法:
- 对比傲梅分区助手安装包中的ampa.sys哈希值
- 确认数字签名信息一致
- 使用原因推测:
- 功能完善,支持底层磁盘操作
- 具有合法的数字签名,可规避部分检测
- 在目标环境中普遍存在,不易引起怀疑
7. 防御建议
-
安全配置:
- 启用UEFI安全启动(Secure Boot)
- 禁用不必要的BIOS兼容模式
- 限制驱动加载权限
-
检测方法:
- 监控
\\.\wowrt\DR\DISK和\\.\PhysicalDrive的异常访问 - 检查计划任务中异常的rundll32调用
- 验证系统目录下dll文件的数字签名
- 监控
-
应急响应:
- 检查MBR和引导分区完整性
- 使用专用工具修复被篡改的引导记录
- 全面扫描系统中的可疑驱动文件
-
高级防护:
- 部署能够检测Bootkit的内存扫描技术
- 实施固件级别的完整性验证
- 建立GRUB2配置文件的基线监控
8. 疑问与思考
-
技术选择:
- 为何使用中国开发的驱动程序?
- 是否针对特定环境进行过兼容性测试?
- GRUB2配置中的文化元素是否具有特殊含义?
-
攻击背景:
- 此样本是测试版本还是实际攻击工具?
- 与EquationDrug的关联是技术复用还是有组织关联?
- 为何保留如此明显的文化特征?
-
防御启示:
- 合法软件的驱动如何被滥用?
- 如何平衡功能便利性与安全风险?
- 供应链安全在此事件中的重要性?
9. 结论
该GRUB2 Bootkit展示了高级持续性威胁(APT)组织在引导层攻击上的技术能力,通过滥用合法驱动和精心构造的GRUB2配置实现持久化。其与NSA方程式组织的技术关联性值得深入追踪,而其中使用的中国开发组件也提醒我们供应链安全的重要性。防御此类攻击需要从固件安全、驱动管理和引导完整性等多个层面建立防护体系。