AWS - API Gateway Unauthenticated Enum
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)
के अनुसार Attack Vectors for APIs Using AWS API Gateway Lambda Authorizers - Alexandre & Leonardo, Lambda Authorizers को API एंडपॉइंट्स को इनवोक करने के लिए अनुमति देने के लिए IAM सिंटैक्स का उपयोग करके कॉन्फ़िगर किया जा सकता है। यह docs से लिया गया है:
इस तरीके से एंडपॉइंट्स को इनवोक करने के लिए अनुमति देने की समस्या यह है कि "*" का अर्थ "कुछ भी" है और कोई और 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
पर मान्य कर सकता है उदाहरण के लिए।
आपको हमेशा स्पष्ट होना चाहिए कि आप किसे पहुंच देने की अनुमति देना चाहते हैं और फिर जांचें कि क्या दी गई अनुमतियों के साथ अन्य परिदृश्य संभव हैं।
अधिक जानकारी के लिए, docs के अलावा, आप इस आधिकारिक aws github में ऑथराइज़र्स को लागू करने के लिए कोड पा सकते हैं।
उसी बातचीत में यह तथ्य उजागर किया गया है कि यदि कोड उपयोगकर्ता इनपुट का उपयोग करके IAM नीतियों को जनरेट कर रहा है, तो वाइल्डकार्ड (और अन्य जैसे "." या विशिष्ट स्ट्रिंग) वहां शामिल किए जा सकते हैं जिसका लक्ष्य प्रतिबंधों को बायपास करना है।
S3 बकेट, डेटा एक्सचेंज और लैम्ब्डा URL गेटवे की तरह, एक सार्वजनिक API गेटवे URL से aws:ResourceAccount
नीति स्थिति कुंजी का दुरुपयोग करके एक खाते की खाता ID खोजना संभव है। यह नीति के aws:ResourceAccount
अनुभाग में वाइल्डकार्ड का दुरुपयोग करके एक बार में एक अक्षर खाता ID खोजकर किया जाता है।
यह तकनीक आपको टैग के मान प्राप्त करने की भी अनुमति देती है यदि आप टैग कुंजी जानते हैं (कुछ डिफ़ॉल्ट दिलचस्प हैं)।
आप मूल शोध और इस शोषण को स्वचालित करने के लिए उपकरण conditional-love में अधिक जानकारी प्राप्त कर सकते हैं।
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE) GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)