Forense Digital no Linux – Técnicas práticas – parte 1

Forense Digital no Linux – Técnicas práticas – parte 1

 

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:

  1. Identificação: Detectar e isolar sistemas ou dispositivos comprometidos.
  2. Preservação: Garantir que as evidências não sejam alteradas ou corrompidas.
  3. Análise: Examinar os dados coletados para identificar atividades maliciosas.
  4. Documentação: Registrar todas as etapas e descobertas.
  5. 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 arquivo imagem_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

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 (jpgpdfdoc) 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 arquivo captura.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:

Date,Time,Description
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

 

2. Verificação de Integridade com md5sum

 

3. Análise de Sistemas de Arquivos com The Sleuth Kit (TSK)

 

4. Recuperação de Arquivos Deletados com foremost

 

5. Análise de Memória RAM com Volatility

 

6. Análise de Tráfego de Rede com Wireshark

 

7. Análise de Linhas do Tempo com Log2timeline

 

8. Verificação de Chaves Vazadas com Python