Communitygithub.com

SamuelChien/mega-skills-collection

Créer des images disque bit-à-bit, fiables d'un point de vue médico-légal, en utilisant dd et dcfldd tout en préservant l'intégrité des preuves via la vérification de hachage.

Qu'est-ce que mega-skills-collection ?

Cette compétence automatisée guide les utilisateurs et les agents IA dans l'acquisition d'images disque médico-légales, en utilisant les utilitaires Unix `dd` et `dcfldd`. Elle est conçue pour les enquêteurs numériques, les équipes de réponse aux incidents et les professionnels juridiques qui ont besoin de copies de données bit-parfaites, vérifiées par hachage et juridiquement recevables. La compétence couvre l'ensemble du processus : identification de la source, activation du blocage en écriture, acquisition avec options de compression et de découpage, vérification d'intégrité via SHA-256/MD5, et documentation complète de la chaîne de contrôle. Elle prend en charge les environnements Linux (SIFT, Kali, distributions standard) et explique à la fois les commandes `dd` de base et les fonctionnalités avancées de `dcfldd` (hachage intégré, sorties segmentées, double hachage). Des scénarios concrets (disque dur d'ordinateur portable, clé USB défaillante, acquisition réseau via SSH, disques défaillants) assurent une applicabilité large. Idéale pour l'analyse forensique sur machines virtuelles ou serveurs distants, cette compétence intègre des flux de travail vérifiés garantissant une acquisition légale et techniquement valide.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/SamuelChien/mega-skills-collection/tree/HEAD/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

Acquisition d'image disque avec dd et dcfldd

Quand l'utiliser

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

Prérequis

  • Poste de travail médico-légal Linux (SIFT, Kali ou toute distribution Linux)
  • dd (préinstallé sur tous les systèmes Linux) ou dcfldd (version médico-légale améliorée)
  • Bloqueur d'écriture matériel ou blocage en écriture logiciel configuré
  • Disque de destination avec suffisamment d'espace (plus grand que la source)
  • Privilèges root/sudo sur le poste de travail
  • 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 de 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 en é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 en écriture permanent
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 de base dd 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 compteur spécifique 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 médico-légale 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 segmenté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

# Segmenter les grandes images en parties 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 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 segmenté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'aucun changement n'est survenu
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")
Examinateur : [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 image (SHA-256) : [depuis le fichier de hachage]
Hachage source (SHA-256) : [depuis le fichier de hachage]
Correspondance des hachages : OUI/NON

Erreurs lors de 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 résiduel
Bloqueur d'écritureMécanisme matériel ou logiciel empêchant l'écriture sur le support de preuve
Vérification par hachageHachage cryptographique comparant la source et l'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 de zéros pour maintenir l'alignement des offsets
Chaîne de contrôleTraçabilité documentée prouvant que les preuves n'ont pas été altérées
Imagerie segmentéeDivision des grandes images en fichiers plus petits pour le stockage et le transport
Format brû/ddFormat d'image bit-à-bit sans surcharge de métadonnées de conteneur

Outils & systèmes

OutilObjectif
ddUtilitaire standard de duplication de disque Unix pour l'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 du hachage SHA-256 pour la vérification d'intégrité
blockdevCommande Linux pour définir le mode lecture seule d'un périphérique de blocs
hdparmIdentification du disque et rapport de paramètres
smartctlRécupération des données S.M.A.R.T. pour l'état et l'identification du disque
lsblkÉnumération et identification des périphériques de 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, segmentez en morceaux 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'un poste de travail compromis Utilisez un blocage en écriture logiciel avec blockdev --setro, acquérez avec dcfldd incluant double hachage MD5 et SHA-256, l'image est assez 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 en pipe via netcat ou ssh pour une acquisition à distance : ssh root@remote "dd if=/dev/sda bs=4096" | dd of=remote_image.dd bs=4096, hachez les deux extrémités indépendamment pour vérifier l'intégrité du transfert.

Scénario 4 : Acquisition depuis un disque défaillant Utilisez d'abord ddrescue 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 (500 Go Western Digital WD5000AAKX)
  Destination :  /cases/case-2024-001/images/evidence.dd
  Outil :         dcfldd 1.9.1
  Taille de bloc :   4096 octets
  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.

SamuelChien/mega-skills-collection

Security audit, hardening, threat modeling (STRIDE/PASTA), Red/Blue Team, OWASP checks, code review, incident response, and infrastructure security for any project.

SamuelChien/mega-skills-collection

Arquitecto de Soluciones Principal y Consultor Tecnológico de Andru.ia. Diagnostica y traza la hoja de ruta óptima para proyectos de IA en español.

SamuelChien/mega-skills-collection

Ingeniero de Sistemas de Andru.ia. Diseña, redacta y despliega nuevas habilidades (skills) dentro del repositorio siguiendo el Estándar de Diamante.

SamuelChien/mega-skills-collection

Estratega de Inteligencia de Dominio de Andru.ia. Analiza el nicho específico de un proyecto para inyectar conocimientos, regulaciones y estándares únicos del sector. Actívalo tras definir el nicho.

SamuelChien/mega-skills-collection

2D game development principles. Sprites, tilemaps, physics, camera.

SamuelChien/mega-skills-collection

3D game development principles. Rendering, shaders, physics, cameras.

SamuelChien/mega-skills-collection

Expert in building 3D experiences for the web - Three.js, React Three Fiber, Spline, WebGL, and interactive 3D scenes. Covers product configurators, 3D portfolios, immersive websites, and bringing depth to web experiences.

SamuelChien/mega-skills-collection

Accessibility audit skill for scanning, fixing, and verifying WCAG 2.2 Level A and AA compliance across React, Next.js, Vue, Angular, Svelte, and plain HTML codebases. Use when auditing accessibility, fixing a11y violations, checking color contrast, generating compliance reports, or integrating accessibility checks into CI/CD pipelines.

SamuelChien/mega-skills-collection

Ab Test Analyzer - Auto-activating skill for Data Analytics. Triggers on: ab test analyzer, ab test analyzer Part of the Data Analytics skill category.

SamuelChien/mega-skills-collection

A B Test Config Creator - Auto-activating skill for ML Deployment. Triggers on: a b test config creator, a b test config creator Part of the ML Deployment skill category.

SamuelChien/mega-skills-collection

When the user wants to plan, design, or implement an A/B test or experiment. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "conversion experiment," "statistical significance," or "test this." For tracking implementation, see analytics-tracking.

SamuelChien/mega-skills-collection

Acceptance Criteria Creator - Auto-activating skill for Enterprise Workflows. Triggers on: acceptance criteria creator, acceptance criteria creator Part of the Enterprise Workflows skill category.

SamuelChien/mega-skills-collection

Use when a coding task should be driven end-to-end from issue intake through implementation, review, deployment, and acceptance verification with minimal human re-intervention.

SamuelChien/mega-skills-collection

Accessibility Audit Runner - Auto-activating skill for Frontend Development. Triggers on: accessibility audit runner, accessibility audit runner Part of the Frontend Development skill category.

SamuelChien/mega-skills-collection

You are an accessibility expert specializing in WCAG compliance, inclusive design, and assistive technology compatibility. Conduct audits, identify barriers, and provide remediation guidance.

SamuelChien/mega-skills-collection

Web accessibility patterns for WCAG 2.2 compliance including ARIA, keyboard navigation, screen readers, and testing

SamuelChien/mega-skills-collection

Manage Discord channel access — approve pairings, edit allowlists, set DM/group policy. Use when the user asks to pair, approve someone, check who's allowed, or change policy for the Discord channel.

SamuelChien/mega-skills-collection

Create unified specification packages across Business, Development, and Design teams. Staged elaboration (L0 Vision → L1 Requirements → L2 Team Detail → L3 Acceptance Criteria) to build shared understanding. Does not write code.

SamuelChien/mega-skills-collection

Research a company or person and get actionable sales intel. Works standalone with web search, supercharged when you connect enrichment tools or your CRM. Trigger with "research [company]", "look up [person]", "intel on [prospect]", "who is [name] at [company]", or "tell me about [company]".

SamuelChien/mega-skills-collection

Validate messaging consistency across website, GitHub repos, and local documentation generating read-only discrepancy reports. Use when checking content alignment or finding mixed messaging. Trigger with phrases like "check consistency", "validate documentation", or "audit messaging".

Skills associés