Recuperação de dados de HD's, mídias removíveis e partições corrompidas e formatadas com ferramentas Forense no Linux.
Neste artigo estarei realizando exemplos práticos de recuperação de dados que podem ser aplicados em HD's, Pendrives, Cartões SD e até partições corrompidas e formatadas, e nela estarei utilizando duas aplicações forense. Nos exemplos estarei utilizando a distribuição Kali Linux, mas eles poderão ser reproduzidos em qualquer ambiente.
O Foremost é um programa para recuperação de dados que trabalha a partir dos headers, rodapés e locações nas tabelas de armazenamento internas das midias. Ele é utilizado para extração e mineração de dados, mais processo mais conhecido como Data Carving. Além de vasculhar as tabelas FAT, NTFS, ele pode vascular filesystens como ext3, ext4 e etc, além de conseguir fazer a mineração diretamente em imagens geradas pelo dd.
Scapel
O Scapel assim como o foremost é utilizado para mineração de dados, e pode ser utilizado tanto para análise forense quanto pra recuperação de arquivos. Ele lê bancos de dados de cabeçalhos e é capaz de fazer a extração
Utilizando o Foremost
Vamos utilizar o foremost para fazer a recuperação de dados em um pendrive que foi formatado, fazendo com que ele perdesse grande quantidade de informações armazenadas.
Primeiro vamos identificar o dispositivo de mídia inserido.
Aplicações Forense
Foremost
Scapel
O Scapel assim como o foremost é utilizado para mineração de dados, e pode ser utilizado tanto para análise forense quanto pra recuperação de arquivos. Ele lê bancos de dados de cabeçalhos e é capaz de fazer a extração
Utilizando o Foremost
Vamos utilizar o foremost para fazer a recuperação de dados em um pendrive que foi formatado, fazendo com que ele perdesse grande quantidade de informações armazenadas.
Primeiro vamos identificar o dispositivo de mídia inserido.
No caso a mídia removível que eu quero realizar a mineração de dados é a /dev/sdc1. Então vamos criar um diretório para subir o backup dos arquivos resgatados. Lembrando é bom analisar bem a partição ou mídia que você está tentando resgatar.
A sintaxe é simples:
foremost -t TIPOS -v -i /CAMINHODODISPOSITIVO/ -o /DIRETÓRIO/OUTPUT
Vamos testar:
Vamos criar o diretório Output:
Agora vamos relizar a varredura:
O foremost irá realizar a varredura em todos os headers das tabelas do dispositivo e criar pastas no diretório de output armazenando elas por tipo.
Vamos entender melhor o que a gente fez?
# foremost -t all -v -i /dev/sdc1 -o /root/data-backup
-t é o parâmetro que usamos para identificar as extensões dos arquivos que queremos recuperar. No exemplo eu usei o parâmetro all para recuperar todas as extensões existentes, mas da pra gente ser mais específico utilizando foremost -t jpg,pdf e etc.
-v é o parâmetro que utilizamos para ativar o modo verbose, para o programa jogar as informações na tela enquanto roda.
-i é o dispositivo de orígem, ou seja, o dispositivo ou partição que iremos recuperar
-o especifica o diretório output da pesquisa, onde o foremost irá jogar todo o resultado.
Utilizando o Scalpel
O Scalpel, assim como o Foremost pode fazer uma checagem completa na partição ou dispositivo e recuperar bastante coisa. Diferente do foremost, você deverá identificar as extenções dos arquivos a serem recuperados dentro do arquivo de configuração do Scalpel, o /etc/scalpel/scalpel.conf. Normalmente todas as extensões vem comentadas, então será necessário acessar o arquivo e descomentar sempre que for realizar o data minning.
Para o exemplo eu vou descomentar as linhas referentes as imagens GIF, JPG, PNG e BPM para o testes.
Feito isso, vamos verificar em qual partição ou dispositivo iremos realizar a mineração de dados.
A unidade que eu vou efetuar a análise é a /dev/sdb, um pendrive que eu tenho aqui formatado em NTFS.
Vamos efetuar os testes, Hands On!!
O Scalpel irá fazer toda a verredura das tabelas procurando endereços em hexadecimal parecido com o das extensões que você atribuiu e irá jogar tudo no diretório "recuperados" que criamos anteriormente.
Após o termino, ele vai salvar todo o output na pasta que você atribuiu como o output separados por extensão.
Vamos entender melhor o que a gente fez?
# foremost -t all -v -i /dev/sdc1 -o /root/data-backup
-t é o parâmetro que usamos para identificar as extensões dos arquivos que queremos recuperar. No exemplo eu usei o parâmetro all para recuperar todas as extensões existentes, mas da pra gente ser mais específico utilizando foremost -t jpg,pdf e etc.
-v é o parâmetro que utilizamos para ativar o modo verbose, para o programa jogar as informações na tela enquanto roda.
-i é o dispositivo de orígem, ou seja, o dispositivo ou partição que iremos recuperar
-o especifica o diretório output da pesquisa, onde o foremost irá jogar todo o resultado.
Utilizando o Scalpel
O Scalpel, assim como o Foremost pode fazer uma checagem completa na partição ou dispositivo e recuperar bastante coisa. Diferente do foremost, você deverá identificar as extenções dos arquivos a serem recuperados dentro do arquivo de configuração do Scalpel, o /etc/scalpel/scalpel.conf. Normalmente todas as extensões vem comentadas, então será necessário acessar o arquivo e descomentar sempre que for realizar o data minning.
Para o exemplo eu vou descomentar as linhas referentes as imagens GIF, JPG, PNG e BPM para o testes.
Feito isso, vamos verificar em qual partição ou dispositivo iremos realizar a mineração de dados.
A unidade que eu vou efetuar a análise é a /dev/sdb, um pendrive que eu tenho aqui formatado em NTFS.
Vamos efetuar os testes, Hands On!!
O Scalpel irá fazer toda a verredura das tabelas procurando endereços em hexadecimal parecido com o das extensões que você atribuiu e irá jogar tudo no diretório "recuperados" que criamos anteriormente.
Após o termino, ele vai salvar todo o output na pasta que você atribuiu como o output separados por extensão.