Pular para o conteúdo
Todos os conceitos

Imagem de disco

Uma cópia byte a byte de um disco ou de uma partição, que a perícia examina sem ligar a máquina.

Quem investiga um servidor não mexe no servidor: faz uma imagem do disco, uma cópia exata, byte a byte, e trabalha em cima dela. A imagem crua (extensões .raw, .img, .dd) não tem cabeçalho nenhum: o byte 0 do arquivo é o byte 0 do disco. Por ser grande, ela costuma chegar compactada (.gz, .xz).

O primeiro passo é saber o que tem dentro. O file imagem.raw responde:

Resposta do file O que é Como seguir
DOS/MBR boot sector ou GPT Disco inteiro, com tabela de partições mmls mostra onde cada partição começa
ext4 filesystem data, FAT, NTFS Uma partição só, o sistema de arquivos direto Abrir direto
Nada disso Pode ser memória (RAM), criptografado ou outro formato Para memória, o Volatility
disco do servidor cópia byte a byte imagem.raw sem cabeçalho: o byte 0 do arquivo é o byte 0 do disco DOS/MBR boot sector disco inteiro, com tabela de partições MBR tabela … partição 1: sistema de arquivos ext4 setor 2048 mmls mostra este começo; fls -o 2048 lê daqui ext4 filesystem data uma partição só: abrir direto, sem -o sistema de arquivos ext4, desde o byte 0
A imagem crua é o disco copiado byte a byte, sem cabeçalho; num disco inteiro, o sistema de arquivos começa onde a partição começa (aqui, no setor 2048), e numa partição só ele começa no byte 0.

Ferramentas para abrir sem montar, todas só leem:

mmls disco.img                     partições e onde começam (em setores)
fsstat -o 2048 disco.img           informações do sistema de arquivos que começa no setor 2048
fls -r -p imagem.raw               lista tudo, com caminho; apagados aparecem com *
icat imagem.raw 2889 > arquivo     conteúdo do inode 2889
debugfs -c -R 'ls -l /etc' imagem.raw    o mesmo para ext2/3/4 (pacote e2fsprogs)

fls, icat, mmls e fsstat são do The Sleuth Kit, que também tem uma interface gráfica, o Autopsy. Em Python, a biblioteca pytsk3 dá acesso ao mesmo motor. Para montar no Linux, sempre só leitura: sudo mount -o ro,loop,noload imagem.raw /mnt/x. O noload impede que o kernel "conserte" o journal de uma cópia feita com a máquina ligada, o que alteraria a evidência.

Com o sistema de arquivos aberto, a investigação segue pelos rastros: datas de modificação dos arquivos (a linha do tempo), logs em /var/log, serviços em /etc/systemd/system, diretórios com nome começando por ponto e entradas apagadas.

Aparece nestes desafios