BareMetal RAM Dumper – 用于冷启动攻击实验的裸机x86工具
摘要
一个用于通过冷启动攻击将系统RAM转储到引导介质的裸机x86工具,对安全研究和实验有用。
查看缓存全文
缓存时间: 2026/07/04 18:41
pIat0n/BareMetal-RAM-Dumper
来源:https://github.com/pIat0n/BareMetal-RAM-Dumper
BareMetal RAM Dumper(裸机内存转储工具)
一个简单的 x86 裸机工具,设计用于从磁盘/U盘启动并将系统 RAM 直接转储到启动介质。它依赖 BIOS 中断进行引导和磁盘操作,并进入 Unreal 模式以访问 1MB 屏障以上的内存。
背景:冷启动攻击 ❄️
该工具最初是为实验 冷启动攻击 而开发并成功测试的。将笔记本电脑的 RAM 冷冻(降至 -60°C)后,迅速从包含此工具的 U 盘重启,即可在数据衰减之前将冻结的内存内容转储到磁盘,从而提取出加密密钥等敏感信息。
特性
- 自定义引导程序: 直接从 BIOS(传统 CSM)启动,无需操作系统。
- Unreal 模式: 临时切换到 Unreal 模式以访问和读取 32 位物理内存地址。
- 内存映射解析: 使用 BIOS
INT 0x15 E820检测有效的 RAM 区域,避免转储保留内存或内存映射 I/O。 - 直接磁盘写入: 使用 BIOS
INT 0x13 AH=0x43(扩展写入)将内存内容直接写回启动盘的 LBA 64 起始位置。
工作原理
stage1.asm是一个 512 字节的引导扇区。它初始化段寄存器、设置栈,并使用扩展读取(INT 0x13 AH=0x42)将stage2从 LBA 1 加载到内存0x8000处,然后跳转到stage2。stage2.asm执行主要逻辑:- 查询 BIOS 是否支持 EDD(增强磁盘驱动)。
- 使用
INT 0x15 E820获取内存映射。 - 计算最大 RAM 大小。
- 以 32KB 块为单位循环遍历 RAM。
- 对每个块,切换到 Unreal 模式,将高位内存中的数据复制到低位内存缓冲区(
0x90000)。 - 使用扩展写入将 32KB 块写入磁盘,起始于 LBA 64。
- 在屏幕上打印进度百分比。
警告 ⚠️
该工具会从扇区 64 开始,将原始数据直接写入启动盘!
如果你将此工具写入一个含有重要数据的 U 盘,RAM 转储将覆盖 LBA 64 及之后的所有内容。请为此使用专用的空白 U 盘。
构建
你需要安装 NASM(https://www.nasm.us/)来编译此项目。
在 Windows 上,运行提供的构建脚本:
build.bat
在 Linux 上,你可以运行:
nasm -f bin stage1.asm -o stage1.bin
nasm -f bin stage2.asm -o stage2.bin
cat stage1.bin stage2.bin > boot.bin
使用方法
- 构建项目,生成
boot.bin。 - 将
boot.bin写入 U 盘(例如在 Linux/macOS 上使用dd,在 Windows 上使用 Rufus 或 Win32DiskImager)。- 注意: 确保 U 盘的容量足够容纳你系统的 RAM。
- 示例(Linux):
sudo dd if=boot.bin of=/dev/sdX bs=512
- 从该 U 盘启动目标 PC(确保启用了传统 BIOS / CSM 引导)。
- 等待转储完成(将显示 100%)。
相似文章
DRAM 意面化
一种安全研究工具,利用 AMD CPU 上的 DRAM 地址加扰来解锁隐藏的平台功能(如 PSP、SMM、C6 和微码),展示了深度的硬件级攻击。
某些x86 CPU中的硬件后门
安全研究人员Domas揭示了rosenbridge,这是VIA C3 x86 CPU中的一个硬件后门,允许非特权代码绕过处理器保护并访问内核内存。该存储库提供了检查并缓解此漏洞的工具。
usbliter8 - Apple A12/A13 bootROM漏洞利用
本文详细介绍了苹果A12/A13 SoC中一种新颖的bootROM漏洞,该漏洞利用USB控制器中的硬件缺陷和配置缺陷,从而破坏了启动链。文中还提供了一个概念验证。
CP/M-68K 模拟器
一位业余开发者创建了一个适用于Motorola 68000 CPU的模拟器,可运行CP/M-68K,支持自定义BIOS和RAM磁盘;源代码已在GitHub和GitLab上提供。
objdump -g 中的任意代码执行
objdump -g 中存在一个安全漏洞,由于 FR30 重定位处理程序缺少边界检查,通过精心构造的 FR30 目标文件可实现任意代码执行,单个漏洞利用即可绕过 ASLR 及其他缓解措施。