Communitygithub.com

adquisicion-de-imagen-de-disco-con-dd-y-dcfldd

Crea imágenes de disco forenses bit a bit con dd o dcfldd en una estación de trabajo forense Linux, preservando la integridad de la evidencia mediante verificación hash (MD5/SHA) durante la adquisición. Utilícelo para obtener imágenes de un disco sospechoso, dispositivo USB o tarjeta de memoria para investigación, preservar evidencia de disco volátil durante la respuesta a incidentes, o producir una copia verificada para procedimientos legales o de aplicación de la ley antes de cualquier análisis destructivo.

¿Qué es adquisicion-de-imagen-de-disco-con-dd-y-dcfldd?

Esta habilidad guía al usuario en la creación de imágenes forenses de discos utilizando las herramientas de línea de comandos `dd` y `dcfldd` en sistemas Linux. Es esencial para investigadores y respondedores de incidentes que necesitan preservar evidencia digital de manera sólida y verificable, garantizando que la copia sea una réplica exacta bit a bit del dispositivo original, incluyendo espacio no asignado y slack space. La habilidad cubre todo el flujo de trabajo: desde la identificación del dispositivo y la habilitación de protección contra escritura (tanto por hardware como por software), hasta la adquisición con hash integrado (MD5 y SHA-256), verificación posterior de integridad y documentación completa del proceso para mantener la cadena de custodia. Soporta escenarios comunes como la adquisición local de discos duros y unidades USB, adquisición remota a través de red con ssh/netcat, y manejo de unidades en fallo usando ddrescue. Su ventaja principal radica en combinar comandos sencillos con prácticas forenses estándar, proporcionando reportes de adquisición y paquetes de logs que demuestran la integridad de la evidencia en procesos legales.

Compatible con~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

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Adquisición de Imagen de Disco con dd y dcfldd

Cuándo Usarlo

  • Cuando necesite crear una copia forense de un disco sospechoso para investigación
  • Durante la respuesta a incidentes, antes de analizar evidencia de disco volátil
  • Cuando procedimientos legales o de aplicación de la ley requieran una copia verificada bit a bit
  • Antes de realizar cualquier análisis destructivo en un dispositivo de almacenamiento
  • Al adquirir imágenes de discos físicos, dispositivos USB o tarjetas de memoria

Prerrequisitos

  • Estación de trabajo forense Linux (SIFT, Kali, o cualquier distribución Linux)
  • dd (preinstalado en todos los sistemas Linux) o dcfldd (versión forense mejorada)
  • Bloqueador de escritura por hardware o software configurado
  • Disco de destino con suficiente almacenamiento (mayor que la fuente)
  • Privilegios root/sudo en la estación de trabajo forense
  • Utilidades de hashing SHA-256 o MD5 (sha256sum, md5sum)

Flujo de Trabajo

Paso 1: Identificar el Dispositivo de Destino y Activar Protección contra Escritura

# Listar todos los dispositivos de bloque conectados para identificar el destino
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT,MODEL

# Verificar los detalles del dispositivo
fdisk -l /dev/sdb

# Activar bloqueo de escritura por software (si no hay bloqueador por hardware)
blockdev --setro /dev/sdb

# Verificar estado de solo lectura
blockdev --getro /dev/sdb
# Salida: 1 (significa que solo lectura está activado)

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

Paso 2: Preparar el Destino y Documentar la Fuente

# Crear estructura de directorios del caso
mkdir -p /cases/case-2024-001/{images,hashes,logs,notes}

# Documentar información de la unidad fuente
hdparm -I /dev/sdb > /cases/case-2024-001/notes/source_drive_info.txt

# Registrar el número de serie y modelo
smartctl -i /dev/sdb >> /cases/case-2024-001/notes/source_drive_info.txt

# Hash previo del dispositivo fuente
sha256sum /dev/sdb | tee /cases/case-2024-001/hashes/source_hash_before.txt

Paso 3: Adquirir la Imagen Usando dd

# Adquisición básica con dd, progreso y manejo de errores
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 imágenes comprimidas y ahorrar espacio
dd if=/dev/sdb bs=4096 conv=noerror,sync status=progress | \
   gzip -c > /cases/case-2024-001/images/evidence.dd.gz

# Usando dd con un recuento específico para adquisición parcial
dd if=/dev/sdb of=/cases/case-2024-001/images/first_1gb.dd \
   bs=1M count=1024 status=progress

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

# Instalar dcfldd si no está presente
apt-get install dcfldd

# Adquirir imagen con hashing integrado y salida 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 imágenes grandes en segmentos manejables
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 con pase de verificación
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

Paso 5: Verificar la Integridad de la Imagen

# Hash de la imagen adquirida
sha256sum /cases/case-2024-001/images/evidence.dd | \
   tee /cases/case-2024-001/hashes/image_hash.txt

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

# Si se usan imágenes divididas, verificar cada segmento
sha256sum /cases/case-2024-001/images/evidence.dd.* | \
   tee /cases/case-2024-001/hashes/split_image_hashes.txt

# Re-hash de la fuente para confirmar que no ocurrieron cambios
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

Paso 6: Documentar el Proceso de Adquisición

# Generar reporte de adquisición
cat << 'EOF' > /cases/case-2024-001/notes/acquisition_report.txt
REPORTE DE ADQUISICIÓN DE IMAGEN DE DISCO
==========================================
Número de Caso: 2024-001
Fecha/Hora: $(date -u +"%Y-%m-%d %H:%M:%S UTC")
Examinador(a): [Nombre]

Dispositivo Fuente: /dev/sdb
Modelo: [de salida de hdparm]
Serial: [de salida de hdparm]
Tamaño: [de salida de fdisk]

Herramienta de Adquisición: dcfldd v1.9.1
Tamaño de Bloque: 4096
Bloqueador de Escritura: [Modelo de hardware/software]

Archivo de Imagen: evidence.dd
Hash de Imagen (SHA-256): [del archivo hash]
Hash de Fuente (SHA-256): [del archivo hash]
Coincidencia de Hash: SÍ/NO

Errores Durante la Adquisición: [del registro de errores]
EOF

# Comprimir logs para archivo
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/

Conceptos Clave

ConceptoDescripción
Copia bit a bitRéplica exacta de la fuente incluyendo espacio no asignado y slack space
Bloqueador de escrituraMecanismo por hardware o software que impide escrituras en el medio de evidencia
Verificación hashHash criptográfico que compara fuente e imagen para probar integridad
Tamaño de bloque (bs)Tamaño de fragmento de transferencia que afecta velocidad; 4096 o 64K típico en forense
conv=noerror,syncContinuar en errores de lectura y rellenar con ceros para mantener alineación de offset
Cadena de custodiaRastro documentado que prueba que la evidencia no ha sido manipulada
Imágenes divididasFragmentar imágenes grandes en archivos más pequeños para almacenamiento y transporte
Formato raw/ddFormato de imagen bit a bit sin sobrecarga de contenedor de metadatos

Herramientas y Sistemas

HerramientaPropósito
ddUtilidad estándar de duplicación de discos Unix para imágenes raw
dcflddVersión mejorada de dd del DoD Computer Forensics Laboratory con hashing
dc3ddOtra variante forense de dd del DoD Cyber Crime Center
sha256sumCálculo de hash SHA-256 para verificación de integridad
blockdevComando Linux para configurar modo de solo lectura en dispositivos de bloque
hdparmIdentificación de unidades y reporte de parámetros
smartctlObtención de datos S.M.A.R.T. para salud e identificación de la unidad
lsblkEnumeración e identificación de dispositivos de bloque

Escenarios Comunes

Escenario 1: Adquirir un Disco Duro de una Laptop Sospechosa Conecte el disco mediante un bloqueador de escritura por hardware Tableau T35u, identifíquelo como /dev/sdb, use dcfldd con hashing SHA-256, divida en segmentos de 4GB para archivo en DVD, verifique que los hashes coincidan, documente en las notas del caso.

Escenario 2: Obtener Imagen de una Unidad Flash USB desde una Estación de Trabajo Comprometida Use bloqueo de escritura por software con blockdev --setro, adquiera con dcfldd incluyendo hashing dual MD5 y SHA-256, la imagen es lo suficientemente pequeña para un solo archivo, verifique y almacene en un disco de caso cifrado.

Escenario 3: Adquisición Remota a Través de Red Use dd canalizado a través de netcat o ssh para adquisición remota: ssh root@remote "dd if=/dev/sda bs=4096" | dd of=remote_image.dd bs=4096, haga hash en ambos extremos de forma independiente para verificar la integridad de la transferencia.

Escenario 4: Adquirir desde un Disco en Fallo Use ddrescue primero para recuperar sectores legibles, luego use dd con conv=noerror,sync para rellenar huecos con ceros, documente qué sectores no fueron legibles en el registro de errores.

Formato de Salida

Resumen de Adquisición:
  Fuente:       /dev/sdb (500GB Western Digital WD5000AAKX)
  Destino:      /cases/case-2024-001/images/evidence.dd
  Herramienta:  dcfldd 1.9.1
  Tamaño de Bloque: 4096 bytes
  Duración:     2h 15m 32s
  Bytes Copiados: 500.107.862.016
  Errores:      0 sectores defectuosos
  SHA-256 Fuente:  a3f2b8c9d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1
  SHA-256 Imagen:  a3f2b8c9d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1
  Verificación:    PASÓ - Los hashes coinciden

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,

Skills relacionados