Communitygithub.com

Acquisition d'image disque avec dd et dcfldd

Créez des images disque bit à bit, légalement recevables, avec dd ou dcfldd sur une station de travail forensique Linux, en préservant l'intégrité des preuves via la vérification de hachage (MD5/SHA) pendant l'acquisition. Utilisez cette compétence pour imager un disque suspect, une clé USB ou une carte mémoire dans le cadre d'une enquête, préserver les preuves volatiles lors d'une réponse à incident, ou produire une copie vérifiée pour des procédures judiciaires avant toute analyse destructive.

Qu'est-ce que Acquisition d'image disque avec dd et dcfldd ?

Cette compétence permet aux agents IA (tels que Claude Code) d'effectuer une acquisition d'image disque forensique légalement recevable en utilisant les utilitaires Linux standard `dd` ou sa version améliorée `dcfldd`. Elle est conçue pour être utilisée lors d'enquêtes numériques, de réponses à incidents, ou de procédures judiciaires nécessitant une copie bit à bit vérifiée d'un support de stockage. La compétence guide l'agent à travers un flux de travail complet en six étapes : identification du dispositif source avec protection en écriture, documentation de la source, acquisition de l'image avec hachage intégré (SHA-256/MD5), vérification de l'intégrité, et génération d'un rapport d'acquisition détaillé. Elle prend en charge à la fois `dd` pour les acquisitions de base et `dcfldd` pour les fonctionnalités forensiques avancées comme le hachage en continu, le découpage en segments, et la vérification sur place. La compétence inclut également des scénarios courants comme l'acquisition à distance via SSH, le clonage de disques défaillants, et l'utilisation de bloqueurs d'écriture matériels ou logiciels, garantissant une chaîne de traçabilité complète.

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

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait Acquisition d'image disque avec dd et dcfldd ?

Quand utiliser

  • Lorsque vous devez créer une copie forensique d'un disque suspect pour enquête
  • Pendant une réponse à incident, pour préserver les preuves volatiles avant analyse
  • Quand des procédures judiciaires ou légales exigent une copie bit à bit vérifiée
  • Avant d'effectuer toute analyse destructive sur un périphérique de stockage
  • Lors de l'acquisition d'images à partir de disques physiques, clés USB ou cartes mémoire

Prérequis

  • Station de travail forensique Linux (SIFT, Kali, ou toute distribution Linux)
  • dd (préinstallé sur tous les systèmes Linux) ou dcfldd (version forensique améliorée)
  • Bloqueur d'écriture matériel ou logiciel configuré
  • Disque de destination avec un espace de stockage suffisant (plus grand que la source)
  • Privilèges root/sudo sur la station de travail forensique
  • Utilitaires de hachage SHA-256 ou MD5 (sha256sum, md5sum)

Flux de travail

Étape 1 : Identifier le périphérique cible et activer la protection en écriture

# Lister tous les périphériques blocs connectés pour identifier la cible
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT,MODEL

# Vérifier les détails du périphérique
fdisk -l /dev/sdb

# Activer le blocage d'écriture logiciel (si aucun bloqueur matériel)
blockdev --setro /dev/sdb

# Vérifier le statut lecture seule
blockdev --getro /dev/sdb
# Sortie : 1 (lecture seule activée)

# Alternative : utiliser les règles udev pour un blocage d'écriture persistant
echo 'SUBSYSTEM=="block", ATTRS{serial}=="WD-WCAV5H861234", ATTR{ro}="1"' > /etc/udev/rules.d/99-writeblock.rules
udevadm control --reload-rules

Étape 2 : Préparer la destination et documenter la source

# Créer la structure de répertoires du dossier
mkdir -p /cases/case-2024-001/{images,hashes,logs,notes}

# Documenter les informations du disque source
hdparm -I /dev/sdb > /cases/case-2024-001/notes/source_drive_info.txt

# Enregistrer le numéro de série et le modèle
smartctl -i /dev/sdb >> /cases/case-2024-001/notes/source_drive_info.txt

# Pré-hacher le périphérique source
sha256sum /dev/sdb | tee /cases/case-2024-001/hashes/source_hash_before.txt

Étape 3 : Acquérir l'image avec dd

# Acquisition dd de base avec progression et gestion des erreurs
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

# Pour des images compressées afin d'économiser de l'espace
dd if=/dev/sdb bs=4096 conv=noerror,sync status=progress | \
   gzip -c > /cases/case-2024-001/images/evidence.dd.gz

# Utiliser dd avec un nombre spécifique de blocs pour une acquisition partielle
dd if=/dev/sdb of=/cases/case-2024-001/images/first_1gb.dd \
   bs=1M count=1024 status=progress

Étape 4 : Acquérir avec dcfldd (méthode forensique privilégiée)

# Installer dcfldd s'il n'est pas présent
apt-get install dcfldd

# Acquérir l'image avec hachage intégré et sortie fractionnée
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

# Fractionner les grandes images en segments gérables
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

# Acquérir avec une passe de vérification
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

Étape 5 : Vérifier l'intégrité de l'image

# Hacher l'image acquise
sha256sum /cases/case-2024-001/images/evidence.dd | \
   tee /cases/case-2024-001/hashes/image_hash.txt

# Comparer les hachages source et image
diff <(sha256sum /dev/sdb | awk '{print $1}') \
     <(sha256sum /cases/case-2024-001/images/evidence.dd | awk '{print $1}')

# Si des images fractionnées sont utilisées, vérifier chaque segment
sha256sum /cases/case-2024-001/images/evidence.dd.* | \
   tee /cases/case-2024-001/hashes/split_image_hashes.txt

# Re-hacher la source pour confirmer qu'aucune modification n'est survenue
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

Étape 6 : Documenter le processus d'acquisition

# Générer le rapport d'acquisition
cat << 'EOF' > /cases/case-2024-001/notes/acquisition_report.txt
RAPPORT D'ACQUISITION D'IMAGE DISQUE
=====================================
Numéro de dossier : 2024-001
Date/Heure : $(date -u +"%Y-%m-%d %H:%M:%S UTC")
Expert : [Nom]

Périphérique source : /dev/sdb
Modèle : [depuis la sortie hdparm]
Série : [depuis la sortie hdparm]
Taille : [depuis la sortie fdisk]

Outil d'acquisition : dcfldd v1.9.1
Taille de bloc : 4096
Bloqueur d'écriture : [Modèle matériel/logiciel]

Fichier image : evidence.dd
Hachage de l'image (SHA-256) : [depuis le fichier de hachage]
Hachage source (SHA-256) : [depuis le fichier de hachage]
Correspondance des hachages : OUI/NON

Erreurs pendant l'acquisition : [depuis le journal d'erreurs]
EOF

# Compresser les journaux pour archivage
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/

Concepts clés

ConceptDescription
Copie bit à bitRéplique exacte de la source incluant l'espace non alloué et l'espace libre résiduel
Bloqueur d'écritureMécanisme matériel ou logiciel empêchant l'écriture sur le support de preuve
Vérification par hachageComparaison cryptographique du hachage entre source et image pour prouver l'intégrité
Taille de bloc (bs)Taille de transfert influençant la vitesse ; 4096 ou 64K typique en forensique
conv=noerror,syncContinuer en cas d'erreurs de lecture et remplir avec des zéros pour maintenir l'alignement des décalages
Chaîne de traçabilitéPiste documentée prouvant que la preuve n'a pas été altérée
Imagerie fractionnéeDécoupage des grandes images en fichiers plus petits pour le stockage et le transport
Format brut/ddFormat d'image bit à bit sans surcharge de conteneur de métadonnées

Outils et systèmes

OutilObjectif
ddUtilitaire standard Unix de duplication de disque pour imagerie brute
dcflddVersion améliorée de dd par le DoD Computer Forensics Laboratory avec hachage
dc3ddAutre variante forensique de dd du DoD Cyber Crime Center
sha256sumCalcul de hachage SHA-256 pour vérification d'intégrité
blockdevCommande Linux pour configurer le mode lecture seule d'un périphérique bloc
hdparmIdentification du disque et rapport de paramètres
smartctlRécupération des données S.M.A.R.T. pour la santé et l'identification du disque
lsblkÉnumération et identification des périphériques blocs

Scénarios courants

Scénario 1 : Acquisition du disque dur d'un ordinateur portable suspect Connectez le disque via un bloqueur d'écriture matériel Tableau T35u, identifiez-le comme /dev/sdb, utilisez dcfldd avec hachage SHA-256, fractionnez en segments de 4 Go pour archivage sur DVD, vérifiez la correspondance des hachages, documentez dans les notes du dossier.

Scénario 2 : Imagerie d'une clé USB provenant d'une station de travail compromise Utilisez le blocage d'écriture logiciel avec blockdev --setro, acquérez avec dcfldd incluant un double hachage MD5 et SHA-256, l'image est suffisamment petite pour un seul fichier, vérifiez et stockez sur un disque de dossier chiffré.

Scénario 3 : Acquisition à distance via réseau Utilisez dd redirigé via netcat ou ssh pour l'acquisition à distance : ssh root@remote "dd if=/dev/sda bs=4096" | dd of=remote_image.dd bs=4096, hachez indépendamment les deux extrémités pour vérifier l'intégrité du transfert.

Scénario 4 : Acquisition d'un disque défaillant Utilisez ddrescue d'abord pour récupérer les secteurs lisibles, puis utilisez dd avec conv=noerror,sync pour combler les trous avec des zéros, documentez les secteurs illisibles dans le journal d'erreurs.

Format de sortie

Résumé de l'acquisition :
  Source :       /dev/sdb (500GB Western Digital WD5000AAKX)
  Destination :  /cases/case-2024-001/images/evidence.dd
  Outil :        dcfldd 1.9.1
  Taille de bloc : 4096 bytes
  Durée :        2h 15m 32s
  Octets copiés : 500,107,862,016
  Erreurs :       0 secteurs défectueux
  SHA-256 source :  a3f2b8c9d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1
  SHA-256 image :   a3f2b8c9d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1
  Vérification :    RÉUSSIE - Les hachages correspondent

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 associés