AWS - API Gateway Post Exploitation
API Gateway
अधिक जानकारी के लिए देखें:
AWS - API Gateway Enumअप्रकट APIs तक पहुँच
आप https://us-east-1.console.aws.amazon.com/vpc/home#CreateVpcEndpoint पर com.amazonaws.us-east-1.execute-api
सेवा के साथ एक endpoint बना सकते हैं, उस endpoint को एक नेटवर्क में एक्सपोज़ करें जहाँ आपको पहुँच हो (संभावित रूप से एक EC2 मशीन के माध्यम से) और सभी कनेक्शनों की अनुमति देने वाला एक सुरक्षा समूह असाइन करें।
फिर, EC2 मशीन से आप endpoint तक पहुँच सकेंगे और इसलिए उस gateway API को कॉल कर सकेंगे जो पहले एक्सपोज़ नहीं था।
Request body passthrough को बायपास करें
यह तकनीक इस CTF writeup में पाई गई थी।
जैसा कि AWS दस्तावेज़ में PassthroughBehavior
अनुभाग में संकेत दिया गया है, डिफ़ॉल्ट रूप से, मान WHEN_NO_MATCH
, जब अनुरोध के Content-Type हेडर की जाँच करता है, तो अनुरोध को बिना किसी परिवर्तन के बैक एंड पर पास कर देगा।
इसलिए, CTF में API Gateway में एक इंटीग्रेशन टेम्पलेट था जो फ्लैग को रिस्पॉन्स में एक्सफिल्ट्रेट होने से रोक रहा था जब एक अनुरोध Content-Type: application/json
के साथ भेजा गया था:
हालांकि, Content-type: text/json
के साथ अनुरोध भेजने से उस फ़िल्टर को रोका जा सकता था।
अंत में, क्योंकि API Gateway केवल Get
और Options
की अनुमति दे रहा था, यह संभव था कि बिना किसी सीमा के एक मनमाना dynamoDB क्वेरी भेजी जा सके, POST अनुरोध के साथ क्वेरी को बॉडी में भेजकर और हेडर X-HTTP-Method-Override: GET
का उपयोग करके:
Usage Plans DoS
Enumeration अनुभाग में आप देख सकते हैं कि keys का usage plan कैसे प्राप्त करें। यदि आपके पास key है और यह प्रति माह X usages तक सीमित है, तो आप इसे सिर्फ उपयोग करके DoS का कारण बन सकते हैं।
API Key को HTTP header में x-api-key
कहा जाता है, के अंदर शामिल करने की आवश्यकता है।
apigateway:UpdateGatewayResponse
, apigateway:CreateDeployment
apigateway:UpdateGatewayResponse
, apigateway:CreateDeployment
एक हमलावर जिसके पास apigateway:UpdateGatewayResponse
और apigateway:CreateDeployment
अनुमतियाँ हैं, वह संवेदनशील जानकारी लीक करने या दुर्भावनापूर्ण स्क्रिप्ट निष्पादित करने के लिए कस्टम हेडर या प्रतिक्रिया टेम्पलेट शामिल करने के लिए मौजूदा Gateway Response को संशोधित कर सकता है।
संभावित प्रभाव: संवेदनशील जानकारी का लीक होना, दुर्भावनापूर्ण स्क्रिप्ट्स का निष्पादन, या API संसाधनों तक अनधिकृत पहुंच।
परीक्षण की आवश्यकता
apigateway:UpdateStage
, apigateway:CreateDeployment
apigateway:UpdateStage
, apigateway:CreateDeployment
एक हमलावर जिसके पास apigateway:UpdateStage
और apigateway:CreateDeployment
अनुमतियाँ हैं, मौजूदा API Gateway स्टेज को संशोधित कर सकता है ताकि ट्रैफ़िक को किसी अन्य स्टेज पर पुनर्निर्देशित किया जा सके या कैशिंग सेटिंग्स को बदलकर कैश किए गए डेटा तक अनधिकृत पहुंच प्राप्त की जा सके।
संभावित प्रभाव: कैश किए गए डेटा तक अनधिकृत पहुंच, API ट्रैफ़िक को बाधित या इंटरसेप्ट करना।
परीक्षण की आवश्यकता
apigateway:PutMethodResponse
, apigateway:CreateDeployment
apigateway:PutMethodResponse
, apigateway:CreateDeployment
एक हमलावर जिसके पास apigateway:PutMethodResponse
और apigateway:CreateDeployment
अनुमतियाँ हैं, मौजूदा API Gateway REST API विधि की विधि प्रतिक्रिया को संशोधित कर सकता है ताकि कस्टम हेडर या प्रतिक्रिया टेम्पलेट शामिल हों जो संवेदनशील जानकारी को लीक करते हैं या दुर्भावनापूर्ण स्क्रिप्ट निष्पादित करते हैं।
संभावित प्रभाव: संवेदनशील जानकारी का लीक होना, दुर्भावनापूर्ण स्क्रिप्ट्स का निष्पादन, या API संसाधनों तक अनधिकृत पहुंच।
परीक्षण की आवश्यकता
apigateway:UpdateRestApi
, apigateway:CreateDeployment
apigateway:UpdateRestApi
, apigateway:CreateDeployment
एक हमलावर जिसके पास apigateway:UpdateRestApi
और apigateway:CreateDeployment
अनुमतियाँ हैं, API Gateway REST API सेटिंग्स को संशोधित कर सकता है ताकि लॉगिंग को अक्षम किया जा सके या न्यूनतम TLS संस्करण को बदल सके, जिससे API की सुरक्षा कमजोर हो सकती है।
संभावित प्रभाव: API की सुरक्षा को कमजोर करना, जिससे अनधिकृत पहुंच या संवेदनशील जानकारी का खुलासा हो सकता है।
परीक्षण की आवश्यकता
apigateway:CreateApiKey
, apigateway:UpdateApiKey
, apigateway:CreateUsagePlan
, apigateway:CreateUsagePlanKey
apigateway:CreateApiKey
, apigateway:UpdateApiKey
, apigateway:CreateUsagePlan
, apigateway:CreateUsagePlanKey
एक हमलावर जिसके पास apigateway:CreateApiKey
, apigateway:UpdateApiKey
, apigateway:CreateUsagePlan
, और apigateway:CreateUsagePlanKey
अनुमतियाँ हैं, नए API कुंजियाँ बना सकता है, उन्हें उपयोग योजनाओं के साथ जोड़ सकता है, और फिर इन कुंजियों का उपयोग API तक अनधिकृत पहुंच के लिए कर सकता है।
संभावित प्रभाव: API संसाधनों तक अनधिकृत पहुंच, सुरक्षा नियंत्रणों को बायपास करना।
परीक्षण की आवश्यकता
Last updated