
Azure सुरक्षा आकलन के लिए Go टूलकिट: सदस्यताओं और संसाधनों की गणना करता है, गलत कॉन्फ़िगरेशन का ऑडिट करता है, और सार्वजनिक Blob स्टोरेज पर अनाम रूप से हमला करता है।
azpt)🚧 सार्वजनिक बीटा।
azptसक्रिय विकास के अधीन है — कमांड, फ़्लैग, और आउटपुट फ़ॉर्मेट रिलीज़ के बीच बदल सकते हैं। बग रिपोर्ट और फ़ीडबैक GitHub issues के माध्यम से स्वागत योग्य हैं।
azpt अधिकृत Azure सुरक्षा आकलनों के लिए एक Go टूलकिट है। यह
दो दृष्टिकोणों से काम करता है:
⚠️ केवल अधिकृत उपयोग। इसे केवल उन टेनेंट, सदस्यताओं, और स्टोरेज खातों के विरुद्ध चलाएं जिनका परीक्षण करने के लिए आपके पास स्पष्ट लिखित अनुमति है। अनाम
blobकमांड इंटरनेट पर तृतीय-पक्ष अधोसंरचना को स्पर्श करते हैं — उन्हें अपने एंगेजमेंट तक सीमित रखें।
नीचे दिए गए सभी उदाहरण एक काल्पनिक Acme Corp को लक्षित करते हैं जिसकी स्थिर मार्केटिंग साइट
acmewebsite नामक Azure स्टोरेज खाते से होस्ट की गई है
(https://acmewebsite.blob.core.windows.net)।
पूर्ण दस्तावेज़ीकरण docs/ में है:
docs/guides/) — प्रति सुविधा: तकनीक कैसे काम करती है, इसके लिए आवश्यक
सटीक Azure RBAC / Microsoft Graph अनुमति, मुख्य फ़्लैग की व्याख्या, उदाहरण, और OPSEC / डिटेक्शन नोट्स — एंगेजमेंट चरण के अनुसार व्यवस्थित।docs/guides/scenarios/)
— एंड-टू-एंड हमला आख्यान जो चरणों में कमांडों को श्रृंखलाबद्ध करते हैं (टोकन →
Global Admin, Golden SAML टेकओवर, PRT चोरी, सहमति फ़िशिंग → M365,
प्रबंधित-पहचान पार्श्व गति, ऑफ़लाइन निर्देशिका शिकार, डिवाइस-कोड
फ़िशिंग), प्रत्येक में 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 **डिफ़ॉल्ट क्रेडेंशियल चेन** का उपयोग करता है, जो क्रम में प्रयास करता है: पर्यावरण चर, वर्कलोड आइडेंटिटी, मैनेज्ड आइडेंटिटी, और Azure CLI (`az login`)।```bash
az login
./azpt enum subscriptions
service-principal प्रमाणीकरण को स्पष्ट रूप से बाध्य करें (एक स्कोप्ड मूल्यांकन पहचान के लिए उपयोगी) फ्लैग्स या environment variables के साथ। अभी तक एक नहीं है? az ad sp create-for-rbac --name azpt-assessment --role Reader --scopes /subscriptions/<subscription-id> एक बना देता है — पूर्ण walkthrough के लिए Getting
started देखें, जिसमें वे Graph permissions भी शामिल हैं जो अकेले RBAC आपको प्रदान नहीं करेगा:```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
---
## कमांड संदर्भ
🧪 एक ऐसा कमांड दर्शाता है जो अभी भी **बीटा** में है: लागू और उपयोग योग्य, लेकिन सूट के बाकी हिस्सों की तुलना में कम परखा गया — अपेक्षा करें कि इसमें खुरदुरे किनारे होंगे, और कृपया आपको मिलने वाली समस्याओं की रिपोर्ट करें।