terça-feira, 25 de agosto de 2015

Data Recovery em Dispositivos e Partições Formatadas com Linux

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.

Aplicações Forense 

Foremost

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.
#fdisk -l

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:
# mkdir /root/data-backup

Agora vamos relizar a varredura:
# foremost  -t all -v -i /dev/sdc1 -o /root/data-backup





O foremost irá realizar a varredura em todos os headers das tabelas do dispositivo e cria 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.

# vi /etc/scalpel/scalpel.conf 

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.

# fdisk -l



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!!

# mkdir recuperados

# scalpel /dev/sdb -o recuperados 

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.





:)

SOBRE O AUTOR

Matheus Fidelis

http://msfidelis.github.io/

Power Ranger, Piloto de Helicópteros e Astronauta da NASA. Desenvolvedor Web PHP com foco em Backend e POO, Linux SysAdmin DevOps e Entusiasta Python. Criou esse site pra contribuir com a comunidade com coisas que aprende dentro de um setor maluco de TI :)

1 comentários:

 
Nanoshots | Open Source Security, Linux e Tutoriais © 2015 - Designed by Templateism.com