Communitygithub.com

aquisição-de-imagem-de-disco-com-dd-e-dcfldd

Cria imagens de disco forenses bit a bit com dd ou dcfldd em uma estação de trabalho Linux forense, preservando a integridade da evidência por meio de verificação de hash (MD5/SHA) durante a aquisição.

O que é aquisição-de-imagem-de-disco-com-dd-e-dcfldd?

Esta habilidade capacita um agente de IA a realizar aquisição forense de imagens de disco utilizando as ferramentas dd e dcfldd em sistemas Linux. Ela é essencial para profissionais de segurança digital e resposta a incidentes que precisam criar cópias bit a bit forenses e verificadas de dispositivos de armazenamento, como discos rígidos, unidades USB ou cartões de memória. A habilidade abrange todo o fluxo de trabalho forense: identificação do dispositivo alvo, ativação de proteção contra gravação (bloqueio de escrita por hardware ou software), documentação detalhada da fonte, aquisição da imagem com opções de compressão e divisão em segmentos, e verificação robusta de integridade por hash (SHA-256 e MD5). Ela suporta cenários comuns como aquisição local com bloqueador de escrita, imagens em rede via pipe dd + ssh/ssh, e até mesmo discos com falha usando ddrescue. Ao final, gera um relatório de aquisição completo, assegurando a cadeia de custódia e a validade legal da evidência digital.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mukul975/Anthropic-Cybersecurity-Skills/tree/main/skills/acquiring-disk-image-with-dd-and-dcfldd

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Aquisição de Imagem de Disco com dd e dcfldd

Quando Usar

  • Quando você precisa criar uma cópia forense de um drive suspeito para investigação
  • Durante resposta a incidentes, ao preservar evidências voláteis de disco antes da análise
  • Quando procedimentos legais ou de aplicação da lei exigem uma cópia bit a bit verificada
  • Antes de realizar qualquer análise destrutiva em um dispositivo de armazenamento
  • Ao adquirir imagens de unidades físicas, dispositivos USB ou cartões de memória

Pré-requisitos

  • Estação de trabalho forense Linux (SIFT, Kali ou qualquer distribuição Linux)
  • dd (pré-instalado em todos os sistemas Linux) ou dcfldd (versão forense aprimorada)
  • Bloqueador de escrita (hardware) ou proteção contra gravação via software configurada
  • Drive de destino com armazenamento suficiente (maior que a origem)
  • Privilégios root/sudo na estação de trabalho forense
  • Utilitários de hash SHA-256 ou MD5 (sha256sum, md5sum)

Fluxo de Trabalho

Passo 1: Identificar o Dispositivo Alvo e Ativar a Proteção contra Gravação

# Listar todos os dispositivos de bloco conectados para identificar o alvo
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT,MODEL

# Verificar os detalhes do dispositivo
fdisk -l /dev/sdb

# Ativar bloqueio de escrita por software (se não houver bloqueador de hardware)
blockdev --setro /dev/sdb

# Verificar o status de somente leitura
blockdev --getro /dev/sdb
# Saída: 1 (significa que somente leitura está ativado)

# Alternativamente, usar regras udev para bloqueio de escrita persistente
echo 'SUBSYSTEM=="block", ATTRS{serial}=="WD-WCAV5H861234", ATTR{ro}="1"' > /etc/udev/rules.d/99-writeblock.rules
udevadm control --reload-rules

Passo 2: Preparar o Destino e Documentar a Origem

# Criar estrutura de diretórios do caso
mkdir -p /cases/case-2024-001/{images,hashes,logs,notes}

# Documentar informações do drive de origem
hdparm -I /dev/sdb > /cases/case-2024-001/notes/source_drive_info.txt

# Registrar o número de série e o modelo
smartctl -i /dev/sdb >> /cases/case-2024-001/notes/source_drive_info.txt

# Calcular hash pré-aquisição do dispositivo de origem
sha256sum /dev/sdb | tee /cases/case-2024-001/hashes/source_hash_before.txt

Passo 3: Adquirir a Imagem Usando dd

# Aquisição básica com dd, com progresso e tratamento de erros
dd if=/dev/sdb of=/cases/case-2024-001/images/evidence.dd \
   bs=4096 \
   conv=noerror,sync \
   status=progress 2>&1 | tee /cases/case-2024-001/logs/dd_acquisition.log

# Para imagens comprimidas, economizando espaço
dd if=/dev/sdb bs=4096 conv=noerror,sync status=progress | \
   gzip -c > /cases/case-2024-001/images/evidence.dd.gz

# Usando dd com um contagem específica para aquisição parcial
dd if=/dev/sdb of=/cases/case-2024-001/images/first_1gb.dd \
   bs=1M count=1024 status=progress

Passo 4: Adquirir Usando dcfldd (Método Forense Preferido)

# Instalar dcfldd se não estiver presente
apt-get install dcfldd

# Adquirir imagem com hashing embutido e saída dividida
dcfldd if=/dev/sdb \
   of=/cases/case-2024-001/images/evidence.dd \
   hash=sha256,md5 \
   hashwindow=1G \
   hashlog=/cases/case-2024-001/hashes/acquisition_hashes.txt \
   bs=4096 \
   conv=noerror,sync \
   errlog=/cases/case-2024-001/logs/dcfldd_errors.log

# Dividir imagens grandes em segmentos gerenciáveis
dcfldd if=/dev/sdb \
   of=/cases/case-2024-001/images/evidence.dd \
   hash=sha256 \
   hashlog=/cases/case-2024-001/hashes/split_hashes.txt \
   bs=4096 \
   split=2G \
   splitformat=aa

# Adquirir com verificação adicional
dcfldd if=/dev/sdb \
   of=/cases/case-2024-001/images/evidence.dd \
   hash=sha256 \
   hashlog=/cases/case-2024-001/hashes/verification.txt \
   vf=/cases/case-2024-001/images/evidence.dd \
   verifylog=/cases/case-2024-001/logs/verify.log

Passo 5: Verificar a Integridade da Imagem

# Calcular hash da imagem adquirida
sha256sum /cases/case-2024-001/images/evidence.dd | \
   tee /cases/case-2024-001/hashes/image_hash.txt

# Comparar hashes da origem e da imagem
diff <(sha256sum /dev/sdb | awk '{print $1}') \
     <(sha256sum /cases/case-2024-001/images/evidence.dd | awk '{print $1}')

# Se usar imagens divididas, verificar cada segmento
sha256sum /cases/case-2024-001/images/evidence.dd.* | \
   tee /cases/case-2024-001/hashes/split_image_hashes.txt

# Recalcular hash da origem para confirmar que não houve alterações
sha256sum /dev/sdb | tee /cases/case-2024-001/hashes/source_hash_after.txt
diff /cases/case-2024-001/hashes/source_hash_before.txt \
     /cases/case-2024-001/hashes/source_hash_after.txt

Passo 6: Documentar o Processo de Aquisição

# Gerar relatório de aquisição
cat << 'EOF' > /cases/case-2024-001/notes/acquisition_report.txt
RELATÓRIO DE AQUISIÇÃO DE IMAGEM DE DISCO
==========================================
Número do Caso: 2024-001
Data/Hora: $(date -u +"%Y-%m-%d %H:%M:%S UTC")
Examinador: [Nome]

Dispositivo de Origem: /dev/sdb
Modelo: [da saída do hdparm]
Serial: [da saída do hdparm]
Tamanho: [da saída do fdisk]

Ferramenta de Aquisição: dcfldd v1.9.1
Tamanho do Bloco: 4096
Bloqueador de Gravação: [Modelo Hardware/Software]

Arquivo de Imagem: evidence.dd
Hash da Imagem (SHA-256): [do arquivo de hash]
Hash da Origem (SHA-256): [do arquivo de hash]
Correspondência de Hash: SIM/NÃO

Erros Durante a Aquisição: [do log de erros]
EOF

# Comprimir logs para arquivamento
tar -czf /cases/case-2024-001/acquisition_package.tar.gz \
   /cases/case-2024-001/hashes/ \
   /cases/case-2024-001/logs/ \
   /cases/case-2024-001/notes/

Conceitos Chave

ConceitoDescrição
Cópia bit a bitRéplica exata da origem, incluindo espaço não alocado e slack space
Bloqueador de gravaçãoMecanismo de hardware ou software que impede gravações na mídia de evidência
Verificação de hashHash criptográfico que compara origem e imagem para provar integridade
Tamanho do bloco (bs)Tamanho do bloco de transferência, afeta velocidade; 4096 ou 64K são típicos em forense
conv=noerror,syncContinuar em erros de leitura e preencher com zeros para manter alinhamento de offset
Cadeia de custódiaTrilha documentada que prova que a evidência não foi adulterada
Imagem divididaDivisão de imagens grandes em arquivos menores para armazenamento e transporte
Formato raw/ddFormato de imagem bit a bit sem overhead de metadados de container

Ferramentas e Sistemas

FerramentaPropósito
ddUtilitário padrão Unix de duplicação de disco para imagens raw
dcflddVersão aprimorada do dd pelo Laboratório de Informática Forense do DoD, com hashing
dc3ddOutra variante forense do dd do Centro de Crimes Cibernéticos do DoD
sha256sumCálculo de hash SHA-256 para verificação de integridade
blockdevComando Linux para definir modo somente leitura de dispositivos de bloco
hdparmIdentificação de unidades e relatório de parâmetros
smartctlRecuperação de dados S.M.A.R.T. para saúde e identificação do drive
lsblkEnumeração e identificação de dispositivos de bloco

Cenários Comuns

Cenário 1: Aquisição de Disco Rígido de Laptop Suspeito Conecte o drive via um bloqueador de escrita de hardware Tableau T35u, identifique como /dev/sdb, use dcfldd com hashing SHA-256, divida em segmentos de 4GB para arquivamento em DVD, verifique se os hashes coincidem, documente nas notas do caso.

Cenário 2: Imagem de um Pen Drive USB de uma Estação de Trabalho Comprometida Use bloqueio de escrita por software com blockdev --setro, adquira com dcfldd incluindo hashing duplo MD5 e SHA-256, a imagem é pequena o suficiente para um único arquivo, verifique e armazene em um drive de caso criptografado.

Cenário 3: Aquisição Remota Através da Rede Use dd canalizado via netcat ou ssh para aquisição remota: ssh root@remote "dd if=/dev/sda bs=4096" | dd of=remote_image.dd bs=4096, calcule hash em ambas as extremidades de forma independente para verificar a integridade da transferência.

Cenário 4: Aquisição de um Drive com Falha Use ddrescue primeiro para recuperar setores legíveis, depois use dd com conv=noerror,sync para preencher lacunas com zeros, documente quais setores ficaram ilegíveis no log de erros.

Formato de Saída

Resumo da Aquisição:
  Origem:       /dev/sdb (500GB Western Digital WD5000AAKX)
  Destino:      /cases/case-2024-001/images/evidence.dd
  Ferramenta:   dcfldd 1.9.1
  Tamanho do Bloco: 4096 bytes
  Duração:      2h 15m 32s
  Bytes Copiados: 500.107.862.016
  Erros:        0 setores ruins
  SHA-256 da Origem:  a3f2b8c9d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1
  SHA-256 da Imagem:   a3f2b8c9d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1
  Verificação:    APROVADO - Hashes coincidem

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

abusing-dpapi-for-credential-access

Extract and decrypt Windows DPAPI-protected secrets (Credential Manager, browser logins/cookies, Wi-Fi credentials, KeePass keys) online or offline using SharpDPAPI, SharpChrome, Mimikatz, or Impacket

abusing-shadow-credentials-for-privesc

Take over Active Directory accounts by writing attacker-controlled public keys to msDS-KeyCredentialLink (Shadow Credentials) with pyWhisker, Whisker, or Certipy, then authenticate via PKINIT to recover the target

achieving-cmmc-level-2-compliance

>-

analyzing-active-directory-acl-abuse

Detect dangerous ACL misconfigurations in Active Directory using ldap3

analyzing-android-malware-with-apktool

Perform static analysis of Android APK malware using apktool for resource decompilation, jadx for Java source recovery, and androguard for manifest inspection, dangerous permission-combination detection, and identification of obfuscated code, dynamic code loading, and reflection-based API calls. Use to statically triage a suspicious APK without executing it or to build mobile malware detection rules.

analyzing-api-gateway-access-logs

Parses API Gateway access logs (AWS API Gateway, Kong, Nginx) to detect

analyzing-apt-group-with-mitre-navigator

Query ATT&CK data with attackcti, mitreattack-python, and stix2, then build MITRE ATT&CK Navigator layers and multi-layer heatmap overlays mapping one or more APT groups

analyzing-azure-activity-logs-for-threats

Queries Azure Monitor activity logs and sign-in logs via azure-monitor-query

analyzing-bootkit-and-rootkit-samples

Analyzes bootkit and advanced rootkit malware infecting the Master

analyzing-browser-forensics-with-hindsight

Parse Chromium-based browser databases with Hindsight to extract and correlate browsing history, downloads, cookies, cached content, autofill data, saved passwords, and extensions from Chrome, Edge, Brave, Opera, and Vivaldi into a unified timeline (XLSX, JSON, or SQLite output). Use during incident response, insider-threat investigations, or criminal cases when you need to reconstruct a user

analyzing-campaign-attribution-evidence

Systematically evaluate cyber-campaign evidence to attribute an operation to a threat actor, using the Diamond Model and Analysis of Competing Hypotheses (ACH) to weigh infrastructure overlaps, TTP consistency, malware code similarity, and timing/language artifacts into confidence-weighted attribution assessments. Use when an incident investigation needs a defensible attribution confidence level.

analyzing-certificate-transparency-for-phishing

Monitor Certificate Transparency logs using crt.sh and Certstream to

analyzing-cloud-storage-access-patterns

Detect abnormal access in AWS S3, GCS, and Azure Blob Storage by analyzing CloudTrail Data Events, GCS audit logs, and Azure Storage Analytics for after-hours bulk downloads, new-IP access, and API-call spikes (e.g. GetObject) via statistical baselines and time-series anomaly detection. Use when investigating suspected cloud data exfiltration or building related detection rules.

analyzing-cobalt-strike-beacon-configuration

Extract and analyze Cobalt Strike beacon configuration from PE files

analyzing-cobaltstrike-malleable-c2-profiles

Parse and analyze Cobalt Strike Malleable C2 profiles with dissect.cobaltstrike (profiles and beacon-payload configs) and pyMalleableC2 (AST parsing) to extract HTTP/DNS transforms, URIs, headers, sleep/jitter, and injection behavior, then generate network detection signatures. Use when reverse-engineering a captured malleable profile or building detections against Cobalt Strike Beacon traffic.

analyzing-command-and-control-communication

Analyzes malware C2 communication over HTTP, HTTPS, DNS, and custom

analyzing-cyber-kill-chain

Analyzes intrusion activity against the Lockheed Martin Cyber Kill Chain

analyzing-disk-image-with-autopsy

Perform comprehensive forensic analysis of raw (dd), E01, or AFF disk images with Autopsy and The Sleuth Kit, recovering deleted files, examining metadata and embedded artifacts, keyword searching, and building investigation timelines with visual reports. Use for structured analysis of a forensic disk image or when stakeholders need visual reports from evidence.

analyzing-dns-logs-for-exfiltration

Analyzes DNS query logs to detect data exfiltration via DNS tunneling,

analyzing-docker-container-forensics

Investigate compromised Docker containers by analyzing images, layers,

Habilidades Relacionadas