
Um utilitário bare-metal x86 para despejar a RAM física diretamente no disco. Construído e testado para experimentos de Cold Boot Attack em memória congelada.
Uma ferramenta x86 bare-metal simples projetada para inicializar a partir de um disco/USB e despejar a RAM do sistema diretamente no meio de inicialização. Ela depende de interrupções da BIOS para inicializar e realizar operações de disco, e entra em modo unreal para acessar memória acima da barreira de 1MB.
Esta ferramenta foi originalmente desenvolvida e testada com sucesso para experimentar Ataques de Boot a Frio. Ao congelar a RAM de um laptop (até -60°C) e reiniciar rapidamente a partir de um drive USB contendo esta ferramenta, é possível despejar o conteúdo da memória congelada no disco antes que os dados decaiam, permitindo a extração de informações sensíveis como chaves de criptografia.
INT 0x15 E820 para detectar regiões de RAM válidas e evitar despejar memória reservada ou I/O mapeado em memória.INT 0x13 AH=0x43 (Escrita Estendida) para escrever o conteúdo da memória diretamente de volta na unidade de inicialização a partir de LBA 64.stage1.asm é um setor de boot de 512 bytes. Ele inicializa registradores de segmento, configura a pilha e usa Leitura Estendida (INT 0x13 AH=0x42) para carregar stage2 de LBA 1 para a memória em 0x8000. Em seguida, salta para stage2.stage2.asm executa a lógica principal:
INT 0x15 E820.0x90000).Esta ferramenta escreve dados brutos diretamente na unidade de inicialização a partir do Setor 64! Se você gravar isso em um drive USB contendo dados importantes, o dump de RAM sobrescreverá tudo o que estiver presente em LBA 64 e além. Use um pen drive USB dedicado e em branco para esta finalidade.
Você precisará do NASM instalado para compilar este projeto.
No Windows, execute o script de compilação fornecido:
build.bat
No Linux, você pode executar:
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 em um drive USB (por exemplo, usando dd no Linux/macOS, ou Rufus / Win32DiskImager no Windows).
sudo dd if=boot.bin of=/dev/sdX bs=512