
CredsHunter - WindowsおよびLinux OS向けの資格情報ハンティングスクリプト
credshunter は、許可されたポストエクスプロイテーションのための読み取り専用の認証情報ファインダーです。ホストを一度だけスキャンし、実際に 再利用 できるシークレット(パスワード、キー、ハッシュ、認証情報ファイル)を表面化します。一方、ノイズを増やすだけのクラウド / SaaS トークンには静かに対応します。
2つの兄弟、1つの動作: credshunter.sh は Linux 用、credshunter.ps1 は Windows 用です。
5段階のファネルで、認証情報が存在する場所 から ファイルの中身 まで絞り込みます。各ステージは、完了した時点で結果を出力します。
Stage 1 OS credential stores registry · GPP · histories · vaults · keys · other
Stage 2 Confirmed containers .kdbx · .ppk · .pfx · .keytab · other
Stage 3 High-value file types keys · .env · backups · DBs · captures · other
Stage 4 Suspicious filenames *password* · *secret* · *credential*
Stage 5 Content scan 70+ tuned regexes, one pass per file
ステージ1と5が主要な処理を担い、2〜4は高速なファイル名 / 拡張子パスです。すべての検出結果は、あなたの手元に届く前に誤検知フィルターを通過します。
# Linux — full sweep, log to file
./credshunter.sh -p / -o loot.txt
# Targeted, skip the slow content scan
./credshunter.sh -p /var/www -p /home --no-stage5
# Windows — elevated sweep of C:\
.\credshunter.ps1 -Path C:\ -OutputFile loot.txt
# Web / DB box: also scan SQL & CSV dumps
.\credshunter.ps1 -Path D:\ -IncludeData
パイプにも対応 — --no-color / -NoColor を追加して、任意の階層をgrepできます。
検出結果は、重大なものから順に5つの階層にグループ化されます。
CRITICAL / HIGH / KEY のいずれかに該当するものがある場合、終了コードは 1 になります — CIに便利です:
./credshunter.sh -p /etc && echo clean。
パターンとファイルタイプのリストは、各スクリプトの先頭付近にある明確にラベル付けされた配列にまとめられています — 1箇所を編集するだけで、他に必要なものはありません。
ホスト上で何かを変更しますか? いいえ。選択したログファイルにのみ書き込み、ネットワークには一切アクセスせず、Ctrl-Cで安全に終了します。
AWS / GitHub / Slack トークンを無視するのはなぜですか? 設計上の意図です — これらはネットワーク内での横移動に役立つことはほとんどなく、誤検知の最大の原因です。ローカルのクラウドCLI認証情報ファイルは引き続き一覧表示されます。
ステージ5が遅い、またはパスワードが見つからない場合。
通常は詳細なログが原因です — サイズ上限で制限されています。-p で範囲を絞り、--no-stage5 でコンテンツスキャンをスキップし、対象がサイズ上限を超えていないか、除外パス内にないか、ステージ5の対象外の拡張子でないかを確認してください(確実にするには -All を使用)。
プロジェクトの詳細については、Wiki ドキュメント を参照してください。
お気軽にプロジェクトにコントリビュートしてください!
| タグ | 意味 |
|---|
[CRITICAL] | 確認済みの認証情報コンテナ |
[HIGH] | 再利用可能なパスワード · ハッシュ · GPP cpassword |
[KEY] | 秘密鍵、または読み取り可能な SAM / SYSTEM ハイブ |
[INTEREST] | 確認する価値のある高価値ファイル |
[NAME] | 不審なファイル名 — 確認のヒント |
| 目的 | 方法 |
|---|
| スコープを制限する | -p / -Path で含め、-x / -ExcludePath で除外する |
| すべてのファイルをスキャンする | -a / -All |
| SQL / CSV ダンプを含める | -IncludeData (PowerShell) |
| サイズ上限を変更する | -m N / -MaxFileSizeMB N、または --no-size-limit / -NoSizeLimit |
| ステージをスキップする | --no-stageN / -NoStageN |