
Forense Digital no Linux – Técnicas práticas – parte 1
A Forense Digital é uma disciplina crítica na segurança cibernética, focada na investigação de incidentes, coleta de evidências e análise de sistemas comprometidos. O Linux, com sua vasta gama de ferramentas de código aberto, é uma plataforma poderosa para realizar análises forenses.
A Forense Digital envolve a coleta, preservação, análise e apresentação de evidências digitais. Essas evidências podem ser usadas em processos legais ou para entender como um incidente ocorreu. As principais etapas incluem:
- Identificação: Detectar e isolar sistemas ou dispositivos comprometidos.
- Preservação: Garantir que as evidências não sejam alteradas ou corrompidas.
- Análise: Examinar os dados coletados para identificar atividades maliciosas.
- Documentação: Registrar todas as etapas e descobertas.
- Apresentação: Compilar os resultados em um relatório claro e conciso.
Ferramentas de Forense no Linux
O Linux oferece diversas ferramentas para análise forense. Abaixo estão algumas das mais utilizadas:
-
The Sleuth Kit (TSK): Para análise de sistemas de arquivos.
-
Autopsy: Interface gráfica para o The Sleuth Kit.
-
dd: Para criar imagens forenses de discos.
-
Foremost: Para recuperação de arquivos deletados.
-
Volatility: Para análise de memória RAM.
-
Wireshark: Para análise de tráfego de rede.
-
Log2timeline: Para análise de linhas do tempo de eventos.
Neste artigo, vamos explorar técnicas práticas de forense digital no Linux, com exemplos de comandos e suas respectivas saídas no shell.
1. Criação de imagem forense com dd
A criação de uma imagem forense é o primeiro passo para preservar evidências. O comando dd
é amplamente utilizado para criar uma cópia bit-a-bit de um dispositivo de armazenamento.
Comando:
sudo dd if=/dev/sdb of=imagem_forense.img bs=4M status=progress
Saída no Shell:
209715200 bytes (210 MB, 200 MiB) copied, 5 s, 41.9 MB/s 419430400 bytes (419 MB, 400 MiB) copied, 10 s, 41.9 MB/s 629145600 bytes (629 MB, 600 MiB) copied, 15 s, 41.9 MB/s 838860800 bytes (839 MB, 800 MiB) copied, 20 s, 41.9 MB/s 1048576000 bytes (1.0 GB, 1000 MiB) copied, 25 s, 41.9 MB/s
Explicação:
-
O comando copia o conteúdo do dispositivo
/dev/sdb
para o arquivoimagem_forense.img
. -
O parâmetro
status=progress
exibe o progresso da operação.
2. Verificação de Integridade com md5sum
Após criar a imagem forense, é essencial verificar sua integridade para garantir que não houve alterações durante o processo.
Comando:
md5sum /dev/sdb > hash_original.txt md5sum imagem_forense.img > hash_imagem.txt diff hash_original.txt hash_imagem.txt
Saída no Shell:
Nenhuma diferença encontrada (arquivos idênticos).
Explicação:
-
O comando
md5sum
gera hashes MD5 para o dispositivo original e a imagem forense. -
O comando
diff
compara os hashes para garantir que sejam idênticos.
3. Análise de sistemas de arquivos com The Sleuth Kit (TSK)
O The Sleuth Kit (TSK) é uma ferramenta poderosa para analisar sistemas de arquivos em busca de evidências.
Comando:
fls -r -m / imagem_forense.img
Saída no Shell:
r/r 4: etc/ r/r 5: etc/passwd r/r 6: etc/shadow r/r 7: home/ r/r 8: home/user/ r/r 9: home/user/documento.txt
Explicação:
-
O comando
fls
lista os arquivos e diretórios na imagem forense. -
O parâmetro
-r
faz uma listagem recursiva, e-m /
define o ponto de montagem como raiz.
4. Recuperação de arquivos deletados com foremost
O foremost
é uma ferramenta para recuperar arquivos deletados com base em seus cabeçalhos e rodapés.
Comando:
sudo foremost -t jpg,pdf,doc -i imagem_forense.img -o output_dir
Saída no shell:
Processing: imagem_forense.img |—————————————————————— File: imagem_forense.img Start: Wed Oct 11 14:32:01 2024 Length: 2 GB (2097152000 bytes) Num Name (bs=512) Size File Offset Comment 0: 00000000.jpg 1.5 MB 0 JPEG image 1: 00000001.pdf 2.0 MB 1572864 PDF document 2: 00000002.doc 500 KB 3670016 MS Word document
Explicação:
-
O comando recupera arquivos dos tipos especificados (
jpg
,pdf
,doc
) na imagem forense. -
Os arquivos recuperados são salvos no diretório
output_dir
.
5. Análise de memória RAM com Volatility
A análise de memória RAM pode revelar processos maliciosos, conexões de rede e outras atividades em tempo real.
Comando:
volatility -f dump_memoria.img --profile=LinuxUbuntu_5_4_0-42-genericx64 linux_pslist
Saída no Shell:
Offset Name PID PPID UID GID DTB ------------------ -------------------- ------ ------ ------ ------ ------------------
0xffff88003c8a0000 systemd 1 0 0 0 0x0000000000000000
0xffff88003c8a1000 bash 1234 1 1000 1000 0x0000000000000000
0xffff88003c8a2000 sshd 5678 1 0 0 0x0000000000000000
Explicação:
-
O comando lista os processos em execução no momento do dump de memória.
-
O perfil
LinuxUbuntu_5_4_0-42-genericx64
deve corresponder ao kernel do sistema analisado.
6. Análise de tráfego de rede com Wireshark
O Wireshark é uma ferramenta poderosa para analisar pacotes de rede e identificar atividades suspeitas.
Comando:
sudo tshark -i eth0 -w captura.pcap
Saída no shell:
Capturing on 'eth0' File: captura.pcap Packets captured: 1000 Packets received/dropped on interface eth0: 1000/0 (100.0%)
Explicação:
-
O comando captura pacotes de rede na interface
eth0
e os salva no arquivocaptura.pcap
. -
O arquivo
.pcap
pode ser analisado posteriormente no Wireshark.
7. Análise de linhas do tempo com Log2timeline
O Log2timeline cria uma linha do tempo de eventos para ajudar a entender a sequência de atividades em um sistema.
Comando:
log2timeline.py timeline.plaso imagem_forense.img
Saída no shell:
[INFO] Processing started. [INFO] Processing completed. [INFO] Events extracted: 1500 [INFO] Timeline stored in: timeline.plaso
Comando para visualizar a linha do tempo:
psort.py -o l2tcsv -w timeline.csv timeline.plaso
Saída no arquivo timeline.csv
:
2024-10-11,14:00:00,File created: /etc/passwd 2024-10-11,14:05:00,File modified: /home/user/documento.txt 2024-10-11,14:10:00,Process started: sshd (PID: 5678)
Explicação:
-
O comando
log2timeline.py
extrai eventos da imagem forense. -
O comando
psort.py
converte a linha do tempo para o formato CSV.
Conclusão
Esses exemplos práticos ilustram como utilizar ferramentas de forense digital no Linux para investigar incidentes e coletar evidências. Cada comando e técnica tem um papel específico na análise, desde a criação de imagens forenses até a análise de memória e tráfego de rede. Com essas ferramentas e exemplos, você estará bem equipado para realizar análises forenses eficazes em sistemas Linux.
Lembre-se: a forense digital requer precisão, paciência e atenção aos detalhes. Mantenha-se atualizado com as melhores práticas e ferramentas para garantir a integridade e a confiabilidade de suas investigações.
Referências Bibliográficas
1. Criação de Imagem Forense com dd
-
Documentação do GNU Coreutils: Manual oficial do comando
dd
.-
Disponível em: https://www.gnu.org/software/coreutils/manual/coreutils.html
-
-
Guia de Forense Digital com Linux: Exemplos práticos de uso do
dd
para criação de imagens forenses.-
Disponível em: https://linux.die.net/man/1/dd
-
2. Verificação de Integridade com md5sum
-
Documentação do GNU Coreutils: Manual oficial do comando
md5sum
.-
Disponível em: https://www.gnu.org/software/coreutils/manual/coreutils.html
-
-
Guia de Boas Práticas em Forense Digital: Uso de hashes para verificação de integridade.
-
Disponível em: https://www.nist.gov/forensics
-
3. Análise de Sistemas de Arquivos com The Sleuth Kit (TSK)
-
Documentação do The Sleuth Kit: Manual oficial da ferramenta.
-
Disponível em: https://www.sleuthkit.org/sleuthkit/man/
-
-
Exemplos de Uso do
fls
: Tutorial de análise de sistemas de arquivos.-
Disponível em: http://wiki.sleuthkit.org/index.php?title=Timeline
-
4. Recuperação de Arquivos Deletados com foremost
-
Documentação do Foremost: Manual oficial da ferramenta.
-
Disponível em: https://foremost.sourceforge.net/
-
-
Guia de Recuperação de Dados: Técnicas de recuperação de arquivos deletados.
-
Disponível em: https://www.cgsecurity.org/
-
5. Análise de Memória RAM com Volatility
-
Documentação do Volatility: Manual oficial da ferramenta.
-
Disponível em: https://www.volatilityfoundation.org/
-
-
Guia de Análise de Memória: Técnicas de análise de memória RAM.
-
Disponível em: https://www.volatilityfoundation.org/releases
-
6. Análise de Tráfego de Rede com Wireshark
-
Documentação do Wireshark: Manual oficial da ferramenta.
-
Disponível em: https://www.wireshark.org/docs/
-
-
Guia de Análise de Pacotes: Técnicas de análise de tráfego de rede.
-
Disponível em: https://wiki.wireshark.org/
-
7. Análise de Linhas do Tempo com Log2timeline
-
Documentação do Plaso (Log2timeline): Manual oficial da ferramenta.
-
Disponível em: https://plaso.readthedocs.io/
-
-
Guia de Análise de Linhas do Tempo: Técnicas de criação e análise de linhas do tempo.
-
Disponível em: https://github.com/log2timeline/plaso
-
8. Verificação de Chaves Vazadas com Python
-
Documentação do Python: Manual oficial da linguagem.
-
Disponível em: https://docs.python.org/3/
-
-
Guia de Segurança em Python: Exemplos de scripts para verificação de chaves.
-
Disponível em: https://realpython.com/
-