
BadZure जानबूझकर गलत कॉन्फ़िगर किए गए Entra ID टेनेंट्स और Azure सब्सक्रिप्शन्स की तैनाती को स्वचालित करता है, उनमें विविध संस्थाओं और कॉन्फ़िगरेबल, ट्रैवर्सेबल अटैक पथों को भरता है।
BadZure एक Python टूल है जो गलत कॉन्फ़िगर किए गए Azure वातावरणों के निर्माण को स्वचालित करता है, जिससे सुरक्षा टीमें प्रतिद्वंद्वी तकनीकों का अनुकरण कर सकती हैं, पहचान नियंत्रण विकसित और परीक्षण कर सकती हैं, और Entra ID तथा Azure बुनियादी ढाँचे में पर्पल टीम अभ्यास चला सकती हैं। यह Entra ID टेनेंट और Azure सब्सक्रिप्शन में संस्थाओं और जानबूझकर की गई गलत कॉन्फ़िगरेशन को जनसंख्या देने के लिए Terraform का उपयोग करता है, जिससे पहचान और क्लाउड बुनियादी ढाँचे की परतों में फैले पूर्ण हमले के रास्ते तैयार होते हैं।
BadZure उपयोगकर्ताओं, समूहों, एप्लिकेशन रजिस्ट्रेशन, सेवा प्रिंसिपल, प्रशासनिक इकाइयों और Azure संसाधनों जैसे Key Vault, Storage Accounts, Virtual Machines, Logic Apps, Automation Accounts, Function Apps, Cosmos DB Accounts और Resource Groups के निर्माण को स्वचालित करता है। एक यथार्थवादी टेनेंट का अनुकरण करने के लिए, यह चयनित सुरक्षा प्रिंसिपलों को बेतरतीब ढंग से Entra ID भूमिकाएँ, Graph अनुमतियाँ और Azure संसाधन पहुँच अनुमतियाँ प्रदान करता है, जो वास्तविक वातावरण में पाए जाने वाले कार्बनिक अनुमति फैलाव की नकल करता है। इस यथार्थवादी आधार रेखा के ऊपर, BadZure कॉन्फ़िगरेबल हमले के रास्तों के माध्यम से जानबूझकर की गई गलत कॉन्फ़िगरेशन को जोड़ता है, जिससे प्रतिद्वंद्वी अनुकरण के लिए शोषण योग्य विशेषाधिकार वृद्धि शृंखलाएँ उत्पन्न होती हैं।
BadZure का मुख्य लाभ कॉन्फ़िगरेशन, पूर्व-कॉन्फ़िगर प्रारंभिक पहुँच और जानबूझकर किए गए हमले के रास्तों के साथ टेनेंट को तेज़ी से जनसंख्या और शुद्ध करने की क्षमता है, जिससे निरंतर और पुनरावृत्त प्रतिद्वंद्वी अनुकरण और पहचान विकास की सुविधा मिलती है। यह उन सुरक्षा चिकित्सकों के लिए डिज़ाइन किया गया है जो Entra ID और Azure सुरक्षा, क्लाउड संसाधन गलत कॉन्फ़िगरेशन और आधुनिक क्लाउड-नेटिव हमले तकनीकों को समझने और तलाशने में रुचि रखते हैं।
BadZure मूल रूप से X33fcon 2023 में Azure AD Battle School: Hands-on Attack and Defense कार्यशाला की मेजबानी के लिए लिखा गया था।
BadZure के साथ जनसंख्या वाला Azure वातावरण अब लाल और नीली टीमों को निम्नलिखित में सक्षम बनाता है:
BadZure ऐसे हमले के रास्ते बनाता है जो मानते हैं कि प्रारंभिक पहुँच पहचान पहले ही समझौता की जा चुकी है। प्रत्येक हमले का रास्ता एक समझौता किए गए उपयोगकर्ता खाते या सेवा प्रिंसिपल से शुरू होता है, जो वास्तविक दुनिया के परिदृश्यों का अनुकरण करता है जहाँ एक हमलावर ने क्रेडेंशियल चोरी, फ़िशिंग, मैन-इन-द-मिडिल या अन्य प्रारंभिक पहुँच तकनीकों के माध्यम से पहुँच प्राप्त की है।
BadZure इन समझौता किए गए पहचानों के लिए क्रेडेंशियल प्रदान करता है, जिससे सुरक्षा चिकित्सक प्रारंभिक समझौते का अनुकरण किए बिना तुरंत विशेषाधिकार वृद्धि के रास्ते तलाशना शुरू कर सकते हैं। यह दृष्टिकोण टीमों को Azure और Entra ID वातावरणों में समझौता के बाद की हमले तकनीकों को समझने और उनसे बचाव पर ध्यान केंद्रित करने में सक्षम बनाता है।
BadZure सात अलग-अलग विशेषाधिकार वृद्धि हमले के रास्तों का समर्थन करता है जो Entra ID पहचान और Azure क्लाउड बुनियादी ढाँचे दोनों परतों में गलत कॉन्फ़िगरेशन प्रस्तुत करते हैं:
प्रत्येक हमले का रास्ता विशिष्ट या यादृच्छिक भूमिका असाइनमेंट के साथ कॉन्फ़िगर किया जा सकता है और तकनीक के आधार पर विभिन्न प्रिंसिपल प्रकारों का समर्थन करता है। विस्तृत कॉन्फ़िगरेशन विकल्पों और हमले के रास्ते के विवरण के लिए, दस्तावेज़ीकरण देखें।
नीचे BadZure द्वारा बनाए जा सकने वाले हमले के रास्तों को दर्शाने वाला BloodHound-निर्मित ग्राफ़ दिखाया गया है।
Azure सब्सक्रिप्शन बनाने से आपको एक Entra ID टेनेंट भी मिलेगा।
नोट: BadZure केवल Entra ID Free टियर सुविधाओं का उपयोग करता है और अतिरिक्त लाइसेंसिंग लागत नहीं लगाएगा, हालांकि Virtual Machines और Function Apps जैसे Azure संसाधन मानक कंप्यूट शुल्क लगाएँगे।
git clone https://github.com/mvelazc0/BadZure
cd BadZure
# एक वर्चुअल वातावरण बनाएँ
python -m venv venv
# वर्चुअल वातावरण सक्रिय करें
# विंडोज पर
venv\Scripts\activate
# यूनिक्स या MacOS पर
source venv/bin/activate
# निर्भरताएँ स्थापित करें
pip install -r requirements.txt
आपको Entra ID में ग्लोबल एडमिनिस्ट्रेटर के रूप में लॉग इन होना चाहिए और Azure सब्सक्रिप्शन पर Owner RBAC भूमिका होनी चाहिए:
az login
# सहायता मेनू प्रदर्शित करें
python badzure.py --help
# डिफ़ॉल्ट badzure.yml कॉन्फ़िग फ़ाइल का उपयोग करके एक टेनेंट को जनसंख्या दें और सभी हमले के रास्ते कॉन्फ़िगर करें
python badzure.py build
# एक अलग कॉन्फ़िग फ़ाइल के साथ एक टेनेंट को जनसंख्या दें और सभी हमले के रास्ते कॉन्फ़िगर करें
python badzure.py build --config config.yml
# Entra ID टेनेंट में बनाए गए संसाधन दिखाएँ
python badzure.py show
# विस्तृत लॉगिंग के साथ सभी बनाई गई पहचानों को नष्ट करें
python badzure.py destroy --verbose
पूर्ण दस्तावेज़ीकरण www.badzure.com पर उपलब्ध है, जिसमें Getting Started मार्गदर्शिका, Configuration Reference और विस्तृत Attack Path विवरण शामिल हैं।
यह प्रोजेक्ट Apache 2.0 License के तहत लाइसेंस प्राप्त है - विवरण के लिए LICENSE फ़ाइल देखें।