Tool Guide · data

bulk_extractor

What it does

bulk_extractor is a high-speed parallel scanner that reads a disk image and pulls out bulk artifacts: email addresses, URLs, phone numbers, credit card numbers, domain names, encrypted-password indicators, JPEGs, and more — including from compressed and even partially-encrypted data. It's designed to run unattended over an entire image in minutes and produce plaintext output you can grep, script, and pivot on.

Install

apt install bulk-extractor
dnf install bulk_extractor
git clone https://github.com/simsong/bulk_extractor.git   # build from source

Running it

# simplest run - output dir must be empty/new
mkdir /evidence/be_out
bulk_extractor -o /evidence/be_out /evidence/image.dd

# parallel (default) - control workers
bulk_extractor -o /evidence/be_out -j 8 /evidence/image.dd

# restrict scanners with -x or -e
bulk_extractor -o /evidence/be_out -x net,phone /evidence/image.dd   # disable net & phone
bulk_extractor -o /evidence/be_out -e http /evidence/image.dd         # run ONLY http

# scan a partition or memory dump too
bulk_extractor -o /evidence/be_out /evidence/part2.dd
bulk_extractor -o /evidence/be_out /evidence/ram.lime

The scanner outputs

After a run, the output directory is full of feature files. The most useful:

FileContent
email.txtEmail addresses + offsets
url.txtURLs (with history of who accessed them)
domain.txtDomain names
phone.txtPhone numbers
creditcard.txtCredit card numbers (Luhn-checked)
pii.txtPersonal identifiers
exif.txtEXIF metadata from images
windirs.txtWindows-style paths
carved/Carved files (use -C to enable)
report.xmlRun summary & settings for documentation

Recovery, carving & contexts

# enable carving (JPEG, PNG, EXIF) with -C
bulk_extractor -C -o /evidence/be_out /evidence/image.dd

# carve by MIME type
bulk_extractor -M -o /evidence/be_out /evidence/image.dd

# recover data around hits - gives you the surrounding bytes
bulk_extractor -r 4096 -o /evidence/be_out /evidence/image.dd

# restrict to a byte range (scan a suspicious region)
bulk_extractor -R start,end -o /evidence/be_out /evidence/image.dd
Offsets everywhere Nearly every feature file records the byte offset of each hit. Combine that with TSK (fls/istat) to map a hit to a specific file — the same offset-to-artifact trick described in the strings & grep guide.

When to use it


← Previous: testdisk & photorec  ·  All tool guides →