
Una utilidad bare-metal x86 para volcar la RAM física directamente al disco. Construida y probada para experimentos de Ataque de Arranque en Frío sobre memoria congelada.
Una herramienta bare-metal simple para x86 diseñada para arrancar desde un disco/USB y volcar la RAM del sistema directamente al medio de arranque. Se basa en interrupciones de BIOS para arrancar y realizar operaciones de disco, y entra en modo unreal para acceder a memoria por encima de la barrera de 1MB.
Esta herramienta fue originalmente desarrollada y probada con éxito para experimentar con Ataques de arranque en frío. Al congelar la RAM de una computadora portátil (hasta -60°C) y reiniciar rápidamente desde una unidad USB que contiene esta herramienta, es posible volcar el contenido de la memoria congelada al disco antes de que los datos se degraden, lo que permite extraer información sensible como claves de cifrado.
INT 0x15 E820 para detectar regiones de RAM válidas y evitar volcar memoria reservada o E/S mapeada en memoria.INT 0x13 AH=0x43 (Escritura extendida) para escribir el contenido de la memoria directamente de vuelta a la unidad de arranque comenzando en LBA 64.stage1.asm es un sector de arranque de 512 bytes. Inicializa los registros de segmento, configura la pila y usa la Lectura Extendida (INT 0x13 AH=0x42) para cargar stage2 desde LBA 1 a la memoria en 0x8000. Luego salta a stage2.stage2.asm realiza la lógica principal:
INT 0x15 E820.0x90000).¡Esta herramienta escribe datos brutos directamente en la unidad de arranque comenzando en el Sector 64! Si escribe esto en una unidad USB que contiene datos importantes, el volcado de RAM sobrescribirá todo lo que esté presente en LBA 64 y más allá. Use una unidad USB flash dedicada y en blanco para este propósito.
Necesitará tener instalado NASM para compilar este proyecto.
En Windows, ejecute el script de compilación proporcionado:
build.bat
En Linux, puede ejecutar:
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 en una unidad USB (por ejemplo, usando dd en Linux/macOS, o Rufus / Win32DiskImager en Windows).
sudo dd if=boot.bin of=/dev/sdX bs=512