Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
SecretsStalker — 読み取り専用のEntra IDアプリ資格情報評価:Graphの権限、Azure RBAC、到達可能なクラウドデータを列挙し、調査結果を権限昇格と横移動の経路にマッピングします。 | Kitploit
ツール/GitHubGitHub/rootsecdev/secretsstalker
認証と認可クラウドインフラストラクチャセキュリティ特権昇格偵察横移動ポストエクスプロイトペネトレーションテストクラウドセキュリティアイデンティティ&アクセス管理 (IAM)レッドチーミング
GitHubrootsecdev/secretsstalker
341251ヶ月前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

SecretsStalker

読み取り専用のEntra IDアプリ資格情報評価:Graphの権限、Azure RBAC、到達可能なクラウドデータを列挙し、調査結果を権限昇格と横移動の経路にマッピングします。

リポジトリを見る

secret_stalker```


/ / ______ ___ ___ / /_ / / / /__ _ / / /_____ ____ \ / -) / -) -)/ / \ \ / __/ _ `// / '/ -) / //_/_/_/_/ _/ // _/_,////_\__/_/

     ╔╦╦╬╬╬╬╬╬╦╦╗
 ╔╬╬╬╝╝┘      ╚╝╝╬╬╬┐
╬╬╝╚╩╬╗╔          ╚╬╬╬

╬╝ ╚╬╬╗╗ ╔ ╚╬╗ ╬╬ ╔╗ ╚╬╬╬╬╬╬╦ ╬╬ we found your secret... ╔╬┤ ╬╬╬ ╬╬╬╬╬╬╬╬╝╝╝╬╬╗ ...now let's see what it ╬╬┤ ╚╩┘ ╚╬╬╬╬╬╩ ╠╬╬ can REALLY do. ( o_o)>=|= ╬╬┤ ╠╬╬ ╬╬ ╦╗ ╗╗ ╬╬ [ client_id + secret -> total recall ] └╬┐ ╚╬╗╗ ╔╬╬╝ ╔╬┘ └╬╗ ╚╩╩╬╬╬╩╩╝╝ ╔╬╬ ╚╬╬╬╗ ┌╗╬╬╝┘ ╚╩╬╬╬╦╦╦╦╦╦╬╬╬╝╝ ╚╚╝╝╝╝ // pst... that app registration talks too much. \

**この Entra ID のクライアント ID とシークレットで、実際に何ができるのか?**

あなたは、許可されたエンゲージメントで Entra ID (Azure AD) アプリケーションの資格情報 — クライアント ID とシークレット — を発見しました。
その所属するテナントはスコープ内にあります。
`secret_stalker` はこれら 2 つの値を受け取り、コールドスタートから次のことを教えてくれます。

1. **有効かどうか、そしてシークレットはいつ期限切れになりますか?** — 有効でない場合は、*その理由*
   (シークレットの誤り、期限切れのシークレット、テナント内に存在しないアプリなど)。有効なシークレットの場合、
   アプリ登録の `passwordCredentials` を読み取り、有効期限の日付と
   残り日数を報告します(ディレクトリ読み取りが必要。下記の注を参照)。
2. **どの Microsoft Graph 権限を持ちますか?** — 発行されたトークンから直接読み取られるアプリケーション権限に加え、
   保持する **Entra ディレクトリロール**(
   トークンの `wids` クレームから受動的に検出されるものも)と **所有するオブジェクト**
   (資格情報を追加できるアプリ/SP)。
3. **Azure に対してどのような制御を持ちますか?** — RBAC ロール割り当て(
   管理グループとサブスクリプションのスコープ)。
4. **実際のデータに到達できますか?** — オプションの Key Vault(シークレット / キー / 証明書)、
   Storage(blob / file / queue / table)、および Cosmos DB データプレーン到達可能性チェック。
5. **影響は何ですか?** — 危険な権限、ロール、所有権、そして到達可能な
   データを既知の権限昇格 / 横移動プリミティブにマッピングし、重大度で評価し、
   具体的な **攻撃経路** の説明を提供します。

認証は **クライアント シークレット** または **証明書** (`--cert`) のいずれかを使用し、
**商用クラウドとソブリンクラウド** (`--cloud`) で動作します。

デフォルトでは **パッシブ** であり、**何も変更しません** — 読み取り専用の
列挙のみです。

> ⚠️ **許可されたテストのみ。** 実行するのは、あなたが実行を許可されたエンゲージメントで
> 明示的にスコープ内にあるテナントのみです。

---

## インストール```bash
pip install -r requirements.txt        # just runs it from source
#   — or —
pip install .                          # installs the `secret_stalker` command
pip install '.[cert]'                  # + certificate (--cert) auth support
pip install '.[dev]'                   # + pytest for the test suite

唯一のランタイム依存関係は requests です。トークンはローカルでデコードされます(base64 + JSON)— 署名検証も、暗号ライブラリも、Microsoft SDK も必要ありません。唯一の 例外は証明書認証(--cert)で、JWT クライアントアサーションに署名するためにオプションの cryptography パッケージが必要です。Python 3.7+ が必要です。

pip install . の後は、python -m secret_stalker … の代わりに secret_stalker … として呼び出すことができます。


クイックスタート

資格情報で何ができるかを最速で確認する方法:```bash python -m secret_stalker
--tenant contoso.onmicrosoft.com
--client-id 11111111-2222-3333-4444-555555555555
--secret ''

`--tenant` はテナント GUID またはドメインのいずれかを受け入れます。ドメインは公開 OpenID 設定エンドポイントを介して自動的に
テナント ID に解決されます。

### シェルの履歴に秘密情報を残さない

フラグではなく環境変数で認証情報を渡します:```bash
export SS_TENANT=contoso.onmicrosoft.com
export SS_CLIENT_ID=11111111-2222-3333-4444-555555555555
export SS_SECRET='<client-secret>'

python -m secret_stalker

Any of --tenant / --client-id / --secret can come from SS_TENANT / SS_CLIENT_ID / SS_SECRET. Flags take precedence over the environment.

This isn't only about shell history: an argv value is readable by any local user for the lifetime of the process (ps, /proc/<pid>/cmdline). If --secret or --cert-password is passed as a flag, the tool prints a one-line reminder to stderr — it never appears in --json or --export output.

Authenticate with a certificate instead of a secret

App registrations often use a certificate rather than a secret. Pass --cert (a PEM holding the private key and certificate, or a .pfx/.p12) and the tool authenticates with a signed JWT client assertion:```bash python -m secret_stalker --tenant contoso.onmicrosoft.com
--client-id --cert ./app.pem # or app.pfx

encrypted key / PFX:

python -m secret_stalker ... --cert app.pfx --cert-password ''

証明書認証にはオプションの `cryptography` パッケージが必要です(`pip install '.[cert]'`)。
このツールは、証明書自体の有効期限を報告します(アプリの
`keyCredentials` 内の拇印に一致)。シークレットの場合と同様に、`--cert`/`--cert-password`
は `SS_CERT` / `SS_CERT_PASSWORD` からも読み取られます。

### ソブリンクラウドと政府クラウド

デフォルトでは、secret_stalker は **商用** クラウドを対象としています。ソブリンテナントの場合、
`--cloud`(または `SS_CLOUD`)を渡して、Entra オーソリティと Graph / ARM / Key
Vault エンドポイントが一致するようにしてください — そうしないと、有効な資格情報もアクセス権がないように見えます:```bash
# US Government (GCC High)
python -m secret_stalker --cloud usgov  --tenant contoso.onmicrosoft.us ...

# US DoD (L5)
python -m secret_stalker --cloud usdod  ...

# Azure operated by 21Vianet (China)
python -m secret_stalker --cloud china  --tenant contoso.partner.onmschina.cn ...
--cloudEntra オーソリティMicrosoft GraphARMKey Vault
public (default)login.microsoftonline.comgraph.microsoft.commanagement.azure.comvault.azure.net
usgov (GCC High)login.microsoftonline.usgraph.microsoft.usmanagement.usgovcloudapi.netvault.usgovcloudapi.net
usdod (DoD)login.microsoftonline.usdod-graph.microsoft.usmanagement.usgovcloudapi.netvault.usgovcloudapi.net
china (21Vianet)login.chinacloudapi.cnmicrosoftgraph.chinacloudapi.cnmanagement.chinacloudapi.cnvault.azure.cn

gov、dod、commercial、gcc-high、21vianet などのエイリアスが受け入れられます。 (ストレージ データプレーンのオーディエンスである storage.azure.com は、すべてのクラウドで同じです。)


エンゲージメントにおける推奨ワークフロー

  1. このテナントの権限マップを(一度だけ)更新します。 Graph の 権限 GUID を、対象テナントの正式な名前に解決します: ```bash python -m secret_stalker --update-manifest

これにより認証が実行され、テナントのGraph appRoleマップを ~/.secret_stalker/app_roles_cache.json にキャッシュして終了します。 資格情報がサービスプリンシパルを読み取れない場合はスキップしてください — 同梱のマップは 既知の権限を引き続きカバーしています。

  1. パッシブベースライン。 テナントオブジェクトに触れずに、有効性、Graph権限、Azure RBACを 確認します: ```bash python -m secret_stalker
  2. 深さと保存用レポートが必要な場合はアクティブモードにします。 読み取り専用のGraph オブジェクトサンプルとKey Vault / Storageデータプレーンの到達可能性を追加し、 トリアージまたは取り込み用のフラット化されたエクスポートを書き込みます: ```bash python -m secret_stalker --active --export results.ndjson

出力の読み方

ターミナルレポートは、「動作するかどうか」から「被害の 内容」まで、上から下へと整理されています。典型的な実行例は次のようになります:``` secret_stalker — credential assessment

Credential status : VALID Tenant : aaaaaaaa-... Client (app) id : 1111... App display name : Recon App SP object id : cccc... Secret : valid — expires 2027-03-01 (in 207 days)

Token acquisition

OK graph OK arm NO storage — no storage token

Microsoft Graph application permissions (from token)

  • Application.ReadWrite.All
  • Mail.Read

...

Findings — escalation / control

[CRITICAL] (GRAPH) Application.ReadWrite.All Can add credentials to any app/SP and impersonate it — tenant-wide pivot. [CRITICAL] (ARM) Owner Full control including granting access to others. [CRITICAL] (DATA) keyvault:secrets Can read Key Vault secret values — connection strings, passwords, tokens. [MEDIUM] (GRAPH) Mail.Read Read all mailboxes — data exposure.

ツールをダウンロード