bulk_extractor

Network Analysis v2.1.1 · 27.04.2024 не обновлялся >2 лет

Высокоскоростной инструмент форензики: сканирует образы дисков, файлы и потоки данных без предварительного монтирования и парсинга файловой системы. Извлекает email-адреса, URL, номера кредитных карт, MAC-адреса, GPS-координаты, домены и другие артефакты напрямую из бинарного потока.

v2.1.1
27.04.2024 current
Добавлен 07.07.2026 · Обновлён 15.07.2026 · Network Analysis
Установка
# Ubuntu/Debian:
sudo apt install bulk-extractor

# Из исходников:
git clone https://github.com/simsong/bulk_extractor
cd bulk_extractor
bash bootstrap.sh
./configure && make && sudo make install

# Сканирование образа диска:
bulk_extractor -o output_dir/ disk_image.dd

# Сканирование конкретного потока:
bulk_extractor -o output_dir/ -E pdf disk_image.dd

# Параллельная обработка:
bulk_extractor -o output_dir/ -j 8 disk_image.dd
переведено ИИ

codecov Статус сборки Coverity Scan

bulk_extractor — это производительный инструмент для эксплуатации в цифровой криминалистике. Это кнопка "получить доказательства", которая быстро сканирует любой вид входных данных (образы дисков, файлы, каталоги файлов и т.д.) и извлекает структурированную информацию, такую как адреса электронной почты, номера кредитных карт, изображения JPEG и фрагменты JSON, без разбора файловой системы или ее структур. Результаты сохраняются в текстовых файлах, которые легко просматривать, искать или использовать в качестве входных данных для другой криминалистической обработки. bulk_extractor также создает гистограммы определенных типов обнаруженных признаков, таких как поисковые запросы Google и адреса электронной почты, поскольку, как показали предыдущие исследования, такие гистограммы особенно полезны в расследовательных и правоохранительных приложениях.

В отличие от других инструментов для цифровой криминалистики, bulk_extractor проверяет каждый байт данных, чтобы увидеть, не является ли он началом последовательности, которую можно распаковать или иным образом декодировать. Если да, декодированные данные рекурсивно повторно проверяются. В результате bulk_extractor может находить такие вещи, как JPEG, закодированные в BASE64, и сжатые объекты JSON, которые пропускаются традиционными инструментами "вырезания".

Это ветка разработки bulk_extractor 2.1! Она надежна, но если вам нужен хорошо протестированный релиз промышленного качества, скачайте релиз с https://github.com/simsong/bulk_extractor/releases.

Сборка bulk_extractor

Мы рекомендуем собирать из исходного кода. В каталоге etc/ мы предоставляем ряд скриптов bash, которые настраивают чистую виртуальную машину:

git clone --recurse-submodules https://github.com/simsong/bulk_extractor.git
./bootstrap.sh
./configure
make
make install

Подробные инструкции по установке пакетов и сборке bulk_extractor читайте на странице вики: https://github.com/simsong/bulk_extractor/wiki/Installing-bulk_extractor

Дополнительную информацию о bulk_extractor можно найти по адресу: https://forensics.wiki/bulk_extractor

Проверенные конфигурации

Этот релиз bulk_extractor требует C++17 и был протестирован на компиляцию на следующих платформах:

  • Amazon Linux по состоянию на 2023-05-25
  • Fedora 36 (наиболее недавно)
  • Ubuntu 20.04LTS
  • MacOS 13.2.1

Вы всегда должны начинать с новой виртуальной машины и готовить систему с помощью соответствующего скрипта подготовки в каталоге etc/.

Проверенные конфигурации, с которыми bulk_extractor НЕ работает

  • Debian 10 (не поддерживается для нативных сборок))

РЕКОМЕНДУЕМАЯ ЦИТАТА

Если вы пишете научную статью и используете bulk_extractor, пожалуйста, цитируйте его следующим образом:

Garfinkel, Simson, Digital media triage with bulk data analysis and bulk_extractor. Computers and Security 32: 56-72 (2013) * Science Direct * Bibliometrics * Сайт автора

@article{10.5555/2748150.2748581,
author = {Garfinkel, Simson L.},
title = {Digital Media Triage with Bulk Data Analysis and Bulk_extractor},
year = {2013},
issue_date = {February 2013},
publisher = {Elsevier Advanced Technology Publications},
address = {GBR},
volume = {32},
number = {C},
issn = {0167-4048},
journal = {Comput. Secur.},
month = feb,
pages = {56–72},
numpages = {17},
keywords = {Digital forensics, Bulk data analysis, bulk_extractor, Stream-based forensics, Windows hibernation files, Parallelized forensic analysis, Optimistic decompression, Forensic path, Margin, EnCase}
}

ПЕРЕМЕННЫЕ ОКРУЖЕНИЯ

Следующие переменные окружения могут быть установлены для изменения работы bulk_extractor:

Переменная Поведение
DEBUG_BENCHMARK_CPU Включает информацию о производительности процессора в файл report.xml
DEBUG_NO_SCANNER_BYPASS Отключает логику обхода сканеров, которая пропускает некоторые сканеры, если sbuf содержит нгаммы или не имеет высокого количества различных символов.
DEBUG_HISTOGRAMS Выводит отладочную информацию о основанных на файлах гистограммах.
DEBUG_HISTOGRAMS_NO_INCREMENTAL Не использует инкрементальные, основанные на памяти гистограммы.
DEBUG_PRINT_STEPS Печатает в stdout, когда каждый сканер вызывается для каждого sbuf
DEBUG_DUMP_DATA Дампит в шестнадцатеричном формате каждый sbuf, который подлежит сканированию.
DEBUG_SCANNERS_IGNORE Разделенный запятыми список сканеров для игнорирования (не загрузки). Полезно для отладки модульных тестов.

Другие подсказки для отладки:

  • Запустите -xall, чтобы работать без каких-либо сканеров.
  • Запустите со случайной выборкой 0,001%, чтобы отладить чтение размера образа и несколько быстрых поисков.

СБОРКА НА WINDOWS

Примечание: В настоящее время bulk_extractor 2.1 не собирается на Windows, но 2.0 собирается.

Если вы хотите собрать для Windows, вам следует выполнить кросс-компиляцию с системы Fedora. Начните с чистой виртуальной машины и используйте следующие команды:

$ git clone --recurse-submodules https://github.com/simsong/bulk_extractor.git
$ cd bulk_extractor/etc
$ bash CONFIGURE_FEDORA36_win64.bash
$ cd ..
$ make win64

ЗАМЕЧАНИЯ К РЕЛИЗУ BULK_EXTRACTOR 2.0

Релиз 2.1.1 (26 апреля 2024 г.)

Рекордер признаков jpeg_carved переименован в jpeg, чтобы режим вырезания jpeg можно было задать с помощью -S jpeg_carve_mode=2, а не -S jpeg_carved_carve_mode=2, что вводило в заблуждение.

Релиз 2.0

bulk_extractor 2.0 (BE2) теперь работает. Хотя он работает с просмотрщиком на Java, у нас в настоящее время нет установщика, работающего под Windows.

BE2 требует C++17 для компиляции. Он требует https://github.com/simsong/be13_api.git в качестве подмодуля, который, в свою очередь, требует dfxml в качестве подмодуля.

Проект занял больше времени, чем ожидалось. Помимо обновления до C++17, он был использован как возможность для масштабного рефакторинга кода и общего повышения его качества, тестируемости и надежности. Статья об этом эксперименте появится в ближайшем номере ACM Queue

Комментарии
Войдите, чтобы оставить комментарий