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_extractorOverview
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.txtoutput is useful for targeted password cracking on related accounts - Always look at
alerts.txtfirst — 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.txtest utile pour un crack de mot de passe ciblé sur des comptes liés - Regardez toujours
alerts.txten 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