AWS - Cognito Unauthenticated Enum

Reading time: 4 minutes

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें

Unauthenticated Cognito

Cognito एक AWS सेवा है जो डेवलपर्स को अपने ऐप उपयोगकर्ताओं को AWS सेवाओं तक पहुंच प्रदान करने की अनुमति देती है। डेवलपर्स प्रमाणित उपयोगकर्ताओं को अपने ऐप में IAM भूमिकाएँ प्रदान करेंगे (संभवतः लोग केवल साइन अप कर सकेंगे) और वे अनप्रमाणित उपयोगकर्ताओं को भी IAM भूमिका प्रदान कर सकते हैं।

Cognito के बारे में बुनियादी जानकारी के लिए देखें:

AWS - Cognito Enum

पहचान पूल आईडी

पहचान पूल अनप्रमाणित उपयोगकर्ताओं को IAM भूमिकाएँ प्रदान कर सकते हैं जो केवल पहचान पूल आईडी को जानते हैं (जो खोजना काफी सामान्य है), और इस जानकारी के साथ एक हमलावर IAM भूमिका तक पहुँचने और इसका दुरुपयोग करने की कोशिश कर सकता है।
इसके अलावा, IAM भूमिकाएँ उन प्रमाणित उपयोगकर्ताओं को भी सौंपे जा सकते हैं जो पहचान पूल तक पहुँचते हैं। यदि एक हमलावर एक उपयोगकर्ता को पंजीकृत कर सकता है या पहले से ही पहचान पूल में उपयोग किए जाने वाले पहचान प्रदाता तक पहुँच रखता है, तो आप प्रमाणित उपयोगकर्ताओं को दी गई IAM भूमिका तक पहुँच सकते हैं और इसके विशेषाधिकारों का दुरुपयोग कर सकते हैं।

यहाँ देखें कि ऐसा कैसे करें.

उपयोगकर्ता पूल आईडी

डिफ़ॉल्ट रूप से Cognito नए उपयोगकर्ता को पंजीकृत करने की अनुमति देता है। एक उपयोगकर्ता को पंजीकृत करने में सक्षम होना आपको नींव एप्लिकेशन या एक पहचान पूल के प्रमाणित IAM एक्सेस भूमिका तक पहुँच दे सकता है जो पहचान प्रदाता के रूप में Cognito उपयोगकर्ता पूल को स्वीकार कर रहा है। यहाँ देखें कि ऐसा कैसे करें.

पैकू मॉड्यूल्स पेंटेस्टिंग और एन्यूमरेशन के लिए

Pacu, AWS शोषण ढांचा, अब "cognito__enum" और "cognito__attack" मॉड्यूल शामिल करता है जो एक खाते में सभी Cognito संपत्तियों की एन्यूमरेशन को स्वचालित करता है और कमजोर कॉन्फ़िगरेशन, पहुँच नियंत्रण के लिए उपयोगकर्ता विशेषताएँ, आदि को चिह्नित करता है, और उपयोगकर्ता निर्माण (MFA समर्थन सहित) और परिवर्तनीय कस्टम विशेषताओं, उपयोग योग्य पहचान पूल क्रेडेंशियल्स, आईडी टोकन में असुमेबल भूमिकाओं आदि के आधार पर विशेषाधिकार वृद्धि को भी स्वचालित करता है।

मॉड्यूल के कार्यों का विवरण देखने के लिए ब्लॉग पोस्ट के भाग 2 को देखें। स्थापना निर्देशों के लिए मुख्य Pacu पृष्ठ देखें।

उपयोग

एक दिए गए पहचान पूल और उपयोगकर्ता पूल क्लाइंट के खिलाफ उपयोगकर्ता निर्माण और सभी प्रिवेस्क वेक्टरों का प्रयास करने के लिए cognito__attack का नमूना उपयोग:

bash
Pacu (new:test) > run cognito__attack --username randomuser --email XX+sdfs2@gmail.com --identity_pools
us-east-2:a06XXXXX-c9XX-4aXX-9a33-9ceXXXXXXXXX --user_pool_clients
59f6tuhfXXXXXXXXXXXXXXXXXX@us-east-2_0aXXXXXXX

सैंपल cognito__enum का उपयोग वर्तमान AWS खाते में दृश्य सभी उपयोगकर्ता पूल, उपयोगकर्ता पूल क्लाइंट, पहचान पूल, उपयोगकर्ताओं आदि को इकट्ठा करने के लिए:

bash
Pacu (new:test) > run cognito__enum

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें