AWS - DynamoDB Post Exploitation
DynamoDB
अधिक जानकारी के लिए देखें:
pageAWS - DynamoDB Enumdynamodb:BatchGetItem
dynamodb:BatchGetItem
इस अनुमति के साथ एक हमलावर तालिकाओं से प्राइमरी की द्वारा आइटम्स प्राप्त कर सकता है (आप तालिका का सारा डेटा सीधे नहीं मांग सकते)। इसका मतलब है कि आपको प्राइमरी कीज़ का पता होना चाहिए (आप यह तालिका मेटाडेटा (describe-table
) प्राप्त करके जान सकते हैं)।
संभावित प्रभाव: तालिका में संवेदनशील जानकारी का पता लगाकर अप्रत्यक्ष privesc
dynamodb:GetItem
dynamodb:GetItem
पिछली अनुमतियों के समान, यह अनुमति एक संभावित हमलावर को केवल 1 तालिका से मान पढ़ने की अनुमति देती है, बशर्ते प्रविष्टि की प्राथमिक कुंजी दी गई हो:
इस अनुमति के साथ transact-get-items
विधि का उपयोग इस प्रकार भी संभव है:
संभावित प्रभाव: तालिका में संवेदनशील जानकारी का पता लगाकर अप्रत्यक्ष privesc
dynamodb:Query
dynamodb:Query
पिछली अनुमतियों के समान, यह अनुमति एक संभावित हमलावर को केवल 1 तालिका से मान पढ़ने की अनुमति देती है, बशर्ते कि प्रविष्टि की प्राथमिक कुंजी दी गई हो। यह तुलनाओं का एक उपसमूह का उपयोग करने की अनुमति देता है, लेकिन प्राथमिक कुंजी के साथ अनुमत एकमात्र तुलना "EQ" है, इसलिए आप एक अनुरोध में पूरे DB प्राप्त करने के लिए तुलना का उपयोग नहीं कर सकते।
संभावित प्रभाव: तालिका में संवेदनशील जानकारी का पता लगाकर परोक्ष privesc
dynamodb:Scan
dynamodb:Scan
आप इस अनुमति का उपयोग पूरी तालिका को आसानी से डंप करने के लिए कर सकते हैं।
संभावित प्रभाव: टेबल में संवेदनशील जानकारी का पता लगाकर परोक्ष privesc
dynamodb:PartiQLSelect
dynamodb:PartiQLSelect
आप इस अनुमति का उपयोग पूरी टेबल को आसानी से डंप करने के लिए कर सकते हैं।
यह अनुमति batch-execute-statement
जैसे कार्य करने की भी अनुमति देती है:
लेकिन आपको प्राइमरी की के साथ एक मान निर्दिष्ट करना होगा, इसलिए यह उतना उपयोगी नहीं है।
संभावित प्रभाव: टेबल में संवेदनशील जानकारी का पता लगाकर अप्रत्यक्ष privesc
dynamodb:ExportTableToPointInTime|(dynamodb:UpdateContinuousBackups)
dynamodb:ExportTableToPointInTime|(dynamodb:UpdateContinuousBackups)
यह अनुमति हमलावर को पूरी टेबल को उसकी पसंद के S3 बकेट में निर्यात करने की अनुमति देगी:
ध्यान दें कि इसके काम करने के लिए टेबल में point-in-time-recovery सक्षम होना चाहिए, आप यह जांच सकते हैं कि क्या टेबल में यह सुविधा है:
यदि यह सक्षम नहीं है, तो आपको इसे सक्षम करना होगा और इसके लिए आपको dynamodb:ExportTableToPointInTime
अनुमति की आवश्यकता होगी:
संभावित प्रभाव: तालिका में संवेदनशील जानकारी का पता लगाकर अप्रत्यक्ष प्रिवेस्क
dynamodb:CreateTable
, dynamodb:RestoreTableFromBackup
, (dynamodb:CreateBackup
)
dynamodb:CreateTable
, dynamodb:RestoreTableFromBackup
, (dynamodb:CreateBackup
)इन अनुमतियों के साथ, एक हमलावर नई तालिका बैकअप से बनाने में सक्षम होगा (या यहां तक कि एक बैकअप बनाकर उसे अलग तालिका में पुनर्स्थापित करने के लिए)। फिर, आवश्यक अनुमतियों के साथ, वह जानकारी की जांच करने में सक्षम होगा जो उत्पादन तालिका में अब नहीं हो सकती है।
संभावित प्रभाव: टेबल बैकअप में संवेदनशील जानकारी का पता लगाकर अप्रत्यक्ष privesc
dynamodb:PutItem
dynamodb:PutItem
यह अनुमति उपयोगकर्ताओं को नई आइटम जोड़ने या मौजूदा आइटम को नई आइटम से बदलने की अनुमति देती है। यदि समान प्राइमरी कुंजी वाली आइटम पहले से मौजूद है, तो पूरी आइटम नई आइटम से बदल दी जाएगी। यदि प्राइमरी कुंजी मौजूद नहीं है, तो निर्दिष्ट प्राइमरी कुंजी के साथ एक नई आइटम बनाई जाएगी।
संभावित प्रभाव: DynamoDB टेबल में डेटा जोड़ने/संशोधित करने की क्षमता होने से आगे की कमजोरियों/बाईपास का शोषण
dynamodb:UpdateItem
dynamodb:UpdateItem
यह अनुमति उपयोगकर्ताओं को मौजूदा आइटम के गुणों को संशोधित करने या एक आइटम में नए गुण जोड़ने की अनुमति देती है। यह पूरे आइटम को प्रतिस्थापित नहीं करता; यह केवल निर्दिष्ट गुणों को अपडेट करता है। यदि प्राइमरी कुंजी टेबल में मौजूद नहीं है, तो ऑपरेशन नए आइटम को बनाएगा जिसमें निर्दिष्ट प्राइमरी कुंजी होगी और अपडेट एक्सप्रेशन में निर्दिष्ट गुणों को सेट करेगा।
संभावित प्रभाव: DynamoDB टेबल में डेटा जोड़ने/संशोधित करने की क्षमता से आगे की कमजोरियों/बाईपास का शोषण
dynamodb:DeleteTable
dynamodb:DeleteTable
इस अनुमति के साथ एक हमलावर DynamoDB टेबल को हटा सकता है, जिससे डेटा हानि हो सकती है।
संभावित प्रभाव: डेटा हानि और उस टेबल पर निर्भर सेवाओं का व्यवधान।
dynamodb:DeleteBackup
dynamodb:DeleteBackup
इस अनुमति के साथ एक हमलावर DynamoDB बैकअप को हटा सकता है, जिससे आपदा पुनर्प्राप्ति परिदृश्य में डेटा हानि हो सकती है।
संभावित प्रभाव: डेटा हानि और आपदा पुनर्प्राप्ति परिदृश्य के दौरान बैकअप से पुनर्प्राप्ति की अक्षमता।
dynamodb:StreamSpecification
, dynamodb:UpdateTable
, dynamodb:DescribeStream
, dynamodb:GetShardIterator
, dynamodb:GetRecords
dynamodb:StreamSpecification
, dynamodb:UpdateTable
, dynamodb:DescribeStream
, dynamodb:GetShardIterator
, dynamodb:GetRecords
TODO: यह जांचें कि यह वास्तव में काम करता है या नहीं
इन अनुमतियों वाला हमलावर DynamoDB टेबल पर एक स्ट्रीम सक्षम कर सकता है, टेबल को अपडेट करके स्ट्रीमिंग परिवर्तनों को शुरू कर सकता है, और फिर स्ट्रीम तक पहुंच कर टेबल में परिवर्तनों की निगरानी वास्तविक समय में कर सकता है। इससे हमलावर को डेटा परिवर्तनों की निगरानी करने और निकालने की क्षमता मिलती है, जिससे डेटा लीक होने की संभावना होती है।
DynamoDB टेबल पर एक स्ट्रीम सक्षम करें:
ARN और अन्य विवरण प्राप्त करने के लिए स्ट्रीम का वर्णन करें:
स्ट्रीम ARN का उपयोग करके शार्ड इटरेटर प्राप्त करें:
स्ट्रीम से डेटा तक पहुँचने और निकालने के लिए शार्ड इटरेटर का उपयोग करें:
संभावित प्रभाव: DynamoDB टेबल के परिवर्तनों की वास्तविक समय निगरानी और डेटा लीकेज।
Last updated