Az - Conditional Access Policies / MFA Bypass
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Azure Conditional Access नीतियाँ Microsoft Azure में नियम हैं जो Azure सेवाओं और अनुप्रयोगों तक पहुँच नियंत्रण लागू करने के लिए निर्धारित की जाती हैं, जो कुछ शर्तों के आधार पर होती हैं। ये नीतियाँ संगठनों को सही परिस्थितियों में सही पहुँच नियंत्रण लागू करके अपने संसाधनों को सुरक्षित रखने में मदद करती हैं। Conditional access नीतियाँ मूल रूप से यह परिभाषित करती हैं कौन क्या कहाँ और कैसे पहुँच सकता है।
यहाँ कुछ उदाहरण दिए गए हैं:
साइन-इन जोखिम नीति: यह नीति तब लागू की जा सकती है जब साइन-इन जोखिम का पता लगाया जाता है, जिसमें बहु-कारक प्रमाणीकरण (MFA) की आवश्यकता हो सकती है। उदाहरण के लिए, यदि किसी उपयोगकर्ता का लॉगिन व्यवहार उनके नियमित पैटर्न की तुलना में असामान्य है, जैसे कि किसी अन्य देश से लॉगिन करना, तो सिस्टम अतिरिक्त प्रमाणीकरण के लिए संकेत दे सकता है।
डिवाइस अनुपालन नीति: यह नीति केवल उन उपकरणों तक Azure सेवाओं की पहुँच को सीमित कर सकती है जो संगठन के सुरक्षा मानकों के अनुपालन में हैं। उदाहरण के लिए, केवल उन उपकरणों से पहुँच की अनुमति दी जा सकती है जिनमें अद्यतन एंटीवायरस सॉफ़्टवेयर है या जो एक निश्चित ऑपरेटिंग सिस्टम संस्करण चला रहे हैं।
यह संभव है कि एक conditional access नीति कुछ जानकारी की जाँच कर रही हो जिसे आसानी से छेड़ा जा सकता है जिससे नीति का बायपास किया जा सके। और यदि उदाहरण के लिए नीति MFA को कॉन्फ़िगर कर रही थी, तो हमलावर इसे बायपास करने में सक्षम होगा।
यह डिवाइस प्लेटफ़ॉर्म (Android, iOS, Windows, macOS) के आधार पर एक शर्त निर्धारित करना संभव है, हालाँकि, यह यूजर-एजेंट पर आधारित है इसलिए इसे बायपास करना काफी आसान है। यहाँ तक कि सभी विकल्पों को MFA लागू करने के लिए बनाना, यदि आप एक यूजर-एजेंट का उपयोग करते हैं जिसे यह पहचानता नहीं है तो आप MFA को बायपास करने में सक्षम होंगे।
बिल्कुल, यदि यह conditional policy में सेट किया गया है, तो एक हमलावर बस एक VPN का उपयोग कर सकता है अनुमत देश में या इन शर्तों को बायपास करने के लिए एक अनुमत IP पते से पहुँचने का प्रयास कर सकता है।
आप यह संकेत कर सकते हैं कि यदि ग्राहक ब्राउज़र से Office 365 ऐप्स तक पहुँचते हैं तो उन्हें MFA की आवश्यकता है:
इसे बायपास करने के लिए, यह संभव है कि आप एक डेस्कटॉप एप्लिकेशन (जैसे कि निम्नलिखित उदाहरण में Microsoft Teams) से एक ऐप में लॉगिन करने का नाटक करें, जो सुरक्षा को बायपास करेगा:
जैसे कि Microsoft Teams ऐप के पास बहुत सारी अनुमतियाँ हैं, आप उस पहुँच का उपयोग कर सकेंगे।
आप पूर्वनिर्धारित Office365 अनुमतियों के साथ अधिक सार्वजनिक अनुप्रयोगों का I**D रोडटूल्स के डेटाबेस में खोज सकते हैं:
यह हमला विशेष रूप से दिलचस्प है क्योंकि डिफ़ॉल्ट रूप से सार्वजनिक Office365 अनुप्रयोगों को कुछ डेटा तक पहुँचने की अनुमति होगी।
डिफ़ॉल्ट रूप से, उपयोगकर्ताओं द्वारा बनाए गए अन्य ऐप्स को अनुमति नहीं होगी और वे निजी हो सकते हैं। हालांकि, उपयोगकर्ता सार्वजनिक ऐप्स भी बना सकते हैं जो उन्हें कुछ अनुमतियाँ प्रदान करते हैं।
एक संभावित परिदृश्य जहां एक नीति अनुप्रयोग तक पहुँचने के लिए MFA की आवश्यकता निर्धारित करती है जब उपयोगकर्ता एक ब्राउज़र का उपयोग कर रहा है (शायद क्योंकि यह एक वेब अनुप्रयोग है और इसलिए यह एकमात्र तरीका होगा), यदि एक प्रॉक्सी अनुप्रयोग है -एक अनुप्रयोग जो उपयोगकर्ताओं की ओर से अन्य ऐप्स के साथ बातचीत करने की अनुमति देता है-, उपयोगकर्ता प्रॉक्सी अनुप्रयोग में लॉगिन कर सकता है और फिर इस प्रॉक्सी अनुप्रयोग के माध्यम से प्रारंभिक MFA-संरक्षित ऐप में लॉगिन कर सकता है।
Invoke-MFASweep और donkeytoken तकनीकों की जाँच करें।
एक Azure MFA विकल्प है कॉन्फ़िगर किए गए फोन नंबर पर कॉल प्राप्त करना जहां उपयोगकर्ता से चर #
भेजने के लिए कहा जाएगा।
चूंकि चर केवल स्वर हैं, एक हमलावर फोन नंबर के वॉयसमेल संदेश को समझौता कर सकता है, संदेश के रूप में #
का स्वर कॉन्फ़िगर कर सकता है और फिर, जब MFA का अनुरोध किया जाता है, तो सुनिश्चित करें कि शिकार का फोन व्यस्त है (इसे कॉल करके) ताकि Azure कॉल वॉयस मेल पर पुनर्निर्देशित हो जाए।
नीतियाँ अक्सर एक अनुपालन उपकरण या MFA की मांग करती हैं, इसलिए एक हमलावर एक अनुपालन उपकरण पंजीकृत कर सकता है, एक PRT टोकन प्राप्त कर सकता है और इस तरह MFA को बायपास कर सकता है।
एक अनुपालन उपकरण को Intune में पंजीकृत करने से शुरू करें, फिर PRT प्राप्त करें:
इस प्रकार के हमले के बारे में अधिक जानकारी निम्नलिखित पृष्ठ पर प्राप्त करें:
Az - Pass the PRTसभी नीतियों को प्राप्त करें
MFASweep एक PowerShell स्क्रिप्ट है जो प्रदान किए गए क्रेडेंशियल्स का उपयोग करके विभिन्न Microsoft सेवाओं में लॉग इन करने का प्रयास करती है और यह पहचानने का प्रयास करती है कि क्या MFA सक्षम है। यह इस पर निर्भर करता है कि कंडीशनल एक्सेस नीतियाँ और अन्य मल्टी-फैक्टर ऑथेंटिकेशन सेटिंग्स कैसे कॉन्फ़िगर की गई हैं, कुछ प्रोटोकॉल अंततः सिंगल फैक्टर रह सकते हैं। इसमें ADFS कॉन्फ़िगरेशन के लिए एक अतिरिक्त जांच भी है और यदि पता लगाया गया तो यह ऑन-प्रिम ADFS सर्वर में लॉग इन करने का प्रयास कर सकता है।
Donkey token एक सेट फ़ंक्शंस का है जिसका उद्देश्य सुरक्षा सलाहकारों की मदद करना है जिन्हें Conditional Access Policies को मान्य करने, 2FA-सक्षम Microsoft पोर्टलों के लिए परीक्षण करने आदि की आवश्यकता होती है।
प्रत्येक पोर्टल का परीक्षण करें कि क्या MFA के बिना लॉगिन करना संभव है:
क्योंकि Azure पोर्टल सीमित नहीं है, इसलिए पोर्टल एंडपॉइंट से किसी भी सेवा तक पहुँचने के लिए एक टोकन इकट्ठा करना संभव है जो पिछले निष्पादन द्वारा पता लगाया गया था। इस मामले में Sharepoint की पहचान की गई, और इसे एक्सेस करने के लिए एक टोकन का अनुरोध किया गया:
मान लीजिए कि टोकन के पास Sites.Read.All (Sharepoint से) की अनुमति है, भले ही आप MFA के कारण वेब से Sharepoint तक पहुँच नहीं पा रहे हैं, फिर भी आप उत्पन्न टोकन का उपयोग करके फ़ाइलों तक पहुँचने के लिए टोकन का उपयोग कर सकते हैं:
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE) GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)