基于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 导出函数分析

样本包含两个关键导出函数:

  1. install函数

    • 复制自身到C:\Windows\system32\w32analytics.dll
    • 创建计划任务w32analytics,执行命令:rundll32 w32analytics.dll,dll_u
  2. dll_u函数

    • 核心恶意功能入口点
    • 与NSA方程式组织PC_Level3_dll样本的导出函数同名
    • 可通过FUZZBUNCH工具的Doublepulsar插件远程加载

3.2 功能执行流程

  1. 数据解压

    • 使用zlib解压内置的0x60C5E0字节压缩数据
    • 解压后得到约35MB的磁盘映像文件(创建时间2024/07/09 06:29)
  2. 动态API获取

    • 动态获取关键API函数以规避检测
  3. 系统版本验证

    • 区分Windows Vista+/XP及更早版本
    • 不同版本采用不同的设备命名空间路径
  4. 驱动加载

    • 从资源段释放ampa.sys驱动程序(中国傲梅分区助手的驱动)
    • 调整进程权限为SeLoadDriverPrivilege
    • 创建ampa服务并加载驱动
  5. 磁盘写入

    • 将磁盘映像文件写入每个磁盘
    • Vista+使用\\.\wowrt\DR\DISK%u路径
    • XP使用\\.\PhysicalDrive%u路径
  6. 清理与重启

    • 卸载ampa驱动并删除相关文件
    • 调整权限为SeShutdownPrivilege并重启系统

3.3 GRUB2引导分析

重启后加载的GRUB2引导程序包含:

  1. 主引导记录(MBR)

    • 标准MBR结构(启动代码+分区表+55AA结束标志)
  2. 引导分区内容

    /grub2/
    /locale/
    /i386-pc/
    /fonts/
    /grubenv
    /grub.cfg
    /EFI/
    /debian/
    /BOOT/
    /GRUBX64.EFI
    /BOOTX64.EFI
    /image.png
    /dixie.play
    
  3. grub.cfg关键配置

    • 加载视频驱动和PNG模块
    • 设置图形终端输出
    • 设置背景图片为美利坚联盟国战旗(image.png)
    • 播放美国dixie民谣(dixie.play)
    • 暂停60秒

4. 与NSA方程式组织的关联证据

  1. 导出函数一致性

    • 使用与EquationDrug样本相同的dll_u导出函数名
    • 函数入口代码与PC_Level3_dll样本高度相似
  2. 工具兼容性

    • 可通过FUZZBUNCH工具的Doublepulsar插件远程注入
    • 与DanderSpritz工具生成的PC_Level3_dll.configured后门行为一致
  3. 攻击流程验证

    • 使用FUZZBUNCH加载EternalBlue漏洞
    • 通过Doublepulsar注入Bootkit
    • 成功触发GRUB2加载(仅限BIOS模式)

5. 技术复现方法

5.1 实验环境要求

  • VMware虚拟机(BIOS启动模式)
  • 物理U盘(用于制作GRUB2引导盘)
  • WinHex工具
  • 提取的磁盘映像文件

5.2 复现步骤

  1. 制作GRUB2引导U盘

    • 使用WinHex将提取的磁盘映像文件克隆到U盘
    • 确认U盘包含完整的GRUB2引导结构
  2. VMware虚拟机配置

    • 添加U盘作为虚拟机硬盘
    • 设置虚拟机为BIOS启动模式
    • 在虚拟机固件中选择U盘对应的硬盘启动
  3. 验证效果

    • 成功启动后将显示美利坚联盟国战旗背景
    • 播放dixie民谣音频
    • 与Bootkit攻击后的效果一致

5.3 BIOS与UEFI差异

  • BIOS模式:成功加载GRUB2引导程序
  • UEFI模式:引导失败(兼容性问题)

6. 驱动程序分析

  • 驱动来源:中国傲梅分区助手(AOMEI Partition Assistant)
  • 文件信息:ampa.sys
  • 验证方法
    • 对比傲梅分区助手安装包中的ampa.sys哈希值
    • 确认数字签名信息一致
  • 使用原因推测
    • 功能完善,支持底层磁盘操作
    • 具有合法的数字签名,可规避部分检测
    • 在目标环境中普遍存在,不易引起怀疑

7. 防御建议

  1. 安全配置

    • 启用UEFI安全启动(Secure Boot)
    • 禁用不必要的BIOS兼容模式
    • 限制驱动加载权限
  2. 检测方法

    • 监控\\.\wowrt\DR\DISK\\.\PhysicalDrive的异常访问
    • 检查计划任务中异常的rundll32调用
    • 验证系统目录下dll文件的数字签名
  3. 应急响应

    • 检查MBR和引导分区完整性
    • 使用专用工具修复被篡改的引导记录
    • 全面扫描系统中的可疑驱动文件
  4. 高级防护

    • 部署能够检测Bootkit的内存扫描技术
    • 实施固件级别的完整性验证
    • 建立GRUB2配置文件的基线监控

8. 疑问与思考

  1. 技术选择

    • 为何使用中国开发的驱动程序?
    • 是否针对特定环境进行过兼容性测试?
    • GRUB2配置中的文化元素是否具有特殊含义?
  2. 攻击背景

    • 此样本是测试版本还是实际攻击工具?
    • 与EquationDrug的关联是技术复用还是有组织关联?
    • 为何保留如此明显的文化特征?
  3. 防御启示

    • 合法软件的驱动如何被滥用?
    • 如何平衡功能便利性与安全风险?
    • 供应链安全在此事件中的重要性?

9. 结论

该GRUB2 Bootkit展示了高级持续性威胁(APT)组织在引导层攻击上的技术能力,通过滥用合法驱动和精心构造的GRUB2配置实现持久化。其与NSA方程式组织的技术关联性值得深入追踪,而其中使用的中国开发组件也提醒我们供应链安全的重要性。防御此类攻击需要从固件安全、驱动管理和引导完整性等多个层面建立防护体系。

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结束标志) 引导分区内容 : grub.cfg关键配置 : 加载视频驱动和PNG模块 设置图形终端输出 设置背景图片为美利坚联盟国战旗(image.png) 播放美国dixie民谣(dixie.play) 暂停60秒 4. 与NSA方程式组织的关联证据 导出函数一致性 : 使用与EquationDrug样本相同的 dll_u 导出函数名 函数入口代码与PC_ Level3_ dll样本高度相似 工具兼容性 : 可通过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方程式组织的技术关联性值得深入追踪,而其中使用的中国开发组件也提醒我们供应链安全的重要性。防御此类攻击需要从固件安全、驱动管理和引导完整性等多个层面建立防护体系。