Introdução
Bem-vindo ao mundo da forense digital. Uma parte crítica de qualquer investigação é a aquisição adequada de evidências digitais. Este processo envolve a criação de uma cópia exata, bit a bit, de um dispositivo de armazenamento sem alterar os dados originais. Igualmente importante é garantir a integridade dessa cópia, provando que ela não foi adulterada desde a sua criação.
Neste laboratório, você assumirá o papel de um analista forense júnior. Você aprenderá a usar ferramentas padrão de linha de comando do Linux para realizar duas das tarefas mais fundamentais em forense digital: aquisição de evidências e verificação de integridade. Usaremos o comando dd para criar uma imagem de disco e sha256sum para gerar um hash criptográfico, garantindo que nossas evidências sejam sólidas.
Criar uma Imagem de Disco Simulada Usando dd
Nesta etapa, você criará uma imagem forense a partir de um arquivo de evidência simulado. Em forense digital, uma "imagem" é uma cópia bit a bit de uma unidade de origem. Usamos o comando dd, uma utilidade poderosa e versátil para copiar e converter dados. É uma ferramenta padrão em forense porque pode criar uma réplica exata de um dispositivo de armazenamento, preservando todos os dados, incluindo arquivos excluídos e espaço ocioso (slack space).
Primeiro, vamos navegar até o diretório do nosso caso e ver o arquivo de evidência original que foi preparado para você.
cd ~/project/forensics_case
ls -lh
Você deverá ver um arquivo chamado original_evidence.dd.
-rw-rw-r-- 1 labex labex 11M Aug 5 15:28 original_evidence.dd
Agora, vamos usar o dd para criar uma imagem deste arquivo. Chamaremos nossa imagem de evidence_image.img.
if=original_evidence.dd: Especifica o input file (arquivo de entrada).of=evidence_image.img: Especifica o output file (arquivo de saída).bs=4096: Define o block size (tamanho do bloco) para 4096 bytes. Este é um tamanho de bloco comum e pode afetar o desempenho.
Execute o seguinte comando:
dd if=original_evidence.dd of=evidence_image.img bs=4096
O comando exibirá o número de registros de entrada e saída, e os bytes totais copiados.
2560+1 records in
2560+1 records out
10485809 bytes (10 MB, 10 MiB) copied, 0.0130138 s, 806 MB/s
Agora, liste os arquivos novamente para ver tanto o original quanto a imagem recém-criada.
ls -lh
Você verá que evidence_image.img tem exatamente o mesmo tamanho que original_evidence.dd, o que é um bom primeiro sinal de que nossa cópia foi bem-sucedida.
-rw-rw-r-- 1 labex labex 11M Aug 5 15:43 evidence_image.img
-rw-rw-r-- 1 labex labex 11M Aug 5 15:28 original_evidence.dd
Calcular Hashes dos Arquivos Original e de Imagem
Nesta etapa, você verificará a integridade da imagem forense que acabou de criar. Simplesmente ter uma cópia não é suficiente; devemos ser capazes de provar que a cópia é uma réplica exata e inalterada do original. Fazemos isso calculando um hash criptográfico para o arquivo original e para a imagem.
Uma função hash recebe uma entrada (no nosso caso, o conteúdo do arquivo) e produz uma string de caracteres de tamanho fixo, que é o "hash". Mesmo uma pequena alteração no arquivo de entrada resultará em um hash completamente diferente. Se o hash do arquivo original e o hash do arquivo de imagem coincidirem, podemos ter certeza de que a cópia é perfeita. Usaremos o comando sha256sum, que implementa o algoritmo de hashing SHA-256.
Primeiro, calcule o hash SHA256 do arquivo de evidência original:
sha256sum original_evidence.dd
A saída será uma longa string de caracteres (o hash) seguida pelo nome do arquivo.
55a290c58509790860da55a47256188865bdd8dd5cbf7cd5c4b95cb5264f109a original_evidence.dd
Em seguida, calcule o hash para o arquivo de imagem que você criou:
sha256sum evidence_image.img
55a290c58509790860da55a47256188865bdd8dd5cbf7cd5c4b95cb5264f109a evidence_image.img
Compare os dois hashes. Eles devem ser idênticos. Esta é a prova matemática de que seu evidence_image.img é uma cópia verdadeira e precisa de original_evidence.dd.
Para documentação adequada, é uma boa prática salvar esses hashes em um arquivo de log. Vamos fazer isso agora.
sha256sum original_evidence.dd evidence_image.img > hashes.txt
Agora, visualize o conteúdo do seu arquivo de log de hashes.
cat hashes.txt
55a290c58509790860da55a47256188865bdd8dd5cbf7cd5c4b95cb5264f109a original_evidence.dd
55a290c58509790860da55a47256188865bdd8dd5cbf7cd5c4b95cb5264f109a evidence_image.img
Este arquivo hashes.txt é uma peça crucial de documentação para o seu caso.
Extrair Metadados Básicos de Arquivos, como Timestamps
Nesta etapa, examinaremos os metadados do arquivo. Metadados são "dados sobre dados" e podem fornecer contexto crucial em uma investigação. Para arquivos, isso inclui informações como tempo de criação, tempo da última modificação e tempo do último acesso. Estes são frequentemente referidos como tempos MAC (Modificar, Acessar, Alterar - Modify, Access, Change).
Usaremos o comando stat para visualizar essas informações detalhadas. O comando stat exibe o status de um arquivo ou sistema de arquivos.
Vamos primeiro analisar os metadados do arquivo original_evidence.dd.
stat original_evidence.dd
A saída fornece uma riqueza de informações, mas vamos nos concentrar nos timestamps.
File: original_evidence.dd
Size: 10485809 Blocks: 20488 IO Block: 4096 regular file
Device: 7eh/126d Inode: 11210686 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 5000/ labex) Gid: ( 5000/ labex)
Access: 2025-08-05 15:43:57.680473291 +0800
Modify: 2025-08-05 15:28:59.196596566 +0800
Change: 2025-08-05 15:28:59.196596566 +0800
Birth: 2025-08-05 15:28:59.164595416 +0800
Agora, vamos fazer o mesmo para o nosso evidence_image.img.
stat evidence_image.img
File: evidence_image.img
Size: 10485809 Blocks: 20488 IO Block: 4096 regular file
Device: 7eh/126d Inode: 11206338 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 5000/ labex) Gid: ( 5000/ labex)
Access: 2025-08-05 15:44:14.001048192 +0800
Modify: 2025-08-05 15:43:57.692473714 +0800
Change: 2025-08-05 15:43:57.692473714 +0800
Birth: 2025-08-05 15:43:57.680473291 +0800
Note que, embora o conteúdo do arquivo seja idêntico (como provado pelo hash), os metadados não são. Os timestamps de evidence_image.img refletem quando a imagem foi criada, não quando o arquivo original foi criado ou modificado. Este é um comportamento esperado e é importante documentá-lo. Ele mostra quando você, o investigador, realizou a aquisição.
Gerar um Registro de Cadeia de Custódia para Evidências Adquiridas
Nesta etapa final, você criará um registro simples de Cadeia de Custódia. A Cadeia de Custódia é um dos documentos mais críticos em forense. É um registro cronológico que detalha a apreensão, custódia, controle, transferência, análise e disposição de evidências. Uma cadeia de custódia bem mantida prova que a evidência foi manuseada corretamente e não foi adulterada.
Embora um formulário de cadeia de custódia real seja mais complexo, podemos criar um registro de texto básico para documentar nossas ações. Este registro deve incluir informações chave sobre a evidência e o processo de aquisição.
Usaremos o comando echo para escrever informações em um arquivo chamado chain_of_custody.log. Precisaremos coletar algumas informações:
- Número do Caso: Um identificador único para a investigação. Usaremos
CASE-001. - Descrição do Item: O que é a evidência.
- Data/Hora da Aquisição: Podemos obter isso usando o comando
date. - Adquirido por: O analista que realizou a aquisição. Usaremos a saída do comando
whoami. - Hash SHA256: O hash da imagem adquirida, que obteremos do nosso arquivo
hashes.txt.
Vamos criar o registro. Usaremos echo com o operador > para criar o arquivo e adicionar a primeira linha, e depois >> para anexar as linhas subsequentes. Primeiro, vamos obter o hash do nosso arquivo de imagem.
IMAGE_HASH=$(grep 'evidence_image.img' hashes.txt | cut -d ' ' -f 1)
Agora, vamos criar o arquivo de registro com todas as informações necessárias.
echo "--- CHAIN OF CUSTODY ---" > chain_of_custody.log
echo "Case Number: CASE-001" >> chain_of_custody.log
echo "------------------------" >> chain_of_custody.log
echo "Item ID: 1" >> chain_of_custody.log
echo "Description: Forensic image of original_evidence.dd" >> chain_of_custody.log
echo "Acquired By: $(whoami)" >> chain_of_custody.log
echo "Acquisition Date: $(date)" >> chain_of_custody.log
echo "SHA256 Hash: $IMAGE_HASH" >> chain_of_custody.log
echo "--- END OF LOG ---" >> chain_of_custody.log
Finalmente, exiba seu registro de cadeia de custódia completo.
cat chain_of_custody.log
Sua saída deve ser semelhante a esta:
--- CHAIN OF CUSTODY ---
Case Number: CASE-001
------------------------
Item ID: 1
Description: Forensic image of original_evidence.dd
Acquired By: labex
Acquisition Date: Tue Aug 5 15:44:43 CST 2025
SHA256 Hash: 55a290c58509790860da55a47256188865bdd8dd5cbf7cd5c4b95cb5264f109a
--- END OF LOG ---
Você agora criou um documento básico, mas essencial, que registra suas ações e preserva a integridade da evidência.
Resumo
Neste laboratório, você realizou com sucesso as etapas fundamentais de aquisição e verificação de integridade de evidências forenses digitais.
Você aprendeu a:
- Usar o comando
ddpara criar uma imagem forense bit a bit de uma fonte de dados. - Usar o comando
sha256sumpara calcular hashes criptográficos para provar que a imagem forense é uma réplica exata da evidência original. - Usar o comando
statpara examinar metadados de arquivos, como timestamps, que são cruciais para entender o histórico de um arquivo. - Criar um registro básico de Cadeia de Custódia para documentar o manuseio de evidências, um requisito crítico para processos legais.
Essas habilidades são a base de uma prática forense digital sólida. Ao garantir que a evidência seja adquirida corretamente e que sua integridade seja mantida, você estabelece as bases para uma investigação bem-sucedida.



