24
mar
Autor: Aderbal Botelho // Categoria:
SleuthKit
O SleuthKit (TSK) é uma coleção de ferramentas de linha de comando que permitem que você investigue o conteúdo de sistemas de arquivos.
Obtendo:
O pacote oficial com os fontes pode ser obtido em: http://www.sleuthkit.org/
Os pacotes compilados para o Debian/Ubuntu pode ser obtidos em:
Libtsk3
wget http://aderbal.pycontrole.com.br/forense/libtsk3-3_3.0.0-1_i386.deb
Sleuthkit
wget http://aderbal.pycontrole.com.br/forense/sleuthkit_3.0.0-1_i386.deb
Autopsy 2.20
wget http://aderbal.pycontrole.com.br/forense/autopsy-2.20.tar.bz2
Vamos lá…
Baixe os pacotes e instale-os:
dpkg -i libtsk3-3_3.0.0-1_i386.deb
dpkg -i sleuthkit_3.0.0-1_i386.deb
Copie e extraia autopsy-2.20.tar.bz2 para /usr/local
cp autopsy-2.20.tar.bz2 /usr/local/
cd /usr/local/
tar -jxvf autopsy-2.20.tar.bz2
cd autopsy-2.20/
sudo ./configure
aderbal@fenix:/usr/local/autopsy-2.20$ sudo ./configure
Autopsy Forensic Browser Installation
perl found: /usr/bin/perl (version 5.008008)
autopsy already exists, overwrite? (y/n):
y
Digite y e pressione enter;
A configuration file already exists, overwrite? (y/n):
y
Digite y e pressione enter;
—————————————————————
grep found: /bin/grep
file found: /usr/bin/file
md5 found: /usr/bin/md5sum
sha1 found: /usr/bin/sha1sum
—————————————————————
Searching for Sleuth Kit Installation.
Found in: /usr/bin/
Version 3.0.0 found
Required version found
—————————————————————
The NIST National Software Reference Library (NSRL) contains
hash values of known good and bad files.
http://www.nsrl.nist.gov
n
Caso tenha uma cópia da NSRL digite y e indique o caminho
Projeto Americano que promove a utilização das tecnologias em inquérito de crimes que envolvam computadores.
Caso não tenha digite n e continue a instalação.
—————————————————————
Autopsy saves configuration files, audit logs, and output to the
Evidence Locker directory.
Enter the directory that you want to use for the Evidence Locker:
/home
Indique o diretório onde o autopsy gravará os arquivos gerados pelas investigações.
Baixe o script autopsy.sh
wget http://aderbal.pycontrole.com.br/forense/autopsy.sh
E copie para /usr/local/bin/
Dê permisão para execução
chmod +x /usr/local/bin/autopsy.sh
Agora é ir para o abraço e rodar, sudo autopsy.sh
11
mar
Autor: Paulo Neukamp // Categoria:
Dicas
A ferramenta Pasco, foi concebida por Keith J. Jones em 2003, com o intuito de facilitar a manipulação de arquivos index.dat, que armazenam todas as atividades dos usuários na Internet. Sua função é converter os dados de entrada (hex) em um arquivo de texto delimitado, de modo que o investigador possa importar os resultados para uma planilha de sua escolha e poder analizá-los posteriormente.
Existem duas maneiras de executar a ferramenta Pasco:
Modo normal ou Modo de recuperação. O modo de recuperação ignora as informações da tabela hash e reconstrói qualquer registro de atividade válido em cada byte 0×80. Este modo pode recuperar atividades que não foram encontradas no modo normal.
Os parâmetros do comando Pasco são relativamente simples:
# ./pasco
Usage: pasco [options] <filename>
-d Undelete Activity Records
-t Field Delimiter (TAB by default)
O parâmetro "-d" aciona o modo recuperação.
O parâmetro "-t" irá permitir que o investigador mude o delimitador dos campos (o padrão é Ler mais…
07
jan
Autor: Paulo Neukamp // Categoria:
Dicas,
Scripts
Uma das primeiras ações do perito ao chegar no local da investigação é a coleta dos dados voláteis, pois os mesmos serão perdidos caso o equipamento seja desligado. Pensando nisso e numa forma de agilizar este processo que é composto de uma série de comandos, segue um script para amenizar este tarefa.
O script abaixo, necessita do pacote zenity para ser executado (# apt-get install zenity) e trabalha de forma interativa, sendo assim, leia com atenção o que lhe é solicitado para que o mesmo funcione corretamente.
#!/bin/bash
# Paulo Neukamp
## Tela de Aviso inicial
zenity --info --title "AVISO" --text " Este script deve ser usado somente quando você estiver realizando uma coleta de provas live e não reiniciou o equipamento (Preferencialmente tenha este script em uma PenDrive)"
## Tela solicitando em qual pasta os dados coletados devem ser salvos
destino=`zenity --entry --title "DESTINO DOS DADOS" --text " Informe a pasta na qual os dados coletados devem ser salvos" --entry-text "/home/fdtk/caso1" --width=200 --height=100`
## Tela solicitando o nome do caso a ser investigado
caso=`zenity --entry --title "NOME DO CASO" --text " Informe o nome do caso que está sendo investigado" --entry-text "Apropriação indevida de informações da empresa ZYX" --width=200 --height=100`
## Tela solicitando o número do caso investigado
cason=`zenity --entry --title "NUMERO DO CASO" --text " Informe um número para o caso que está sendo investigado" --entry-text "00099-12-2008" --width=200 --height=100`
## Tela solicitando o nome do perito em trabalho
perito=`zenity --entry --title "NOME DO PERITO" --text " Informe o nome do perito que esta gerando estar informações" --entry-text "Paulo Neukamp" --width=200 --height=100`
data=$(date)
echo " " >> $destino/dados-volateis.txt
echo " " >> $destino/dados-volateis.txt
echo "===============================================" >> $destino/dados-volateis.txt
echo " Relatório de evidências voláteis coletadas em modo Live!" >> $destino/dados-volateis.txt
echo "===============================================" >> $destino/dados-volateis.txt
echo " " >> $destino/dados-volateis.txt
echo "Perito: $perito" >> $destino/dados-volateis.txt
echo "Caso: $caso" >> $destino/dados-volateis.txt
echo "Número: $cason" >> $destino/dados-volateis.txt
echo "Data Início: $data" >> $destino/dados-volateis.txt
echo " " >> $destino/dados-volateis.txt
echo "===============================================" >> $destino/dados-volateis.txt
echo " Iniciando script de coleta dos dados volateis" >> $destino/dados-volateis.txt
echo "===============================================" >> $destino/dados-volateis.txt
echo " Data do sistema" >> $destino/dados-volateis.txt
echo "===============================================" >> $destino/dados-volateis.txt
echo >> $destino/dados-volateis.txt
date >> $destino/dados-volateis.txt
echo >> $destino/dados-volateis.txt
echo "===============================================" >> $destino/dados-volateis.txt
echo " Identificação do equipamento" >> $destino/dados-volateis.txt
echo "===============================================" >> $destino/dados-volateis.txt
echo >> $destino/dados-volateis.txt
hostid >> $destino/dados-volateis.txt
echo >> $destino/dados-volateis.txt
echo "===============================================" >> $destino/dados-volateis.txt
echo " Nome do Equipamento" >> $destino/dados-volateis.txt
echo "===============================================" >> $destino/dados-volateis.txt
echo >> $destino/dados-volateis.txt
hostname >> $destino/dados-volateis.txt
echo >> $destino/dados-volateis.txt
echo "===============================================" >> $destino/dados-volateis.txt
echo " Sistema operacioal" >> $destino/dados-volateis.txt
echo "===============================================" >> $destino/dados-volateis.txt
echo >> $destino/dados-volateis.txt
uname -a >> $destino/dados-volateis.txt
echo >> $destino/dados-volateis.txt
echo "===============================================" >> $destino/dados-volateis.txt
echo " Configurações do IP" >> $destino/dados-volateis.txt
echo "===============================================" >> $destino/dados-volateis.txt
echo >> $destino/dados-volateis.txt
ifconfig -a >> $destino/dados-volateis.txt
echo >> $destino/dados-volateis.txt
echo "===============================================" >> $destino/dados-volateis.txt
echo " Tempo de funcionamento" >> $destino/dados-volateis.txt
echo "===============================================" >> $destino/dados-volateis.txt
echo >> $destino/dados-volateis.txt
w >> $destino/dados-volateis.txt
echo >> $destino/dados-volateis.txt
echo "===============================================" >> $destino/dados-volateis.txt
echo " Quem esta logado no equipamento" >> $destino/dados-volateis.txt
echo "===============================================" >> $destino/dados-volateis.txt
echo >> $destino/dados-volateis.txt
who >> $destino/dados-volateis.txt
echo >> $destino/dados-volateis.txt
echo "===============================================" >> $destino/dados-volateis.txt
echo " Últimos Logins" >> $destino/dados-volateis.txt
echo "===============================================" >> $destino/dados-volateis.txt
echo >> $destino/dados-volateis.txt
last -a -i >> $destino/dados-volateis.txt
echo >> $destino/dados-volateis.txt
echo "===============================================" >> $destino/dados-volateis.txt
echo " Estado das conexões" >> $destino/dados-volateis.txt
echo "===============================================" >> $destino/dados-volateis.txt
echo >> $destino/dados-volateis.txt
netstat -an >> $destino/dados-volateis.txt
echo >> $destino/dados-volateis.txt
echo "===============================================" >> $destino/dados-volateis.txt
echo " Tabela de Roteamento" >> $destino/dados-volateis.txt
echo "===============================================" >> $destino/dados-volateis.txt
echo >> $destino/dados-volateis.txt
netstat -rn >> $destino/dados-volateis.txt
echo >> $destino/dados-volateis.txt
echo "===============================================" >> $destino/dados-volateis.txt
echo " Informações do RPC" >> $destino/dados-volateis.txt
echo "===============================================" >> $destino/dados-volateis.txt
echo >> $destino/dados-volateis.txt
rpcinfo -p 127.0.0.1 >> $destino/dados-volateis.txt
echo >> $destino/dados-volateis.txt
echo "===============================================" >> $destino/dados-volateis.txt
echo " Lista dos Processos" >> $destino/dados-volateis.txt
echo "===============================================" >> $destino/dados-volateis.txt
echo >> $destino/dados-volateis.txt
ps -eaf >> $destino/dados-volateis.txt
echo >> $destino/dados-volateis.txt
echo "===============================================" >> $destino/dados-volateis.txt
echo >> $destino/dados-volateis.txt
echo "Data Final: $data" >> $destino/dados-volateis.txt
echo >> $destino/dados-volateis.txt
echo " Final da coleta dos Dados Volateis do Equipamento" >> $destino/dados-volateis.txt
echo >> $destino/dados-volateis.txt
## Listagem com todos os arquivos do equipamento
echo " " >> $destino/dados-vol-arq.txt
echo " " >> $destino/dados-vol-arq.txt
echo "===============================================" >> $destino/dados-vol-arq.txt
echo " Relatório de evidências voláteis coletadas em modo Live!" >> $destino/dados-vol-arq.txt
echo "===============================================" >> $destino/dados-vol-arq.txt
echo " " >> $destino/dados-vol-arq.txt
echo " Perito: $perito" >> $destino/dados-vol-arq.txt
echo " Caso: $caso" >> $destino/dados-vol-arq.txt
echo " Número: $cason" >> $destino/dados-vol-arq.txt
echo " Data Início: $data" >> $destino/dados-vol-arq.txt
echo " " >> $destino/dados-vol-arq.txt
echo "===============================================" >> $destino/dados-vol-arq.txt
echo " Lista de todos os arquivos" >> $destino/dados-vol-arq.txt
echo "===============================================" >> $destino/dados-vol-arq.txt
echo >> $destino/dados-vol-arq.txt
FIND_PATH="/"
FIND_FLAGS="-printf %m;%Ax;%AT;%Tx;%TT;%Cx;%CT;%U;%G;%s;%p\n"
echo >> $destino/dados-vol-arq.txt
echo "Permissão;Data_Ult.acesso;Hora_ult_acesso;Data_Modificação;Hora_Mudança;Data_Mudança;Hora_Mudança; Proprietário;Grupo;Tamanho;Nome_do_Arquivo";find $FIND_PATH $FIND_FLAGS) >> $destino/dados-vol-arq.txt
echo >> $destino/dados-vol-arq.txt
echo " Data Final: $data" >> $destino/dados-vol-arq.txt
echo >> $destino/dados-vol-arq.txt
echo " Final da Lista dos arquivos do equipamento" >> $destino/dados-vol-arq.txt
echo >> $destino/dados-vol-arq.txt
## Listagem do sha256sum todos os arquivos do equipamento
echo " " >> $destino/dados-vol-arq-hash.txt
echo " " >> $destino/dados-vol-arq-hash.txt
echo "===============================================" >> $destino/dados-vol-arq-hash.txt
echo " Relatório de evidências voláteis coletadas em modo Live!" >> $destino/dados-vol-arq-hash.txt
echo "===============================================" >> $destino/dados-vol-arq-hash.txt
echo " " >> $destino/dados-vol-arq-hash.txt
echo " Perito: $perito" >> $destino/dados-vol-arq-hash.txt
echo " Caso: $caso" >> $destino/dados-vol-arq-hash.txt
echo " Número: $cason" >> $destino/dados-vol-arq-hash.txt
echo " Data Início: $data" >> $destino/dados-vol-arq-hash.txt
echo " " >> $destino/dados-vol-arq-hash.txt
echo "===============================================" >> $destino/dados-vol-arq-hash.txt
echo " md5sum de todos os Arquivos" >> $destino/dados-vol-arq-hash.txt
echo "===============================================" >> $destino/dados-vol-arq-hash.txt
echo >> $destino/dados-vol-arq-hash.txt
hash="md5sum -b"
find $FIND_PATH -xdev -type f -exec $hash {} \; >> $destino/dados-vol-arq-hash.txt
echo >> $destino/dados-vol-arq-hash.txt
echo "===============================================" >> $destino/dados-vol-arq-hash.txt
echo >> $destino/dados-vol-arq-hash.txt
echo " Data Final: $data" >> $destino/dados-vol-arq-hash.txt
echo >> $destino/dados-vol-arq-hash.txt
echo " Final da Lista do sha256sum de todos os Arquivos" >> $destino/dados-vol-arq-hash.txt
echo >> $destino/dados-vol-arq-hash.txt
## Mostrando os Arquivos criados
ls $destino | zenity --list --title "Lista de Arquivos" --text " Lista dos arquivos criados durante a execução deste script" --column " Arquivo " --width=700 --height=400
07
jan
Autor: Paulo Neukamp // Categoria:
Scripts
Antes mesmo de pensar em adquirir uma cópia dos das evidências, o perito precisa sanitizar as mídias que serão uilizadas para armazená-las, uma vez que fragmentos antigos de dados que possam estar nestas mídias, poderiam atrapalhar na análise dos mesmos. Para sanitizar as mídias a serem utilizadas segue mais um script.
O script abaixo, necessita do pacote zenity para ser executado (# apt-get install zenity), e trabalha de forma interativa, sendo assim, leia com atenção o que lhe é solicitado para que o mesmo funcione corretamente.
CUIDADO AO UTILIZAR ESTE SCRIPT!!!
#!/bin/bash
# Paulo Neukamp
# A função deste script é limpar a midia para que ela possa ser usada
# como uma midia em perícias Forense ( deve ser executado pelo menos 7X)
# caso contrario, quando execurar um file carving estes dados serão recuperados
# Tela de Aviso
zenity --info --title "Aviso de Cuidado" --text " Este é um script que pode danificar o sistema, portanto, tome muito cuidado com os parametros que serão informados nas próximas etapas"
# Mostrando os dispositivos conectados
sudo fdisk -l | zenity --list --title "Lista de Dispositivos" --text "\n Abaixo estão listados todos os Dispositivos atualmente conectados a este equipamento... \n Verifique com muito cuidado qual sera o Dispositivo que deseja zerar, pois voce deverá informá-lo na próxima janela\n" --column "Dispositivos" --width=700 --height=400
# tela solicitando qual o disco (device) que será ZERADO
device=`zenity --entry --title "Levantamento da unidade" --text " Informe somente o nome da unidade. Ex.:sdb, sdb1...." --entry-text "sdb" --width=200 --height=100`
# Tela de Status do processo
sudo dcfldd if=/dev/zero of=/dev/$device | zenity --progress --title "Formatando mídia" --text="Aguarde..." --pulsate --auto-kill
# Tela de Aviso
zenity --info --title "Aviso de Conclusão" --text " A mídia foi zerada"
07
jan
Autor: Paulo Neukamp // Categoria:
Scripts
O script abaixo, necessita do pacote zenity para ser executado (# apt-get install zenity), e trabalha de forma interativa, sendo assim, leia com atenção o que lhe é solicitado para que o mesmo funcione corretamente.
#!/bin/bash
## Paulo Neukamp
## Em 16 nov 2008
## A função deste script é criar um arquivo de imagem da mídia
## Tela de Aviso
zenity --info --title "Aviso de Cuidado" --text " Este é um script que pode danificar o sistema, portanto, tome muito cuidado com os parametros que serão informados nas próximas etapas"
## Mostrando os dispositivos conectados
sudo fdisk -l | zenity --list --title "Lista de Dispositivos" --text "\n Tela de CheckList:\n Abaixo estão listados todos os Dispositivos atualmente conectados a este equipamento... \n Verifique com muito cuidado qual sera o Dispositivo que deseja zerar, pois voce deverá informá-lo na próxima janela\n" --column "Dispositivos" --width=700 --height=400
## Tela solicitando qual o disco (device) ou partição que será copiado (origem)
origem=`zenity --entry --title "ORIGEM DOS DADOS" --text " Informe qual será a origem dos dados. Ex.:hda, sdb1...." --entry-text "sda" --width=200 --height=100`
## Tela solicitando qual em qual pasta a imagem .dd deve ser salva
destino=`zenity --entry --title "DESTINO DOS DADOS" --text " Informe a pasta na qual a imagem deve ser salva" --entry-text "/home/fdtk/caso1" --width=200 --height=100`
arq=`zenity --entry --title "NOME DO ARQUIVO" --text " Informe o nome a ser dado ao arquivo da imagem dos dados" --entry-text "img-caso1-hd1.dd" --width=200 --height=100`
## Escolha qual hash utilizar ( 256-bits ou 512-bits)
hashopt=`zenity --list --radiolist --column="Opção" --column "Tipos de hash" TRUE 256-bits FALSE 512-bits `
if [ $hashopt != 512-bits ];then
sudo date >> $destino/hash-origem.txt; sudo sha256sum -b /dev/$origem >> $destino/hash-origem.txt | zenity --progress --title "HASH" --text="Gerando hash..." --pulsate --auto-close
else
sudo date >> $destino/hash-origem.txt; sudo sha512sum -b /dev/$origem >> $destino/hash-origem.txt | zenity --progress --title "HASH" --text="Gerando hash..." --pulsate --auto-close
fi
## CÓPIA DOS DADOS
## Tela de Status do processo da copia
sudo dcfldd if=/dev/$origem of=$destino/$arq | zenity --progress --title "Copiando..." --text="Copiando dados..." --pulsate --auto-close
## Gerando hash da cópia
if [ $hashopt != 512-bits ];then
sudo date >> $destino/hash-copia.txt; sudo sha256sum -b $destino/$arq >> $destino/hash-copia.txt | zenity --progress --title "HASH" --text="Gerando hash..." --pulsate --auto-close
else
sudo date >> $destino/hash-copia.txt; sudo sha512sum -b $destino/$arq >> $destino/hash-copia.txt | zenity --progress --title "HASH" --text="Gerando hash..." --pulsate --auto-close
fi
## Gera arquivo com dados dos discos
sudo fdisk -l /dev/$origem >> $destino/dados-discos.txt
## Confere Hashs
cat $destino/hash-copia.txt >> $destino/2hashs.txt | cat $destino/hash-origem.txt >> $destino/2hashs.txt
zenity --title="Analise dos Hash's gerados" --text-info --filename="$destino/2hashs.txt" --width=800 --height=200
# Tela de Aviso final
zenity --info --title "Final de operação" --text " A copia e os hash's foram gerados, você já pode remover as mídias"