sábado, 23 de fevereiro de 2008

Imagens Forenses VI

A Promessa do PyFlag

Em um dos artigos sobre imagens forenses, eu comentei sobre como poderíamos montar imagens raw (.dd) divididas em pedaços menores. Por exemplo, você pode manter 5 arquivos de 2Gb (imagem.dd1, imagem.dd2 e por aí vai) ao invés de um único arquivo de 10Gb (imagem.dd). Isso facilita nos backups para DVDs (imagens costumam ser muito grandes) e é fundamental quando estamos lidando com o sistema de arquivos FAT, que não suporta arquivos com mais de 2Gb.

O método mais conhecido é remontar as partes antes do uso. O comando cat pode fazê-lo:
# cat imagem.dd* > imgcompleta.dd

O problema é que esse comando demora para finalizar e requer no mínimo o mesmo tamanho do arquivo inteiro como espaço livre no HD.

Quem deu alguma esperança nesse assunto foi a turma que desenvolveu o pyFLAG. Esse pacote, desenvolvido inicialmente pela Polícia Australiana, internamente aceita imagens de vários formatos, incluindo imagens split raw e imagens no formato Expert Witness (.E01).

Nas suas versões mais novas, o pyFLAG passou a disponibilizar utilitários que conseguem montar as imagens e deixá-las acessíveis. Dessa forma, tendo o pyFLAG instalado, aumentamos as nossas possilibidades, já que podemos montar vários tipos através desses utilitários. De acordo com a documentação, fazemos:

# pyflag_launch /utilities/fuse_loopback_subsystem.py /mounting/point -i -filename

Para montar uma imagem ewf de nome imagem.E01 no mounting point /mnt:

# pyflag_launch /pyflaginst/utilities/ fuse_loopback_subsystem.py /mnt -i ewf -filename imagem.E01

Para montar a primeira partição de uma imagem raw física que está particionada em vários arquivos (imagem.dd1, imagem.dd2, imagem.dd3, ...). Supondo que a imagem começa no setor 63, o comando fica:

# pyflag_launch /pyflaginst/utilities/ fuse_loopback_subsystem.py /mnt -i advanced -filename imagem.dd* -offset 63s

Em todos os casos, logo após comando acima, você achará um arquivo chamado mountme em /mnt. Esse arquivo poderá ser montado normalmente como uma imagem raw, via loopback:

# mount -o ro,loop mountme /outro/mounting/point

A má notícia ...

Nem tudo são flores, não é mesmo ? A má notícia dessa técnica é que a versão do pyFlag instalada no Helix 1.9a é a 0.80, bastante antiga e não tem as funcionalidades comentadas acima. A versão atual do pyFLAG é a 0.86RC1, lançada em 31 de janeiro de 2008.

O FCCU 12 infelizmente não veio com o pyFLAG.

O FDTK, um live CD Forense lançado recentemente como trabalho de fim de curso por dois estudantes brasileiros, vem com a versão 0.84 do pyFLAG; eu fiz os testes desse utilitário lá e ele não rodou como esperado.

A esperança é que conversei no Forum do Helix com o Drew Farrey, o responsável pela compilação do Helix, e ele me garantiu que o Helix 2.0 está no forno e vai vir arrebentando com tudo, inclusive com a versão mais nova do pyFlag. Também pretendo conversar com os criadores do FDTK para ver o que está dando errado com o pyFlag.

Enquanto isso, nada de imagens raw splitted ou montagem do ewf ... Ou alguém tem a solução para esses problemas ? Compartilhe conosco nos comentários !

Até o próximo post !

Nenhum comentário: