← retour aux outils back to tools

# bulk_extractor

Outil de forensique numérique qui parcourt images disque et fichiers à la recherche de motifs : e-mails, URLs, cartes bancaires, numéros de téléphone, coordonnées GPS, et plus. Aucun parsing de système de fichiers requis. Digital forensics tool that scans disk images and files for patterns — emails, URLs, credit cards, phone numbers, GPS coordinates, and more. No filesystem parsing required.

↗ https://github.com/simsong/bulk_extractor

## Overview

bulk_extractor scans disk images, memory dumps, or files at the byte level — without parsing the filesystem — to extract structured data: email addresses, URLs, credit card numbers, GPS coordinates, phone numbers, JSON, and more. It handles compressed and carved data automatically, making it invaluable for forensic analysis of raw media.

## Basic Usage

Scan a disk image

    bulk_extractor disk.img -o output/

Scan a specific file

    bulk_extractor file.bin -o output/

Scan a directory of files

    bulk_extractor /path/to/files/ -o output/

Scan with specific scanner only

    bulk_extractor disk.img -o output/ -E email

Exclude specific scanners

    bulk_extractor disk.img -o output/ -x email -x url

## Output Structure

    output/
      email.txt          — extracted email addresses
      url.txt            — extracted URLs
      ccn.txt            — credit card numbers
      domain.txt         — domain names
      telephone.txt      — phone numbers
      gps.txt            — GPS coordinates
      json.txt           — JSON fragments
      wordlist.txt       — words for password cracking
      zip.txt            — compressed data found
      pdf.txt            — PDF fragments
      alerts.txt         — high-priority findings
      report.xml         — full XML report

## Targeted Scans

Email extraction only

    bulk_extractor disk.img -o out/ -E email

URL and domain extraction

    bulk_extractor disk.img -o out/ -E url

Credit card numbers

    bulk_extractor disk.img -o out/ -E ccn

WiFi/network info

    bulk_extractor disk.img -o out/ -E wifi

Extract all strings (large output)

    bulk_extractor disk.img -o out/ -E wordlist

## Performance

Multi-threaded (default uses all cores)

    bulk_extractor disk.img -o out/ -j 8

Set scan size limit (for testing)

    bulk_extractor disk.img -o out/ -b 100000000  # 100MB

Skip first N bytes (skip partition table)

    bulk_extractor disk.img -o out/ -s 1048576

Process only specific sector

    bulk_extractor disk.img -o out/ -s 0 -b 512

## Memory Dump Analysis

Scan a memory dump (e.g., from volatility or LiME)

    bulk_extractor memory.dmp -o out/

Find recently visited URLs in browser memory

    cat out/url.txt | grep "http" | sort -u

Find credentials in memory

    cat out/email.txt

Extract WiFi passwords from Windows memory

    cat out/wifi.txt

## Post-Processing

Sort and deduplicate email addresses

    sort -u out/email.txt > unique_emails.txt

Count domain occurrences (most common first)

    cat out/domain.txt | sort | uniq -c | sort -rn | head -20

Find specific company in emails

    grep "@targetcorp.com" out/email.txt

Visualize with BEViewer (GUI)

    beviewer

## Tips

- bulk_extractor works on raw bytes — no filesystem needed (works on unallocated space, slack space)
- The `wordlist.txt` output is useful for targeted password cracking on related accounts
- Always look at `alerts.txt` first — highest confidence findings
- For memory forensics, combine with Volatility for process/network context

Available Scanners

    email           Email addresses
    url             URLs
    domain          Domain names
    ccn             Credit card numbers
    telephone       Phone numbers
    gps             GPS coordinates
    json            JSON data
    pdf             PDF fragments
    zip             Compressed data
    winprefetch     Windows prefetch files
    wifi            WiFi SSIDs and passwords
    aes             AES keys
    base64          Base64 encoded data
    elf             ELF binaries
    exif            EXIF metadata
    find            Custom regex patterns

## Vue d’ensemble

bulk_extractor parcourt les images disque, dumps mémoire ou fichiers au niveau de l’octet, sans parser le système de fichiers, pour extraire des données structurées : adresses e-mail, URLs, numéros de carte bancaire, coordonnées GPS, numéros de téléphone, JSON, et plus. Il gère automatiquement les données compressées et découpées, ce qui le rend inestimable pour l’analyse forensique de médias bruts.

## Utilisation de base

    # Parcourir une image disque
    bulk_extractor disk.img -o output/

    # Parcourir un fichier spécifique
    bulk_extractor file.bin -o output/

    # Parcourir un répertoire de fichiers
    bulk_extractor /path/to/files/ -o output/

    # Parcourir avec un seul scanner spécifique
    bulk_extractor disk.img -o output/ -E email

    # Exclure des scanners spécifiques
    bulk_extractor disk.img -o output/ -x email -x url

## Structure de sortie

    output/
      email.txt          : adresses e-mail extraites
      url.txt            : URLs extraites
      ccn.txt            : numéros de carte bancaire
      domain.txt         : noms de domaine
      telephone.txt      : numéros de téléphone
      gps.txt            : coordonnées GPS
      json.txt           : fragments JSON
      wordlist.txt       : mots pour le crack de mot de passe
      zip.txt            : données compressées trouvées
      pdf.txt            : fragments PDF
      alerts.txt         : découvertes hautement prioritaires
      report.xml         : rapport XML complet

## Scans ciblés

    # Extraction d'e-mails uniquement
    bulk_extractor disk.img -o out/ -E email

    # Extraction d'URLs et de domaines
    bulk_extractor disk.img -o out/ -E url

    # Numéros de carte bancaire
    bulk_extractor disk.img -o out/ -E ccn

    # Infos WiFi/réseau
    bulk_extractor disk.img -o out/ -E wifi

    # Extraire toutes les chaînes (grosse sortie)
    bulk_extractor disk.img -o out/ -E wordlist

## Performance

    # Multi-threadé (utilise tous les cœurs par défaut)
    bulk_extractor disk.img -o out/ -j 8

    # Fixer une limite de taille de scan (pour tester)
    bulk_extractor disk.img -o out/ -b 100000000  # 100MB

    # Sauter les N premiers octets (sauter la table de partitions)
    bulk_extractor disk.img -o out/ -s 1048576

    # Ne traiter qu'un secteur spécifique
    bulk_extractor disk.img -o out/ -s 0 -b 512

## Analyse de dump mémoire

    # Parcourir un dump mémoire (par exemple depuis volatility ou LiME)
    bulk_extractor memory.dmp -o out/

    # Trouver les URLs récemment visitées dans la mémoire du navigateur
    cat out/url.txt | grep "http" | sort -u

    # Trouver des identifiants en mémoire
    cat out/email.txt

    # Extraire les mots de passe WiFi de la mémoire Windows
    cat out/wifi.txt

## Post-traitement

    # Trier et dédupliquer les adresses e-mail
    sort -u out/email.txt > unique_emails.txt

    # Compter les occurrences de domaines (les plus fréquents d'abord)
    cat out/domain.txt | sort | uniq -c | sort -rn | head -20

    # Trouver une entreprise précise dans les e-mails
    grep "@targetcorp.com" out/email.txt

    # Visualiser avec BEViewer (GUI)
    beviewer

## Conseils

- bulk_extractor travaille sur les octets bruts : aucun système de fichiers nécessaire (fonctionne sur l’espace non alloué, le slack space)
- La sortie `wordlist.txt` est utile pour un crack de mot de passe ciblé sur des comptes liés
- Regardez toujours `alerts.txt` en premier : les découvertes avec le plus haut niveau de confiance
- Pour la forensique mémoire, combinez avec Volatility pour le contexte processus/réseau

Scanners disponibles

    email           Email addresses
    url             URLs
    domain          Domain names
    ccn             Credit card numbers
    telephone       Phone numbers
    gps             GPS coordinates
    json            JSON data
    pdf             PDF fragments
    zip             Compressed data
    winprefetch     Windows prefetch files
    wifi            WiFi SSIDs and passwords
    aes             AES keys
    base64          Base64 encoded data
    elf             ELF binaries
    exif            EXIF metadata
    find            Custom regex patterns