
Azure セキュリティ評価を許可された範囲で行うための Go ツールキット: サブスクリプションとリソースを列挙し、設定ミスを監査し、公開 Blob ストレージを匿名で攻撃します。
azpt)🚧 パブリックベータ。
azptは活発に開発中です — コマンド、フラグ、 出力形式はリリース間で変更される可能性があります。バグ報告や フィードバックは GitHub issues で歓迎します。
azpt は許可された Azure セキュリティ評価のための Go ツールキットです。これは
2 つの観点から機能します:
⚠️ 許可された使用のみ。 これは、テストする明示的な書面による許可を得ている テナント、サブスクリプション、ストレージアカウントに対してのみ実行してください。匿名の
blobコマンドはインターネット経由でサードパーティのインフラストラクチャに触れます — エンゲージメントの範囲内に限定してください。
以下のすべての例は、静的なマーケティングサイトが acmewebsite という名前の
Azure ストレージアカウント (https://acmewebsite.blob.core.windows.net) で
ホストされている架空の Acme Corp を対象としています。
完全なドキュメントは docs/ にあります:
docs/guides/) — 機能ごと: その手法がどのように
機能するか、それが必要とする正確な Azure RBAC / Microsoft Graph アクセス許可、
主要なフラグの説明、例、および OPSEC / 検知に関する注意事項 — エンゲージメント
フェーズごとに整理されています。docs/guides/scenarios/)
— フェーズをまたいでコマンドを連鎖させるエンドツーエンドの攻撃ナラティブ (トークン →
Global Admin、Golden SAML 乗っ取り、PRT 窃取、同意フィッシング → M365、
マネージド ID の横方向移動、オフラインディレクトリハント、デバイスコード
フィッシング)、それぞれに OPSEC とクリーンアップ付き。docs/reference/) — コマンドごとに
自動生成されたページで、すべてのフラグ (名前、省略形、型、デフォルト値、
説明) を含みます。azpt gen-docs docs/reference で再生成できます。同じ情報は
azpt <command> --help からも出力されます。最新リリースから お使いのプラットフォーム用のアーカイブをダウンロードし、検証して、展開します:```bash
tar -xzf azpt_.tar.gz sha256sum -c --ignore-missing SHA256SUMS
バイナリは静的(`CGO_ENABLED=0`)で、ランタイム依存関係は不要です。
ビルドは linux と darwin の amd64 および arm64 向けに公開されています。
Windows バイナリは公開されていません。Windows 専用のヘルパー(`prt extract`、
`adconnect sync-creds`、DPAPI)は、Windows ホスト上で `go build -o
azpt.exe .` によりソースからビルドできます。
### ソースから
Go 1.26+ が必要です。```bash
git clone https://github.com/hac01/azure-pentesting-suite.git
cd azure-pentesting-suite
go build -o azpt .
これにより、リポジトリのルートに自己完結型の azpt バイナリが生成されます。リポジトリのディレクトリから go run . <command> を使ってビルドせずに実行することもできます。
匿名の blob コマンドには Azure ログインは不要です:```bash
./azpt blob hunt --account acmewebsite
Azure 資格情報(`az login`)を使用して、内部から評価します — リソースプレーン(ARM)とディレクトリ(Entra ID / Graph)の両方:```bash
./azpt enum whoami # who am I authenticated as?
./azpt enum subscriptions # what subscriptions can this principal see?
./azpt audit storage # misconfigured storage accounts
./azpt enum users # dump the Entra ID directory (Graph)
よくある流れ: blob hunt で資格情報を匿名で回収し、そのユーザーとしてログインし(az login)、enum access で何ができるか確認し、到達可能な Key Vault をすべて略奪する:```bash
./azpt enum access # token scopes, directory roles, groups, RBAC roles
./azpt enum resources # find Key Vaults (type: vaults)
./azpt vault list --vault ext-contractors # secrets, keys, certs in that vault
./azpt vault dump --vault ext-contractors # read every secret value (the loot)
---
## 認証
匿名の `blob` コマンドには認証は**不要**です。それ以外はすべて Azure の**デフォルト資格情報チェーン**を使用し、環境変数、ワークロード ID、マネージド ID、Azure CLI (`az login`) の順に試行します。```bash
az login
./azpt enum subscriptions
サービスプリンシパル認証を明示的に強制します(スコープ付きの評価用IDに便利)。フラグまたは環境変数で指定します。まだ持っていない場合は、az ad sp create-for-rbac --name azpt-assessment --role Reader --scopes /subscriptions/<subscription-id> で作成できます。RBACだけでは付与されないGraph権限を含む完全な手順については、Getting
startedを参照してください:```bash
./azpt --tenant --client-id --client-secret
enum subscriptions
export AZURE_TENANT_ID=... AZURE_CLIENT_ID=... AZURE_CLIENT_SECRET=... ./azpt enum subscriptions
**証明書ベース**認証(PFX または PEM):```bash
./azpt --tenant <tenant-id> --client-id <app-id> \
--certificate ./cert.pfx --cert-password 'P@ss' \
enum subscriptions
--subscription で認証済み実行を特定のサブスクリプションにスコープします(繰り返し指定可能)。デフォルトでは、プリンシパルが到達できるすべてのサブスクリプションが対象となります:```bash
./azpt --subscription 00000000-1111-2222-3333-444444444444 audit storage
---
## コマンドリファレンス
🧪 はまだ **ベータ** のコマンドを示します。実装済みで使用可能ですが、スイートの他の部分ほど実戦で検証されていません — 粗削りな部分が想定されるため、問題に遭遇した場合は報告してください。