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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
DumpsterDiver — さまざまなファイルタイプでシークレットを検索するツール。 | Kitploit
ツール/GitHubGitHub/securing/dumpsterdiver
静的分析脆弱性分析コード分析データ流出情報収集シークレット検出Archived
GitHubsecuring/dumpsterdiver

DumpsterDiver

さまざまなファイルタイプでシークレットを検索するツール。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

DumpsterDiver_logo

DumpsterDiver(作成者:@Rzepsky)

DumpsterDiver は、大量のデータを分析し、AWS Access Key、Azure Share Key、SSHキーなどのキーやパスワードといったハードコードされたシークレットを検索するツールです。また、単純な条件(例:少なくとも10件のメールアドレスを含むCSVファイルのみを報告する)を用いた単純な検索ルールを作成することもできます。 このツールの主なアイデアは、潜在的なシークレット漏洩を検出することです。実際の動作はデモビデオでご覧いただけます。また、すべての機能についてはこちらの記事をお読みください。

DumpsterDiver

主な機能:

  • シャノンエントロピーを使用して秘密鍵を見つける
  • Gitログを検索する
  • 圧縮アーカイブ(例:zip, tar.gzなど)を展開する
  • 単純なルールを使用した高度な検索をサポート(詳細は以下)
  • ハードコードされたパスワードを検索する
  • 完全にカスタマイズ可能

使用方法

root@kitploit:~
usage: DumpsterDiver.py [-h] -p LOCAL_PATH [-r] [-a] [-s] [-o OUTFILE]
                        [--min-key MIN_KEY] [--max-key MAX_KEY]
                        [--entropy ENTROPY] [--min-pass MIN_PASS]
                        [--max-pass MAX_PASS]
                        [--pass-complex {1,2,3,4,5,6,7,8,9}]
                        [--exclude-files EXCLUDE_FILES [EXCLUDE_FILES ...]]
                        [--bad-expressions BAD_EXPRESSIONS [BAD_EXPRESSIONS ...]]

基本的なコマンドラインオプション

  • -p LOCAL_PATH - 分析対象のファイルが含まれるフォルダへのパス
  • -a, --advance - このフラグを設定すると、すべてのファイルが rules.yaml ファイルで指定されたルールを使用して追加分析されます。
  • -r, --remove - このフラグを設定すると、シークレット(または -a フラグが設定されている場合は興味深いもの)を含まないファイルが削除されます。
  • -s, --secret - このフラグを設定すると、すべてのファイルがハードコードされたパスワードを探すために追加分析されます。
  • -o OUTFILE - JSON形式の出力ファイル

前提条件

DumpsterDiver を実行するには、Python ライブラリをインストールする必要があります。次のコマンドを実行してインストールできます:

root@kitploit:~
$> pip install -r requirements.txt

Python 2 と 3 を別々にインストールしている場合は、pip3 または pip3.6 を使用してください。

検索のカスタマイズ

すべてのニーズに合う単一のツールは存在せず、DumpsterDiver も例外ではありません。検索をカスタマイズするには次の2つの方法があります:

  • コマンドラインパラメータの使用
  • config.yaml ファイルの使用

コマンドラインパラメータによるカスタマイズ

  • --min-key MIN_KEY - 分析する最小キー長を指定します(デフォルトは20)。
  • --max-key MAX_KEY - 分析する最大キー長を指定します(デフォルトは80)。
  • --entropy ENTROPY - 高エントロピーのしきい値を指定します(デフォルトは4.3)。

また、単一単語内の文字のエントロピーを計算できる別個のスクリプトも追加されています。これにより、DumpsterDiver をニーズに合わせてより適切にカスタマイズできます。次のコマンドで確認できます:

root@kitploit:~
$> python3 entropy.py f2441e3810794d37a34dd7f8f6995df4

この方法は、何を探しているかがわかっている場合に非常に便利です。以下にいくつかの例を示します:

  • AWS Secret Access Key を探す場合:

$> python3 DumpsterDiver.py -p [PATH_TO_FOLDER] --min-key 40 --max-key 40 --entropy 4.3

  • Azure Shared Key を探す場合:

$> python3 DumpsterDiver.py -p [PATH_TO_FOLDER] --min-key 66 --max-key 66 --entropy 5.1

  • SSH 秘密鍵を探す場合(デフォルトでは RSA 秘密鍵は76バイトの文字列で記述されます):

$> python3 DumpsterDiver.py -p [PATH_TO_FOLDER] --min-key 76 --max-key 76 --entropy 5.1

  • aws_access_key_id または aws_secret_access_key の出現を探す場合:

$> python3 DumpsterDiver.py -p ./test/ --grep-words *aws_access_key_id* *aws_secret_access_key* -a

grep ワードの前後にワイルドカードが意図的に使用されていることに注意してください。これにより、"aws_access_key_id" や aws_access_key_id= のような表現も報告されます。

ハードコードされたパスワードの検索

エントロピーを使用してパスワードを見つけるのはあまり効果的ではなく、多くの誤検出を発生させます。そのため、DumpsterDiver はハードコードされたパスワードを見つけるために異なるアプローチを採用しています。passwordmeter を使用してパスワードの複雑さを検証します。この検索をカスタマイズするには、次のコマンドを使用できます:

  • --min-pass MIN_PASS - 分析する最小パスワード長を指定します(デフォルトは8)。構文に -s フラグを追加する必要があります。
  • --max-pass MAX_PASS - 分析する最大パスワード長を指定します(デフォルトは12)。構文に -s フラグを追加する必要があります。
  • --pass-complex {1,2,3,4,5,6,7,8,9} - 1(簡単なパスワード)から9(非常に複雑なパスワード)までのパスワード複雑さのしきい値を指定します(デフォルトは8)。構文に -s フラグを追加する必要があります。

例えば、複雑なパスワード(大文字、小文字、特殊文字、数字を含み、長さが10〜15文字)を見つけたい場合、次のコマンドを使用できます:

$> python3 DumpsterDiver.py -p [PATH_TO_FOLDER] --min-pass 10 --max-pass 15 --pass-complex 8

スキャンの制限

特定のファイルのスキャンをスキップしたい場合があります。そのために、次のパラメータを使用できます:

  • --exclude-files - 分析すべきでないファイル名または拡張子を指定します。ファイル拡張子には . 文字を含める必要があります(例:.pdf)。複数のファイル名と拡張子はスペースで区切ります。

  • --bad-expressions - 悪い表現を指定します。DumpsterDiver がファイル内にそのような表現を見つけた場合、そのファイルは分析されません。複数の悪い表現はスペースで区切ります。

複数のファイル名、悪い表現、または grep ワードを別のファイルを使用して指定する場合、次の bash のトリックを使用できます:

root@kitploit:~
$> python3 DumpsterDiver.py -p ./test/ --exclude-files `while read -r line; do echo $line; done < blacklisted_files.txt`

config.yaml ファイルによるカスタマイズ

複数のコマンドラインパラメータを使用する代わりに、上記のすべてのパラメータの値を config.yaml ファイルで一度に指定できます。

高度な検索:

DumpsterDiver は高度な検索もサポートしています。ワイルドカードを使用した単純な grep に加えて、このツールでは条件を作成できます。例えば、企業メールの漏洩を探しているとします。さらに、少なくとも100件のメールアドレスを含む大規模な漏洩のみに関心があるとします。この目的のために、rules.yaml ファイルを次のように編集します:

root@kitploit:~
filetype: [".*"]
filetype_weight: 0
grep_words: ["*@example.com"]
grep_words_weight: 10
grep_word_occurrence: 100

別のシナリオとして、.db または .sql ファイル内で「pass」、「password」、「haslo」、「hasło」(ポーランド企業のリポジトリを分析する場合)といった用語を探しているとします。その場合、rules.yaml ファイルを次のように変更することで実現できます:

root@kitploit:~
filetype: [".db", ".sql"]
filetype_weight: 5
grep_words: ["*pass*", "*haslo*", "*hasło*"]
grep_words_weight: 5
grep_word_occurrence: 1

ルールは、合計重み(filetype_weight + grep_words_weight)が >=10 の場合にのみトリガーされることに注意してください。

Docker の使用

DumpsterDiver の Docker イメージが利用可能です。次のように実行します:

root@kitploit:~
$> docker run -v /path/to/my/files:/files --rm rzepsky/dumpsterdiver -p /files

設定ファイル(config.yaml または rules.yaml)の1つを上書きしたい場合:

root@kitploit:~
$> docker run -v /path/to/my/config/config.yaml:/config.yaml /path/to/my/config/rules.yaml:/rules.yaml -v /path/to/my/files:/files --rm rzepsky/dumpsterdiver -p /files

貢献

より良いアイデアをお持ちですか?このプロジェクトを手伝っていただけますか?Twitter @Rzepsky でご連絡ください。ここに貢献者が来てくれるのをとても嬉しく思います!

謝辞

このプロジェクトの開発を支援してくださったすべての方々に心から感謝します:

  • Stephen Sorriaux
  • Andres Riancho
  • Damian Stygar
  • Disconnect3d

ライセンス

LICENSE ファイルを参照してください。

ツールをダウンロード