Queira o Sr. Perito explicar como recuperar arquivos a partir de DUMPs de memória com Data Carving

No curso de uma investigação digital são comumente analisadas cópias Bit Stream (imagens forenses) de discos rígidos de computadores, arquivos de emails exportados a partir de servidores corporativos, arquivos deletados recuperados de áreas disponíveis em dispositivos de armazenamento, registros de internet, logs, entre outras informações importantes para constatação de fatos. Entretanto, computadores armazenam muitas outras informações importantes. Algumas vezes o sistema operacional se comporta como um buraco negro,  gravando toda natureza de dados nos discos que permanecem nele por muito tempo e raramente são reutilizados. Isso faz com que a identificação de dados e sua análise pareça não ter fim.

Nos artigos anteriores publicados aqui no QPerito, tratamos sobre alguns rastros guardados pelo sistema Windows (parte 1 e parte 2). Neles apresentamos artefatos importantes de serem observados em uma investigação. Este artigo, por sua vez, pode ser considerado um complemento dessas análises, pois nele trataremos sobre outros locais que podem ser explorados em uma investigação, bem como estratégias importantes a serem consideradas para recuperação de dados e informação baseadas na técnica Data Carving.

Conceitos

Data Carving consiste em um algoritmo que realiza a busca por assinatura de arquivos em determinado conjunto de dados. Quando o algoritmo encontra uma assinatura que ele reconhece, ele reserva o intervalo entre o que considera ser o início e o fim do arquivo, recuperando-o. Para maiores detalhes sobre essa técnica visite o link a seguir: http://www.sans.org/reading-room/whitepapers/forensics/data-carving-concepts-32969

Locais importantes para executar a técnica de Data Carving são os DUMPs de memória, DUMPs rede, áreas não alocadas do disco (áreas livres) e arquivos de SWAP(paginação) e Hibernação. Contudo, não devemos nos limitar a estas fontes, pois como já falamos, os sistemas operacionais tendem a guardar a mais rica variedade de informações nos mais diversos e inusitados lugares. Portanto, devemos considerarmos executar o Data Carving  em qualquer lugar onde possa haver uma assinatura de arquivo.

Vale destacar que neste artigo não serão contemplados os DUMPs de rede, uma vez que esse tema valeria um artigo completo e específico.

Utilizando a técnica de Data Carving é possível obter dados e informações que o usuário não imagina que possam ser recuperados, como informações em nuvem, arquivos temporários de navegação, textos de e-mails e instante message, dados transmitidos pela rede, etc.

Para conduzir os procedimentos deste artigo será necessário um sistema operacional Linux (ou uma plataforma de emulação como o Cygwin) e um sistema operacional Microsoft Windows para ser utilizado como evidência. As ferramentas utilizadas ao longo do artigo podem ser obtidas nos links a seguir:

FTK Imagerhttp://www.accessdata.com/support/product-downloads/ftk-download-page

Foremost – Alguns sistemas operacionais Linux já possuem o Foremost incluso, se a sua distribuição não possuir faça o download da ferramenta no link: www.foremost.sourceforge.net/pkg/foremost-1.5.7.tar.gz.

O que você irá aprender com esse artigo:

  • Como criar um DUMP de memória do sistema operacional utilizando o FTK Imager;
  • Como encontrar e exportar os arquivos de SWAP e Hibernação do sistema operacional Microsoft Windows usando o FTK Imager;
  • Como usar o Foremost para executar a técnica de Data Carving.

O que é um DUMP de memória, arquivo de SWAP e Hibernação?

DUMP é um arquivo de despejo contendo todos os dados presentes em um determinado momento em uma memória física do computador.

Área de SWAP (ou arquivo) é um local do disco que o sistema operacional utiliza como área de troca. Neste local são armazenados dados que estavam na memória física do computador em algum momento, mas foram arbitrariamente armazenado no disco para otimização do uso da memória RAM. Em ambientes Windows essa área é chamada de Pagefile.

A diferença entre o DUMP de memória e o arquivo de SWAP é que, com o DUMP, podemos obter dados recentes que foram gerados pelo usuário ou pelo sistema e com o arquivo de swap podemos obter tanto dados recentes, quanto antigos gerados pelo usuário ou sistema operacional.

No arquivo de Hibernação há dados que estavam na memória RAM quando o computador entrou em modo de hibernação. Similar às informações presentes no DUMP e no arquivo de SWAP, porém, neste local elas costumam estar completas.

Parte 01 – Extraindo os arquivos do sistema operacional

Para criar um DUMP de memória do sistema operacional e extrair os arquivos de SWAP e Hibernação utilizaremos o próprio sistema operacional da evidência. Lembre-se que na maioria das investigações é altamente recomendável realizar exames em cópias forenses. Faremos a execução na própria evidência apenas para fins de demonstração.

Abra o programa FTK Imager, em seguida, clique no botão “Capture Memory” como mostra a  figura a seguir:

Na próxima janela, escolha o diretório para armazenar os arquivos extraídos. Marque a opção “Include pagefile” e clique no botão “Capture Memory”.

Aguarde o processo finalizar.

Ao final, verifique que no diretório escolhido para gravar a saída do procedimento foram criados dois arquivos, tais como apresentados a seguir:

Agora, vamos extrair o arquivo de Hibernação do sistema operacional. Para isso, abra o disco físico no FTK conforme mostrado na figura a seguir:


Selecione o disco onde o sistema operacional está instalado e procure pelo arquivo denominado “hiberfil.sys”, no diretório raiz do sistema.

Clique com o botão direito no arquivo “hiberfil.sys” e, em seguida, escolha a opção “Export Files”.

Escolha o mesmo diretório onde foram extraídos os arquivos anteriores e  aguarde o processo finalizar.

Parte 2 – Executando a técnica de Data Carving

Para conduzir o próximo procedimento é necessário utilizar o sistema operacional Linux com a ferramenta Foremost instalada, copiar os arquivos extraídos para o sistema Linux e seguir os seguintes passos:

Abra o terminal de comandos e acesse o diretório onde estão armazenados os arquivos extraídos (hiberfil.sys, DUMP de memória e SWAP):

Para ver as opções do Foremost, execute o comando “foremost –h”:

Para o nosso objetivo, vamos utilizar o comando “foremost –o PastaDestino ArquivoOrigem” em cada dos arquivo onde desejamos executar o procedimento de varredura por assinaturas de arquivos. Assim podemos separar os resultados em uma pasta para cada fonte.

foremost –o swapfile pagefile.sys

foremost –o memory memdump.mem

foremost –o hibernating hiberfil.sys

Após o término do processamento dos arquivos, para cada pasta que escolhemos, teremos os arquivos recuperados separados por extensão, conforme mostrado na figura a seguir:

Boa diversão! O arquivo “audit.txt” contém detalhes de tudo o que foi recuperado. Para complementar o exame desses arquivos, pode-se realizar pesquisas por palavras chave, submetendo a pasta inteira resultante do Foremost no Encase, DtSearch ou similar.

2 comentários sobre “Queira o Sr. Perito explicar como recuperar arquivos a partir de DUMPs de memória com Data Carving

  1. Olá colegas.
    Muito bom o artigo.
    No entanto, preciso que me esclareçam alguns pontos que não entendi muito bem. Pelo que sei o dump de memória só pode ser feito com o pc alvo ligado. O que seria impossível em caso de análise post mortem numa imagem bit a bit, por isso vocês demostraram num pc ligado, correto? Porém, nos arquivos do Swap é possível a análise tanto post mortem quanto live, correto?

    • Correto Marcos,

      No dump nós coletamos os dados da memória com o PC ligado. No arquivo de swap temos a área de troca, onde podemos ter tanto dados recentes quanto dados antigos que estavam na memória física do computador.

      A estrutura do arquivo de swap e do arquivo de dump da memória física é basicamente a mesma.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s