forense

Recuperar arquivos excluídos com Sleuthkit

No artigo anterior vimos alguns recursos do Sleuthkit em dose “homeopática”. Vamos fazendo isso gradativamente para facilitar o entendimento.

Nesse artigo vamos ver como recuperar arquivos excluídos, um procedimento comum na perícia forense digital.

Arquivos excluídos são recuperáveis…

…até certo ponto. Quando um arquivo é excluído, o sistema de arquivos simplesmente libera as regiões da mídia de armazenamento para uma nova escrita e a partir do momento em que os clusters são abertos, os metadados do sistema de arquivos relacionados são eliminados. Se até o momento da recuperação esses setores não tiverem sido reescritos, o arquivo estará íntegro e poderá ser completamente recuperado. De outro modo, ainda pode ser possível recuperar fragmentos do arquivo, ainda podendo ser útil para a perícia. Esse último método é chamado de “data carving” e veremos a respeito em outro artigo.

Preparando o ambiente para testes

Para instalar os pacotes necessários, sugiro que leia o artigo anterior. Qualquer Linux baseado em Debian (incluindo ele próprio) deverá conter os respectivos pacotes no repositório da distribuição.

Além disso, devemos criar um sistema de arquivos para fazermos nossas experiências. Para tal, proceda com os seguintes passos:

Tenha acesso de root

Precisaremos executar comandos que não estão disponíveis para o usuário comum, portanto execute:

Entre com a senha de usuário (o mesmo usuário que você usa para fazer suas tarefas) e então siga para o próximo passo.

Midia a ser analisada

Na perícia, não se manipula diretamente a evidência; o que se faz é um dump do sistemas de arquivos da mídia de armazenamento e nessa cópia bruta que se faz a perícia. Pra ser mais rápido, eu vou fazer o processo diretamente no cartão SD, mas jamais em hipótese alguma isso deve ser feito quando se tratar de uma perícia.

Meu cartão de memória está formatado como FAT32, não quis mexer para trocar o sistema de arquivos e isso deve ser o suficiente para mostrar o processo.

Offset da partição

O primeiro passo é pegar o offset da partição, que pode ser feito com o comando mmls, que faz parte do pacote Sleuthkit. Meu cartão SD está conectado via USB, portanto aparece no sistema como um dispositivo sdb. Executei então o comando:

Esse comando deve retornar algo como:

recuperar arquivos excluídos

O offset da partição nesse caso é 2048. Vamos observar agora o sistema de arquivos.

recuperar arquivos excluídos

Não tem muitas informações relevantes porque o cartão realmente não era utilizado para nada importante. Aliás, não faço ideia do que tinha no sistema de arquivos ou se algo foi deletado dele. Um arquivo alocado eu tenho certeza que ele tem porque eu vi, mas não sei se tem arquivo apagado. Vamos ver:

recuperar arquivos excluídos

Puxa, que pena. Só tem o arquivo alocado. Vou colocar um outro arquivo nele e apagar o config.txt. Vou copiar um arquivo chamado cogumelo.jpg para lá. Vamos ver agora a saída do comando fls /dev/sdb1:

recuperar arquivos excluídos

Ah, agora sim. Podemos ver que tem um arquivo desalocado e um alocado. O arquivo alvo é o desalocado, o config.txt recém excluído. Como ele foi excluído e a mídia não foi utilizada para mais nada, podemos confiar na integridade do arquivo.

Recuperar arquivos excluídos

Lembra do offset mais acima? Vamos utilizá-lo agora. Perceba que o arquivo que queremos está no inode 4, então devemos executar o comando:

Ou seja, passamos o offset, o dispositivo (que deveria ser o arquivo de dump, mas em nenhum caso a partição) e direcionamos a saída para um arquivo com o mesmo nome (para ficar mais objetivo, mas o nome poderia ser qualquer um, em não se tratando de perícia).

Depois, fiz um “cat” no arquivo gerado pra ver se o conteúdo estava lá:

recuperar arquivos excluídos

Esse é o caso de recuperar um arquivo específico. Mas já imaginou ter que fazer isso em milhares de arquivos? Bem, veremos mais a respeito em um próximo artigo. E sim, esse comando serve para qualquer tipo de arquivo; imagem, executáveis e tudo o mais.

Siga-nos no Do bit Ao Byte no Facebook.

Prefere twitter? @DobitAoByte.

Inscreva-se no nosso canal Do bit Ao Byte Brasil no YouTube.

Nossos grupos:

Arduino BR

https://www.facebook.com/groups/microcontroladorarduinobr/
Raspberry Pi BR

https://www.facebook.com/groups/raspberrybr/
Orange Pi BR

https://www.facebook.com/groups/OrangePiBR/
Odroid BR

https://www.facebook.com/groups/odroidBR/
Sistemas Embarcados BR

https://www.facebook.com/groups/SistemasEmbarcadosBR/

Sistemas Eletrônicos

https://www.facebook.com/groups/544679592355388/

Projetos Arduino | Eletrônica

https://www.facebook.com/groups/projetosarduinoeletronica/

ESP8266 e ESP32

https://www.facebook.com/groups/ESP8266BR/

ARM Brasil

https://www.facebook.com/groups/508153815944410/

MIPS BR

https://www.facebook.com/groups/MIPSBR/
Do Bit ao Byte

https://www.facebook.com/groups/dobitaobyte/

Próximo post a caminho!