Mostrando postagens com marcador sleuthkit. Mostrar todas as postagens
Mostrando postagens com marcador sleuthkit. Mostrar todas as postagens

Extraindo a MFT de uma Imagem Forense

Opa, e aí galera

Tudo bem?
Hoje, nós vamos falar sobre como extrair a MFT de uma imagem forense. Obviamente que a MFT é um recurso do Windows. Então, nesse post aqui, nós estaremos analisando uma imagem forense do windows.

1) Introdução
Mas qual a importância da MFT para a análise forense de uma imagem? A MFT é o principal arquivo no NTFS. Nela estão armazenadas referências de todos os arquivos e diretórios do sistema operacional. A MFT armazena os timestamps de cada arquivo, o tamanho, o dono dos arquivos/diretórios, permissões de segurança do arquivo/diretório, etc.
Todas essas informações são armazenadas no que chamamos de MFT Entry.
Cada arquivo/diretório possui uma mft entry (entrada mft). Essa entrada mft (mft entry) é como se fosse um ponteiro, similar ao inode no mundo UNIX.
Portanto, a mft entry contém informações (metadados) sobre o arquivo ao qual ela aponta.

Normalmente, cada entrada mft (mft entry) possui 1024 KB de tamanho. Se olharmos cada entrada mft em um editor hexadecimal, vamos ver que ela começa com a string "file0" ou "file", seguida de informações específicas.
As primeiras 16 entradas da MFT são reservadas para arquivos do NTFS, por exemplo, $BitMap e $Log.

Para o NTFS, tudo é arquivo, inclusive a MFT (que contém informações sobre os arquivos). Portanto, a MFT possui uma entrada pra ela mesma. Este é o primeiro arquivo de toda MFT: uma entrada pra ela mesma, que é representada por $MFT (mft entry 0). O segundo arquivo da MFT é o arquivo $MFTMirr (mft entry 1). O objetivo de existir o $MFTMirr é se ocorrer algum tipo de problema com as primeiras entradas reservadas da mft, eu tenho o $MFTMirr. Ou seja: o $MFTMirr é um backup das 16 entradas reservadas da MFT.

2) Extraindo a MFT de uma Imagem Forense
Eu já vou partir do pressuposto de que vocês já tenham uma imagem forense de um Windows qualquer. E aí, como eu faço para extrair a MFT da imagem forense? Resposta: eu vou mostrar 2 maneiras de extrair a MFT de uma imagem forense:
  1. usando o FTK Imager
  2. usando ferramentas do sleuthkit
2.1) Extraindo com o FTK Imager
Uma maneira simples de se extrair a MFT de uma imagem forense é usar a ferramenta FTK Imager. A figura a seguir mostra um exemplo:

Depois de exportar a MFT, eu vou gerar um arquivo dela. Assim, eu posso escolher qualquer ferramenta que faça o parsing da MFT e analisá-la.
Muito simples, né? :)

2.2) Extraindo a MFT com o Sleuthkit
Uma outra forma de extrair a MFT é fazendo uso do sleuthkit.
Cabe ressaltar que o arquivo $MFT ocupa a primeira posição (posição 0) na MFT. Como eu sei disso? Basta digitar o comando fls "imagem". Assim, a linha de comando é: fls image.001

Neste exemplo, a minha imagem forense se chama image.001.
O utilitário fls lista os arquivos e os diretórios de uma imagem forense.
OBS: a imagem não está montada, por isso eu usei o fls. Se ela estivesse montada, eu poderia usar o comando ls com os parâmetros -lhi.

Depois de usar o utilitário fls, eu vou usar o utilitário icat. O icat serve para copiar um determinado arquivo da imagem forense, tendo como base um determinado inode/mft entry. Isso significa que temos que passar um endereço (número do inode/mft entry) correspondente ao arquivo que queremos copiar da imagem forense.
No nosso exemplo, eu vou copiar a MFT da imagem forense. Como o inode da MFT é 0 (zero), eu vou passar esse endereço na linha de comando do icat.
Portanto, a linha de comando do icat fica assim:
icat -i raw -f ntfs image.001 0 > MFT.raw

Que parâmetros são esses?
É simples. O parâmetro -i indica que a imagem original de onde vamos extrair a mft é uma imagem forense do tipo/formato raw. O parâmetro -f indica que o sistema de arquivos da imagem forense é NTFS. E esse parâmetro 0 (zero), como já dissemos anteriormente, é o endereço da entrada mft da própria mft. No caso, a mft possui como entrada o endereço 0 (zero). Ou seja, a mft entry da própria mft é 0 (zero).

OBS: Existem outras ferramentas que fazem esse trabalho de extrair a MFT de uma imagem forense. Como exemplo, vocês podem ver aqui.

Pronto, agora extraímos a MFT da imagem forense. Qual o próximo passo? É analisar a mft extraída.
Mas isso fica para os próximos capítulos. :)

Bom, é isso galera
Espero que seja útil para o estudo e trabalho de vocês
Um abraço!




Referências:
http://sysforensics.org/2012/01/sift-workstation-video-4-extracting-mft-using-mmls-icat-and-log2timeline/
https://whereismydata.wordpress.com/2009/06/05/forensics-what-is-the-mft/
https://whereismydata.wordpress.com/2008/08/22/file-system-mft-entries-basic/
http://www.cse.scu.edu/~tschwarz/coen252_07Fall/Lectures/NTFS.html
http://grayscale-research.org/new/pdfs/NTFS%20forensics.pdf
https://en.wikipedia.org/wiki/NTFS

Trabalhando com Autopsy

Opa, e aí galera.

Tudo bem?
Semana passada, nós mostramos como instalar o sleuthkit e autopsy no debian.
Muito bem. Agora, nós vamos ver como trabalhar com o autopsy, adicionando uma imagem e analisando essa imagem forense.

O que é o autopsy?
É uma interface gráfica para as ferramentas em linhas de comando do sleuthkit. O propósito do autopsy é analisar um file system de uma imagem forense.

Neste post, estaremos usando a distribuição SIFT (SANS Investigative Forensic Toolkit).
É uma distribuição voltada para forense computacional, que possui várias ferramentas com este propósito. A SIFT é baseada no Ubuntu. No entanto, podemos usar outras distribuições como a BackTrack (Kali), Caine, DEFT, etc.
Nós vamos analisar uma imagem física do Windows Vista
OBS: no fim deste post existe um link de referência. Nesta referência, a análise foi feita usando uma imagem lógica de uma partição do Windows

Para iniciar o autopsy, digite: autopsy.
Depois, selecione com o mouse o link que a ferramenta irá te passar, clique com o botão direito do mouse e escolha a opção: Open Link


Seção 1 - Criando um novo Caso no Autopsy                                                                                 
1.1) Criando um novo caso:
     1.1.1) Clique no botão: New Case











1.2) Criando um novo caso:
     1.2.1) Case Name: Analisando-Windows
     1.2.2) Description: Procurando arquivos deletados
     1.2.3) Investigator Names: aqui vai o seu nome. No meu caso, vou colocar Anderson
     1.2.4) Clique no botão: New Case












1.3) Adicionando Host
     1.3.1) Clique no botão: Add Host











1.4) Adicionando Host
     1.4.1) Host Name: host1
     1.4.2) Clique no botão: Add Host











1.5) Adicionando Imagem
     1.5.1) Clique no botão: Add Image











1.6) Adicionando Imagem
     1.6.1) Neste momento, vou informar o diretório onde a imagem está armazenada: ls $PWD/vis*
     1.6.2) Selecione com o mouse e copie o path completo da imagem










1.7) Adicionando Imagem
     1.7.1) Clique no botão: Add Image File











1.8) Adicionando Imagem
     1.8.1) Cole o path completo da imagem
     1.8.2) Type: no meu caso, eu vou escolher a opção Partition
     1.8.3) Import Method: no meu caso, eu vou escolher a opção Symlink
     1.8.4) Clique no botão: Next











1.9) Adicionando Imagem
     1.9.1) Na opção Data Integrity, seleciona a opção: Ignore...
     1.9.2) Clique no botão: Add











1.10) Adicionando Imagem
     1.10.1) Clique no botão: Ok











1.11) Calculando a integridade da imagem com o algoritmo MD5
     1.11.1) Clique no botão: Image Integrity



1.12) Calculando a integridade da imagem com o algoritmo MD5
     1.12.1) Clique no botão: Calculate











1.13) Visualizando o Check Sum MD5
     1.13.1) O resultado será mostrado logo abaixo.
     1.13.2) Clique no botão: Close















Referência: http://computersecuritystudent.com/FORENSICS/AUTOPSY/lesson1/


Existem alguns vídeos no youtube que mostram uma versão mais recente do autopsy, versão esta que roda somente em Windows.
Os links para os vídeos são:
- vídeo 1: https://www.youtube.com/watch?v=J1vhU0ZJNCs
- vídeo 2: https://www.youtube.com/watch?v=DlZTYBuvkZY
- vídeo 3: https://www.youtube.com/watch?v=_NSEufvkZIs
- vídeo 4: https://www.youtube.com/watch?v=e5O-d5M90EI

Instalando Sleuthkit e Autopsy no Debian 7

Opa, e aí galera

Tudo bem?
Eu recebi alguns emails me perguntando como instalar a suíte sleuthkit no debian. De antemão, podemos instalar o sleuthkit com a ferramenta automatizada do debian: apt-get install sleuthkit.
Porém, com este procedimento, não iremos instalar a útlima versão da ferramenta. Ou seja, não estaremos instalando a versão mais atualizada.

Por isso, eu vou mostrar neste post como instalar o sleuthkit a partir do código fonte. Assim, estaremos instalando a versão mais atual da ferramenta.

Pra este post, eu instalei o debian 7. Depois de instalado, atualizei o sistema com os comandos "apt-get install update ; apt-get install upgrade".
Depois disso, digitei o comando: apt-get install build-essential


Depois, eu descompactei o sleuthkit que baixei do próprio site da ferramenta. Durante este post, a versão mais atual e estável da ferramenta é a versão 4.0.1. Muito bem, é esta a versão que vou instalar no meu sistema. Para descompactar, eu usei o comando: tar -xzvf sleuthkit-4.1.0.tar.gz


O comando anterior vai gerar um diretório chamado sleuthkit-4.0.1. O próximo passo é entrar neste diretório e aí começar a compilar a ferramenta.


Pronto, agora podemos iniciar o processo de compilação do sleuthkit. Eu volto a falar que escolhi compilar a ferramenta porque assim estarei instalando no meu sistema operacional (Debian 7) a versão mais atualizada. Fazendo uso do comando apt-get install sleuthkit, eu também estarei instalando a ferramente, mas não é a versão mais atual. Beleza?
Então, neste momento, eu digitei o comando: ./configure


Depois disso, digitei o comando: make


O comando anterior leva alguns minutos para ser executado por completo. Depois do comando make ter terminado, o último comando a ser digitado é: make install


Pronto!
A ferramenta foi instalada e já está pronta para ser usada.
Para testar a ferramenta, podemos usar um dos seus comandos e ver qual q versão está instalada no sistema. Conforme a próxima figura, podemos ver que a versão instalada é a 4.0.1


Agora que o sleuthkit está instalado, podemos instalar também o Autopsy que é um front-end para o sleuthkit. Só que esta ferramenta é em HTML. É uma ferramenta bem bacana de se usar.
No momento que estou escrevendo este post, a versão atual para linux é a 2.24. A versão 3 só tem pra Windows.

Vamos fazer o download do Autopsy lá do site. Podemos notar que o arquivo possui extensão .tar.gz: autopsy-2.24.tar.gz.
Eu vou descompactar o arquivo com o comando: tar -xzvf autopsy-2.24.tar.gz


O próximo passo agora é entrar no diretório que foi criado.


Agora, nós vamos criar um diretório onde a ferramenta salva arquivos de configuração, logs, etc. Este diretório é o Evidence Locker.


Agora, iremos digitar o comando: ./configure.
A ferramenta vai nos pedir se queremos usar a biblioteca NSRL (National Software Reference Library) do NIST. Na imagem a seguir, nós vamos escolher a opção "n", que significa que não vamos usá-la.


Neste momento a ferramenta nos pergunta qual o diretório do Evidence Locker. No meu caso, estou indicando que este diretório é: /home/anderson/Evidence_Locker


Pronto, agora a ferramenta foi instalada com exito.
Vamos iniciar o autopsy digitando na linha de comando: ./autopsy


Como eu disse que o autopsy é em HTML, vamos abrir algum browser e digitar no campo de endereço de URL: http://localhost:9999/autopsy


Pronto, podemos acessar a ferramenta, adicionar um caso e partir para a análise.

Bom, é isso, galera
Espero que este post possa ser útil para quem precisar instalar estas 2 ferramentas no seu sistema.
Existe um outro post em um outro blog que mostra exatamente estes mesmos passos que eu mostrei aqui: http://shankaraman.wordpress.com/2012/11/16/how-to-install-autopsy-and-sleuthkit-in-ubuntu/

Um abração e até a próxima!