Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
etherblob-explorer — Ethereum Blockchainネットワーク上のblobファイルを検索および抽出する | Kitploit
ツール/GitHubGitHub/litneet64/etherblob-explorer
OSINT (オープンソースインテリジェンス)フォレンジック情報収集データ復旧CTF
GitHublitneet64/etherblob-explorer

etherblob-explorer

Ethereum Blockchainネットワーク上のblobファイルを検索および抽出する

リポジトリを見る
43115年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

EtherBlob Explorer

GitHub top language GitHub release (latest by date) GitHub

Ethereumネットワーク上でブロブファイルを検索・抽出するためのツールで、Etherscan.io APIを使用します。

thumbnail

はじめに

EtherBlob Explorerは、研究者、アナリスト、CTFプレイヤー、あるいはEthereumブロックチェーンネットワーク上のさまざまな種類のファイルや人間が提供する意味のあるデータを検索したい好奇心旺盛な人のためのツールです。ユーザーが指定したブロックIDまたはUNIXタイムスタンプの範囲を、利用可能な5つのネットワーク(MainNet、Görli、Kovan、Rinkeby、Ropsten)のいずれかで検索します。

実際の事例としては、2017年に行われたこの実験をご覧ください。ブロックチェーンの不変性はまさに諸刃の剣となり得ます。

インストール

以下のコマンドを実行してください:

root@kitploit:~
$ pip install git+https://github.com/litneet64/etherblob-explorer.git

これでCLIから使用できるようになりました。以下に一般的な使用例を示します!

機能

ネットワーク

以下の5つのEthereumネットワークのいずれかで検索します:

  • MainNet
  • Görli
  • Kovan
  • Rinkeby
  • Ropsten

検索場所

このツールは以下の場所を個別に、または同一実行で任意に組み合わせて検索できます:

  • トランザクション入力データ: トランザクションの入力データ内を検索(デフォルトの場所)。
  • ブロック入力データ: ブロックの入力データ内を検索。
  • コントラクトストレージ: コントラクトのストレージ配列の最初の_N_個の32バイト位置を検索し、すべてを1つの大きなデータ文字列として扱います。
  • Toアドレス: 'to'アドレスを可能な入力として追加して検索 [*] (最初にファイルヘッダーをチェックし、すべてのデータを収集した後にbinwalkを使用して再チェック)。

[*] Ethereumネットワークでは、関連するアカウントキーを持たないアドレスに送信する場合の検証がないため、'to'アドレスにデータを保存することが可能です。つまり、任意のアドレスにトランザクションを行い、複数の20バイトサイズのトランザクションにわたってペイロードを作成できます(非常に稀ですが、一部のCTFチャレンジも同様です)。


検索および抽出方法

これらのメソッドはすべて個別に、または任意の組み合わせで使用できます:

  • 埋め込みファイル: binwalkを使用してデータ内に埋め込まれたファイルを検索。
  • ファイルヘッダー/マジックバイト: Linuxユーティリティfileを利用してヘッダー+マジックバイトで検索(デフォルトメソッド)。
  • ASCII文字列ダンプ: データ内のASCII文字列を検索。
  • エントロピーベースの検索: シャノンエントロピーを尺度として使用し、自然言語テキスト(例:UTF-8 Unicode)、暗号化/圧縮ファイル、またはユーザーが指定したエントロピー制限内でユーザーが実行可能と判断するものを検索。

重要: ここに示された順序は内部で他のメソッドによる検索を破棄するために使用されます(例えば、埋め込みファイルでファイルが見つかった場合、ファイルヘッダー、ASCII文字列ダンプ、エントロピーを使用した検索は試みられません)。これは、以前のメソッドが既に成功した場合に有意義なものを見つける可能性が低いためです。


その他
  • UNIXタイムスタンプ(ブロックIDの代わりに)を受け付け、それらの時刻にコミットされた最も近いブロックIDに解決されます。
  • 訪問したトランザクションのすべてのデータをファイルに保存し、後で確認できるようにします。
  • CLI表示されたログをファイルに保存し、後で抽出ファイルの分析に使用します。
  • ユーザー指定のファイル形式(大文字小文字を区別しない)を抽出時に無視し、ブラックリスト登録のために完全なファイル形式の部分文字列を受け付けます。
  • 毎分、一般的な進捗メトリクス(例:解析されたブロック数/トランザクション数、残りのブロック数)を表示し、現在の実行終了時にもいくつかの興味深いメトリクスを表示します。
  • その他の便利な機能はマニュアル(-h)にあります!

使用方法

一般的な使用例

  • MainNetでの標準検索(ファイルヘッダーによるトランザクション内検索)、APIキーはデフォルト位置(.api-key)、以下の2つのブロックID間(両端含む):
root@kitploit:~
$ etherblob 4081599 4081600
  • より徹底した検索(埋め込みファイル検索+通常検索メソッド)をgoerliネットワークで、キーを任意のファイル内に指定して実行:
root@kitploit:~
$ etherblob -K api.key 3134050 3145570 -M -H --network goerli
  • ブロックヘッダーとトランザクションを同時に検索し、抽出ファイルを'extracted'に保存:
root@kitploit:~
$ etherblob 4081599 4081600 --blocks --transactions -D extracted/
  • 2021年1月25日19:00:00から2021年1月26日19:00:00の間にコミットされたブロックの範囲内で、'to'アドレス内のみ検索:
root@kitploit:~
$ etherblob -t 1611601200 1611687600 --addresses
  • コントラクトのストレージのみで文字列を検索し、最初の4つのストレージ配列位置(128バイト分のデータ)を対象:
root@kitploit:~
$ etherblob 3911697 3912697 -S --contracts -C 4
  • トランザクション内のみで暗号化/圧縮データを検索(他のファイル形式は無視):
root@kitploit:~
$ etherblob 4081599 4081600 --encrypted
  • トランザクション内でカスタムエントロピーファイルを検索し、同時にトランザクションをファイルに保存:
root@kitploit:~
$ etherblob  3911697 3912697 -E 4.0 5.0 -s
  • クリスマスイブ(24日から25日)に行われたブロックとトランザクションからASCII文字列のみをダンプ:
root@kitploit:~
$ etherblob -t 1608836400 1608922800 --blocks --transactions --strings
  • フル検索(低速、多くの誤検出が予想されます):
root@kitploit:~
$ etherblob 4081599 4081600 -U -S -M -H --blocks --transactions --addresses --contracts

高度な使用例

高度な使用例やそれらで見つかったものについては、wikiで詳しく説明されています!

マニュアル

root@kitploit:~
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.

optional arguments:
  -h, --help            show this help message and exit
  --transactions        Search for blob files on transaction inputs. Default search mode.
  --blocks              Search for blob files on block inputs. If enabled then transaction input check is disabled unless
                        explicitly enabled.
  --addresses           Search for blob files on 'to' transaction addresses, as on Ethereum anyone can make transactions
                        to an arbitrary address even if it has no related owner (still not very common). If enabled then
                        transaction's input check is disabled unless explicitly enabled.
  --contracts           Search for blob files on contract's storage. If enabled then transaction input check is disabled
                        unless explicitly enabled.
  --network {main,goerli,kovan,rinkeby,ropsten}, -N {main,goerli,kovan,rinkeby,ropsten}
                        Choose blockchain network to search in. Available choices are Main, Goerli (Görli), Kovan, Rinkeby
                        and Ropsten. MainNet is the default network. Case-insensitive.
  -H, --file-header     If enabled, search for file formats via magic bytes/file headers on data (from blocks,
                        transactions or addresses). Enabled by default unless another method is enabled too.
  -M, --embedded        If enabled, search for embedded files on data (from blocks, transactions or addresses) via
                        binwalk. Disabled by default as parsing now takes longer.
  -U, --unicode         If enabled, attempt to search and dump files containing UTF-8 text from harvested data (blocks,
                        transactions, addresses) using Shannon's Entropy (between 3.5 and 5.0) if no other discernible
                        file is found first on that data. Yields many false positives.
  -E CUSTOM_ENTROPY CUSTOM_ENTROPY, --custom-entropy CUSTOM_ENTROPY CUSTOM_ENTROPY
                        Define your own entropy limits (min and max) to search for files/data on harvested data.
  --encrypted           If enabled, attempt to search and dump encrypted/compressed data found via different search
                        methods (blocks, transactions, addresses) using Shannon's Entropy (between 7.0 and 8.0) if no
                        other discernible file is found first on that data.
  -S, --strings         If enabled, attempt to search and dump ASCII strings into files found inside harvested data
                        (blocks, transactions, addresses) if no other discernible file is found first on that data.
  -C CONTRACT_POSITION, --contract-position CONTRACT_POSITION
                        Search inside contract's data until reaching the (N-1)th position on its storage array. Positions
                        contain 32 bytes worth of data. Count starts at 0 and default pos is the 15th pos (16 indexes in
                        total) if no custom position is given.
  -t, --timestamps      If enabled, then start and end block IDs are interpreted as UNIX timestamps that are then resolved
                        to the closest commited blocks for those specific times.
  -K API_KEY_PATH, --api-key-path API_KEY_PATH
                        Path to file with Etherscan API key for queries. Default search location is '.api-key'.
  -k API_KEY, --api-key API_KEY
                        Etherscan API key as parameter. If given then '--api-key-path' is ignored.
  -D OUTPUT_DIR, --output-dir OUTPUT_DIR
                        Out-dir for extracted files. Default is 'ext_{start block}-{end block}'.
  -o OUT_LOG, --out-log OUT_LOG
                        Out-file for logs. Default is 'etherblob_{start block}-{end block}.log'.
  -s, --save-transactions
                        If enabled, all transactions and their info are stored at file 'transactions_{start-block}-{end-
                        block}.txt'
  -i [IGNORED_FMT [IGNORED_FMT ...]], --ignored-fmt [IGNORED_FMT [IGNORED_FMT ...]]
                        Ignored file formats for extraction. Default ignored/common file formats are 'ISO-8859 text' and
                        'Non-ISO extended-ASCII text'. The 'data' file format is always ignored. Accepts file format
                        substrings and makes case-insensitive matches. '*' is a wildcard to ignore all file formats.
  --version             show program's version number and exit

Official GitHub repo 'https://github.com/litneet64/etherblob-explorer'
ツールをダウンロード