
Поиск и извлечение blob-файлов в сети Ethereum Blockchain
Поиск и извлечение blob-файлов в сети Ethereum с использованием API Etherscan.io.

EtherBlob Explorer — это инструмент, предназначенный для исследователей, аналитиков, участников CTF или любого любопытного, кто хочет искать различные типы файлов или любые осмысленные данные, предоставленные человеком, в блокчейне Ethereum. Он выполняет поиск в заданном пользователем диапазоне идентификаторов блоков или временных меток UNIX в любой из 5 доступных сетей: MainNet, Görli, Kovan, Rinkeby и Ropsten.
О практическом применении можно прочитать в этом эксперименте, проведённом в 2017 году. Неизменность блокчейна действительно может быть палкой о двух концах.
Выполните следующую команду:
$ pip install git+https://github.com/litneet64/etherblob-explorer.git
Теперь инструмент готов к использованию из командной строки. Ниже вы найдёте несколько распространённых примеров использования!
Поиск в любой из пяти сетей Ethereum:
Этот инструмент может выполнять поиск в следующих местах, по отдельности или в любой комбинации в рамках одного запуска:
[*] Хранение данных в адресах 'to' возможно в сети Ethereum, так как нет проверки, отправляется ли транзакция на адрес, не связанный с каким-либо ключом. Это означает, что можно совершать транзакции на произвольные адреса, формируя полезную нагрузку из нескольких транзакций размером по 20 байт (это очень редко, но некоторые CTF-задачи именно такие).
Все эти методы могут использоваться как по отдельности, так и в любой комбинации:
binwalk.file (метод по умолчанию).ВАЖНО: Порядок, указанный здесь, используется под капотом для отбрасывания поиска другими методами (например, если файл найден через встроенные файлы, то не будет предпринята попытка поиска с помощью заголовков файлов, дампов ASCII-строк или энтропии), так как маловероятно, что будет найдено что-то осмысленное, если предыдущие методы уже были успешны.
-h)!.api-key) и между этими двумя идентификаторами блоков (включительно):$ etherblob 4081599 4081600
$ etherblob -K api.key 3134050 3145570 -M -H --network goerli
$ etherblob 4081599 4081600 --blocks --transactions -D extracted/
Jan 25 2021 19:00:00 и Jan 26 2021 19:00:00:$ etherblob -t 1611601200 1611687600 --addresses
$ etherblob 3911697 3912697 -S --contracts -C 4
$ etherblob 4081599 4081600 --encrypted
$ etherblob 3911697 3912697 -E 4.0 5.0 -s
$ etherblob -t 1608836400 1608922800 --blocks --transactions --strings
$ etherblob 4081599 4081600 -U -S -M -H --blocks --transactions --addresses --contracts
Дополнительные объяснения продвинутых сценариев и того, что было найдено с их помощью, находятся на вики!
usage: etherblob [-h] [--transactions] [--blocks] [--addresses] [--contracts]
[--network {main,goerli,kovan,rinkeby,ropsten}] [-H] [-M] [-U] [-E CUSTOM_ENTROPY CUSTOM_ENTROPY]
[--encrypted] [-S] [-C CONTRACT_POSITION] [-t] [-K API_KEY_PATH] [-k API_KEY] [-D OUTPUT_DIR]
[-o OUT_LOG] [-s] [-i [IGNORED_FMT [IGNORED_FMT ...]]] [--version]
start_block end_block
Tool to search and extract blob files on the Ethereum Network.
positional arguments:
start_block Start of block id range.
end_block End of block id range.