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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Stormspotter — Azure Red Teamツール:AzureおよびAzure Active Directoryオブジェクトをグラフ化するためのツール | Kitploit
ツール/GitHubGitHub/azure/stormspotter
偵察情報収集ペネトレーションテストクラウドセキュリティレッドチーミング
GitHubazure/stormspotter

Stormspotter

Azure Red Teamツール:AzureおよびAzure Active Directoryオブジェクトをグラフ化するためのツール

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

人気

すべて見る →

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

すべてのツールを探索

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

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


Stormspotterは、Azureサブスクリプション内のリソースの「攻撃グラフ」を作成します。これにより、レッドチームやペネトレーションテスターはテナント内の攻撃対象領域とピボットの機会を可視化でき、防御側の担当者はインシデント対応作業を迅速に方向付け、優先順位付けできるようになります。


インストール

Dockerを使う場合

ほとんどのユーザーはDocker経由でStormspotterをインストールする方が簡単だと感じるでしょう。これが推奨される方法です。

root@kitploit:~
git clone https://github.com/Azure/Stormspotter
docker-compose up

docker-composeファイルは3つのコンテナを作成します:

  • Stormspotter Frontend
  • Stormspotter Backend
  • Neo4j v4

デフォルトでは、Stormspotterコンテナはポート9091でUIを公開します。neo4jコンテナはポート7474(HTTP)と7687(Bolt)でneo4jを公開します。Neo4jのデフォルト設定ではSSLが有効になっていないため、最初はポート7474でneo4jインターフェースに直接アクセスできます。

注: 現在、Stormspotterはこれらのコンテナをローカルで実行することのみサポートしています。リモートでホストされているフロントエンドにアップロードしようとしても成功しませんが、この動作は将来的に変更される予定です。

neo4jのデフォルトの認証情報は neo4j/password です。これは docker-compose ファイル内の NEO4JAUTH 環境変数で変更できます。

Dockerを使わない場合

Dockerを使わずにStormspotterを実行する場合は、Python 3.8、NodeJS/npm、Neo4jがインストールされている必要があります。最新のStormspotterリリースはこちらから入手できます。

バックエンド

バックエンドはデータを解析してNeo4jに格納する処理を担当し、FastAPIで構築されています。データベースに新しいコンテンツをアップロードする予定がない場合は、バックエンドを実行する必要はないかもしれません。バックエンドはポート9090で実行されるように設定されています。これはapp.pyの5行目のポート番号を変更することで変更できます。変更した場合は、DatabaseViewコンポーネント内のQ-Uploaderコンポーネントのポートも変更し、フロントエンドからのアップロードがバックエンドの正しいポートに送信されるようにする必要があります。

root@kitploit:~
cd backend
python3 ssbackend.pyz

Webアプリ

WebアプリはVueとQuasar Frameworkを使用して開発されています。シングルページアプリケーション(SPA)はすでにビルドされており、frontend/dist/spaにあります。このディレクトリを提供するには:

root@kitploit:~
npm install -g @quasar/cli
cd frontend/dist/spa
quasar serve -p 9091 --history

その後、ブラウザで http://localhost:9091 にアクセスできます。

Stormspotterの実行

Stormcollector

StormcollectorはStormspotterの一部で、提供された認証情報がアクセス権を持つサブスクリプションを列挙できます。Stormcollectorの 推奨 される使用方法は、お使いのオペレーティングシステムのリリースファイルにある sscollector.pyz パッケージを実行することです。このPYZはShivで作成されており、すべてのパッケージが既にzip圧縮されています!依存関係はユーザーのホームディレクトリの .shiv フォルダに自動的に展開されます。

root@kitploit:~
cd stormcollector
python3 sscollector.pyz -h

何らかの理由で提供されたパッケージを使用したくない場合は、pip または pipenv で必要なパッケージをインストールできます。この方法では、パッケージの競合を防ぐために仮想環境にStormcollectorをインストールすることを 強くお勧め します。仮想環境の管理に問題がある場合は、上記の推奨方法を使用してください。

root@kitploit:~
cd stormcollector
python3 -m pip install pipenv
pipenv install .
python3 ./sscollector.py

現在サポートされているログインタイプ:

  • Azure CLI (must use az login first)
  • Service Principal Client ID/Secret

上記のように -h スイッチを使用して、Stormcollectorが提供するすべてのオプションを確認できます。Stormcollectorの最も基本的な使用方法は次のとおりです:

root@kitploit:~
python3 sscollector.pyz cli
python3 sscollector.pyz spn -t <tenant> -c <clientID> -s <clientSecret>

すべての認証タイプに共通のオプション

  • --cloud: 別のAzureクラウドを指定 (GERMAN, CHINA, USGOV)
  • --config: クラウド環境のカスタム設定を指定
  • --azure: Azure Resource Managerリソースのみを列挙
  • --aad: Azure Active Directoryのみを列挙
  • --subs: スキャンするサブスクリプション。複数のサブスクリプションはスペース区切りリストで追加可能。
  • --nosubs: 除外するサブスクリプション。複数のサブスクリプションはスペース区切りリストで除外可能。
  • --json: SQLite出力をJSONに変換 (警告: STORMSPOTTERはSQLITE形式のみを解析します)
    • このオプションは、Stormspotter以外の目的で出力を解析したい場合に便利です。
  • --ssl-cert: Stormcollectorがリクエストに使用するSSL証明書を指定。一般的なオプションではありません。
  • --backfill: RBAC列挙に関連するオブジェクトIDに対してのみAAD列挙を実行。--azureが指定されている場合のみ適用可能。

結果のアップロード

UIを起動すると、データベースタブに "Stormcollector Upload" と表示されたセクションが表示されます。このアップローダーにファイルを追加すると処理が開始されます。結果が処理されるにつれて、バックエンドのログで進行状況を確認でき、結果は同じDatabase Viewタブにも反映されます。

注意事項

  • Stormspotterは現在ベータ版のため、すべてのリソースタイプが表示用に実装されているわけではありません。アイコンが欠けているラベルや、単に「name」と「id」フィールドのみが表示される場合があります。時間の経過とともに、より多くのリソースが適切に実装される予定です。

既知の問題

  • 新しい問題を提出する前に既知の問題を確認してください。

スクリーンショット

  • KeyVaultのアクセス許可を表示 Screenshot1

  • Azure ADロールのメンバーを表示 Screenshot2

  • 受信と送信の関係を表示 Screenshot3

コントリビューション

このプロジェクトでは、コントリビューションと提案を歓迎しています。ほとんどのコントリビューションには、あなたがコントリビューションを使用する権利を実際に持っており、それを私たちに付与することを宣言するコントリビューターライセンス契約(CLA)に同意する必要があります。詳細については、https://cla.opensource.microsoft.com をご覧ください。

プルリクエストを送信すると、CLAボットが自動的にCLAを提供する必要があるかどうかを判断し、PRを適宜装飾します(例:ステータスチェック、コメント)。ボットから提供される指示に従ってください。これは、当社のCLAを使用するすべてのリポジトリで一度だけ行う必要があります。

このプロジェクトはMicrosoft Open Source Code of Conductを採用しています。詳細については、Code of Conduct FAQを参照するか、追加の質問やコメントがある場合は[email protected]までお問い合わせください。

ツールをダウンロード