AWS - API Gateway Unauthenticated Enum
API Invoke बायपास
वीडियो Attack Vectors for APIs Using AWS API Gateway Lambda Authorizers - Alexandre & Leonardo के अनुसार, Lambda Authorizers को IAM सिंटैक्स का उपयोग करके कॉन्फ़िगर किया जा सकता है ताकि API एंडपॉइंट को इनवोक करने की अनुमति दी जा सके। यह दस्तावेज़ से लिया गया है:
इस तरीके से अंत्यों को अंतर्वादन की अनुमतियाँ देने की समस्या यह है कि "*" किसी भी चीज को सूचित करता है और कोई अधिक regex सिंटैक्स समर्थित नहीं है।
कुछ उदाहरण:
एक नियम जैसे
arn:aws:execute-apis:sa-east-1:accid:api-id/prod/*/dashboard/*
हर उपयोगकर्ता को/dashboard/user/{username}
तक पहुंच प्रदान करने के लिए अनुमति देने के लिए उन्हें/admin/dashboard/createAdmin
जैसे अन्य मार्गों तक पहुंच प्रदान करेगा।
ध्यान दें कि "*" स्लैश के साथ विस्तारित होना नहीं रोकता, इसलिए, यदि आप उदाहरण के लिए api-id में "*" का उपयोग करते हैं, तो यह "कोई भी स्टेज" या "कोई भी विधि" को भी सूचित कर सकता है जब तक अंतिम regex अभी भी मान्य हो।
इसलिए arn:aws:execute-apis:sa-east-1:accid:*/prod/GET/dashboard/*
उदाहरण के लिए /prod/GET/dashboard/admin
पथ के लिए पोस्ट अनुरोध की पुष्टि कर सकता है।
आपको हमेशा स्पष्ट रखना चाहिए कि आप किसे पहुंचने की अनुमति देना चाहते हैं और फिर जांचना चाहिए कि अनुमतियों द्वारा प्रदान की गई अन्य स्थितियाँ संभव हैं या नहीं।
अधिक जानकारी के लिए, दस्तावेज़ के अलावा, आप इस आधिकारिक aws github में ऑथराइज़र्स को लागू करने के लिए कोड पा सकते हैं।
IAM नीति अंधापन
उसी बातचीत में यह उजागर किया गया है कि यदि कोड उपयोगकर्ता इनपुट का उपयोग कर रहा है IAM नीतियाँ उत्पन्न करने के लिए, तो वाइल्डकार्ड (और अन्य जैसे "." या विशिष्ट स्ट्रिंग्स) उसमें शामिल किए जा सकते हैं जिनका उद्देश्य प्रतिबंधों को छलना है।
सार्वजनिक URL टेम्पलेट
पब्लिक API Gateway URL से खाता आईडी प्राप्त करें
S3 बकेट्स, डेटा एक्सचेंज और लैम्बडा URL गेटवे की तरह, पब्लिक API Gateway URL से खाते की आईडी पाना संभव है जब आप aws:ResourceAccount
नीति शर्त कंडीशन की का दुरुपयोग करते हैं। यह उस खाते की आईडी को ढूंढने के लिए किया जाता है जिसमें नीति के aws:ResourceAccount
खंड में वाइल्डकार्ड का दुरुपयोग किया जाता है।
यह तकनीक यदि आप टैग कुंजी को जानते हैं तो टैग के मान भी प्राप्त करने की अनुमति देती है (कुछ डिफ़ॉल्ट दिलचस्प वाले होते हैं)।
आप इस शोध में अधिक जानकारी पा सकते हैं मूल शोध और उपकरण conditional-love का उपयोग करके इस शोषण को स्वचालित करने के लिए।
Last updated