O documento discute técnicas de análise forense de sistemas de arquivos para investigar invasões. Ele descreve como preparar o sistema de arquivos da vítima, capturar informações de arquivos, enviar imagens de disco pela rede, montar imagens para análise, analisar atributos e conteúdo de arquivos existentes e excluídos, e rastrear arquivos excluídos até sua localização original.
Perícia Forense - Análise dos Sistemas de Arquivos
1. Perícia Forense
Análise dos Sistemas de
Arquivos
IANN NAVAS
SOFIA TRINDADE
THAÍS FAVORE PROFº GUILHERME SONCINI DA COSTA
2. Introdução
•Um sistema de arquivos é um conjunto de estruturas
lógicas e de rotinas, que permitem ao sistema operacional
controlar o acesso ao disco rígido.
•Exemplo de invasão comum à protocolo de
compartilhamento de arquivos.
3. Preparando o sistema de arquivos da
vítima para análise
•Ferramenta grave-roober;
◦ Captura informações, atributos como registros de data/hora de acesso
arquivos de configurações e arquivos de log.
•Exatidão das informações dependem da integridade da
máquina e versão do Kernel.
4. Capturando informações de arquivos da
vítima
•Copiar arquivos individuais: Apenas copia o conteúdo dos
arquivos (Data/Hora de acessos são perdidas por exemplo);
•Fazer um backup: Informações a mais como data e hora da
modificação mas não de último acesso. Backup não captura
arquivos excluídos.
5. Capturando informações de arquivos da
vítima
•Copiar partições de discos individuais: Cria uma cópia
idêntica incluindo informações até dos espaços não
alocados, técnica neutra;
•Copiar disco inteiro: Cópia idêntica de todas as informações
do disco, incluindo todos os espaços de armazenamento.
6. Enviando uma imagem de disco pela
rede
•Quando os discos ficam conectados nas máquina da vítima,
o procedimento de geração de imagens pode ser muito
simples;
•1º exemplo de geração de imagem: deve ser usado em uma
rede confiável (Remover a máquina da vítima da rede, e
conectar diretamente na rede do investigador).
8. Enviando uma imagem de disco pela
rede
•2º exemplo de geração de imagem: quando a rede não é
confiável deve-se usar criptografia;
9. Montando as imagens de disco em uma
máquina de análise
•Cuidados são necessários para montar uma imagem, tais
como desativar programas não-confiáveis, desativar
arquivos no sistema de arquivos em que a imagem foi
gerada.
10. Montando as imagens de disco em uma
máquina de análise
•É necessário cuidado ao montar imagens de disco a partir
de uma máquina não confiável. O objetivo é que a imagem
montada possa ser lida, para evitar alteração de dados.
Quando se trabalha com imagens de discos inteiros as
coisas se complicam, pois, é necessário analisar múltiplas
partições.
11. E se o Netcat não estiver disponível para
receber ou enviar imagem de disco?
•Uma das opções então é fazer o download de 200 kbytes
dos arquivos-fonte e compilar um programa C a fim de criar
o programa executável Netcat. Mas isso poderia causar
vários danos às informações excluídas e existentes. Nessas
situações um programa Perl consegue realizar o trabalho.
12. MACtimes de arquivos existentes
•O comando MACtime produz um relatório com a data/hora
dos arquivos (de acordo com o fuso horário padrão), a partir
dos arquivos de log do sistema.
13. Análise detalhada dos arquivos
existentes
•Para isso, recomenda-se dividir o relatório MACtime em
partes menores de informações. Para compararmos um
arquivo desconhecido com uma grande lista de arquivos
conhecidos, e ao mesmo tempo economizar tempo e
espaço, podemos comparar seus hashes MD5, hashes
criptografados.
14. Análise detalhada dos arquivos
existentes
•Arquivos que fazem referência tanto a um programa de
login como um programa interpretador de comandos são
suspeitos, pois permitem que alguns usuários driblem o
procedimento de login do sistema.
•O próximo passo é procurar indícios a partir de arquivos
excluídos, que podem confirmar ou contradizer essas
descobertas.
15. O que acontece quando um arquivo é
excluído?
•Quando um arquivo é excluído, o nome do arquivo
desaparece de uma listagem de diretório. Alguns sistemas
de arquivos (como o FAT16 e FAT32) apenas ocultam o
nome do arquivo de uma maneira especial, subentendendo-
se assim que estes foram excluídos. Já outros, não
preservam as conexões entre as entradas de diretório e os
atributos de arquivo, tornando-se assim o processo de
exclusão mais destrutivo.
16. Entrada do diretório pai
•Na exclusão de um arquivo, a entrada de diretório com o
nome do arquivo e número de inode é marcada como não
utilizada;
•O nome dos arquivos excluídos ainda podem ser
encontrados lendo o diretório com o comando strings.
◦ Já no caso do Linux, como este não permite a leitura de diretórios por
usuários, é possível contornar essa restrição utilizando o utilitário icat.
17. Atributos do diretório pai
•Os atributos de última leitura, última modificação e última
alteração do status do diretório são todos os configurados
com data/hora dessa atualização. Portanto, mesmo se o
próprio arquivo excluído não estiver mais disponível, a
data/hora da última modificação no diretório revelará a
atividade passada dentro desse diretório.
18. Blocos de inode
•Nos sistemas UNIX, ainda pode haver um arquivo excluído
ativo. Algum processo ainda pode ter o arquivo aberto para
leitura ou outras atividades. O utilitário ils tem uma opção
para localizar esses arquivos excluídos que continuam ativos
no sistemas, sendo possível assim deletá-los. Depois de
serem deletados, o bloco de inode é marcado como não
utilizado no bitmap de alocação de inodes.
19. Blocos de dados
•Blocos de dados de um arquivo excluído são marcados
como não utilizados no bitmap de alocação de blocos de
dados, mas seu conteúdo permanece inalterado. O sistema
de arquivos Ext2fs do Linux tem opção para apagar blocos
de dados de arquivos na exclusão, mas esse recurso
atualmente não está implementado.
20. MACtimes de arquivos excluídos
•A análise MACtime revela indicações sobre o que o usuário
fez e quando fez nos arquivos analisados. Com o utilitário
grave-robber é possível coletar informações sobre o arquivo
excluído, e estas serão utilizadas para investigação.
21. Análise de arquivos excluídos
•Foi utilizado o comando icat para recuperar o conteúdo dos
arquivos excluídos. Antes, infelizmente, devido a seus
números de inode, eles eram irrecuperáveis. Os arquivos
foram truncados antes de serem excluídos. A recuperação
destes com o icat foi mais bem sucedida, pois eles foram
facilmente identificados pelo hash MD5, que é um
algoritmo que busca identificar arquivos ou informações.
22. Reconhecendo arquivos fora do lugar
pelo seu número de inode
•À medida que o sistema operacional é instalado no disco e
à medida que os arquivos são criados, os números de inode
são atribuídos pelo sistema de arquivos. Normalmente, o
sistema operacional base é instalado em um diretório de
cada vez. Portanto, entradas sucessivas nos diretórios de
sistema tendem a ter números de inode sucessivos,
facilitando assim o reconhecimento dos arquivos.
23. Rastreando um arquivo excluído até sua
localização original
•Com implementação do Linux Ext2fs ou FreeBSD, existe
maneiras fáceis de se rastrear o arquivo no seu local original
de criação;
•Criação de relatórios e rastrear diretórios excluídos;
◦ Fls do Sheuth Kit.
◦ Ferramenta ffind.
24. Rastreamento do arquivo excluído pelo
seu inode
•Todas informações de um pequeno arquivo podem ser
encontradas na mesma zona;
•Classificamos todos os arquivos por um número de inode
para examinar os números das áreas mais prováveis.
◦ Inode: Estrutura de dados que possui informações sobre arquivo ou
diretório.
25. Filho prodígio volta pra casa
•Em sua segunda visita o invasor instalou um arquivo cujo
inode (60257) estava muito fora da sequência dos arquivos
próximos. Seguindo a análise pode se supor que o arquivo
do invasor foi criado em outra zona e foi movido para a zona
atual /bin/login/.
26. Perda da inocência
•Pode-se ver que o invasor não teve o capricho de apagar os
rastros deixados durante a criação e a transferência do
arquivo nos diretórios, com isso é possível concluir que foi
utilizada uma invasão rápida e automatizada;
27. Perda da inocência
•A ausência de preocupação pode ser associada com
ataques de grandes redes de computadores, para que esse
tipo de invasão seja eficaz é preciso um batalhão de
sistemas a sua disposição, assim quando um soldado é
abatido é fácil de ser substituído.
Quando os discos ficam conectados nas máquina da vítima, o procedimento de geração de imagens pode ser muito simples quando utilizado softawares corretos(Netcat: Envia e recebe a imagem de disco).
Cliente Netcat
Arquivo de Imagem
Partição de Disco
Servidor Netcat
Porta 1234 - Rede
Cliente Netcat
Arquivo de Imagem
Partição de Disco
Servidor Netcat
Porta 1234 - Rede