AWS - Redshift Privesc
Redshift
RDS के बारे में अधिक जानकारी के लिए देखें:
pageAWS - Redshift Enumredshift:DescribeClusters
, redshift:GetClusterCredentials
redshift:DescribeClusters
, redshift:GetClusterCredentials
इन अनुमतियों के साथ आप सभी क्लस्टरों की जानकारी (नाम और क्लस्टर उपयोगकर्ता सहित) प्राप्त कर सकते हैं और इसे एक्सेस करने के लिए प्रमाण पत्र प्राप्त कर सकते हैं:
संभावित प्रभाव: डेटाबेस में संवेदनशील जानकारी खोजें।
redshift:DescribeClusters
, redshift:GetClusterCredentialsWithIAM
redshift:DescribeClusters
, redshift:GetClusterCredentialsWithIAM
इन अनुमतियों के साथ आप सभी क्लस्टरों की जानकारी प्राप्त कर सकते हैं और इसे एक्सेस करने के लिए प्रमाणपत्र प्राप्त कर सकते हैं। ध्यान दें कि पोस्टग्रेस उपयोगकर्ता के पास वह अनुमतियाँ होंगी जो IAM पहचान जिसका उपयोग प्रमाणपत्र प्राप्त करने के लिए किया गया है।
संभावित प्रभाव: डेटाबेस में संवेदनशील जानकारी खोजें।
redshift:DescribeClusters
, redshift:ModifyCluster?
redshift:DescribeClusters
, redshift:ModifyCluster?
यह संभव है कि आप aws cli से आंतरिक postgres (redshit) उपयोगकर्ता का मास्टर पासवर्ड संशोधित करें (मुझे लगता है कि ये अनुमतियाँ आपको चाहिए लेकिन मैंने अभी तक इसे परीक्षण नहीं किया है):
संभावित प्रभाव: डेटाबेस में गोपनीय जानकारी खोजना।
बाह्य सेवाओं तक पहुंचना
निम्नलिखित सभी संसाधनों तक पहुंचने के लिए, आपको उपयोग करने के लिए भूमिका निर्दिष्ट करनी होगी। रेडशिफ्ट क्लस्टर को AWS भूमिकाओं की सूची सौंपी जा सकती है जिन्हें आप उपयोग कर सकते हैं अगर आप ARN जानते हैं या आप बस "डिफ़ॉल्ट" सेट कर सकते हैं उपयोग करने के लिए जो डिफ़ॉल्ट सौंपी गई है।
इसके अतिरिक्त, जैसा कि यहाँ स्पष्ट किया गया है, रेडशिफ्ट भी भूमिकाओं को जोड़ने की अनुमति देता है (जब तक पहला वाला दूसरे को मान सकता है) ताकि आप आगे की पहुंच प्राप्त कर सकें लेकिन उन्हें बस कॉमा के साथ अलग करके सेट करें: iam_role 'arn:aws:iam::123456789012:role/RoleA,arn:aws:iam::210987654321:role/RoleB';
लैम्बडा
जैसा कि https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_FUNCTION.html में स्पष्ट किया गया है, रेडशिफ्ट से लैम्बडा फ़ंक्शन को कॉल करना संभव है कुछ इस प्रकार:
S3
जैसा कि https://docs.aws.amazon.com/redshift/latest/dg/tutorial-loading-run-copy.html में स्पष्ट किया गया है, S3 बकेट में पढ़ने और लिखने की संभावना है:
डायनामो
जैसा कि https://docs.aws.amazon.com/redshift/latest/dg/t_Loading-data-from-dynamodb.html में स्पष्ट किया गया है, डायनामोडीबी से डेटा प्राप्त करना संभव है:
डेटा प्रदान करने वाला अमेज़न डाइनामोडीबी टेबल आपके क्लस्टर के साथ एक ही AWS क्षेत्र में बनाया जाना चाहिए, यदि आप REGION विकल्प का उपयोग नहीं करते हैं तो जिस AWS क्षेत्र में अमेज़न डाइनामोडीबी टेबल स्थित है, उसे निर्दिष्ट करने के लिए।
EMR
जांच करें https://docs.aws.amazon.com/redshift/latest/dg/loading-data-from-emr.html
संदर्भ
Last updated