mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2025-12-26 04:41:55 -08:00
Translated ['src/pentesting-cloud/aws-security/aws-privilege-escalation/
This commit is contained in:
@@ -6,9 +6,9 @@
|
||||
|
||||
### `s3:PutBucketNotification`, `s3:PutObject`, `s3:GetObject`
|
||||
|
||||
एक हमलावर जिनके पास इन दिलचस्प बकेट्स पर ये अनुमतियाँ हैं, वे संसाधनों को हाईजैक करने और विशेषाधिकार बढ़ाने में सक्षम हो सकते हैं।
|
||||
एक हमलावर जिसके पास इन दिलचस्प बकेट्स पर ये अनुमतियाँ हैं, वह संसाधनों को हाईजैक करने और विशेषाधिकार बढ़ाने में सक्षम हो सकता है।
|
||||
|
||||
उदाहरण के लिए, एक हमलावर जिनके पास "cf-templates-nohnwfax6a6i-us-east-1" नामक **क्लाउडफॉर्मेशन बकेट** पर ये **अनुमतियाँ** हैं, वे डिप्लॉयमेंट को हाईजैक करने में सक्षम होंगे। एक्सेस निम्नलिखित नीति के साथ दिया जा सकता है:
|
||||
उदाहरण के लिए, एक हमलावर जिसके पास "cf-templates-nohnwfax6a6i-us-east-1" नामक **क्लाउडफॉर्मेशन बकेट** पर ये **अनुमतियाँ** हैं, वह डिप्लॉयमेंट को हाईजैक करने में सक्षम होगा। एक्सेस निम्नलिखित नीति के साथ दिया जा सकता है:
|
||||
```json
|
||||
{
|
||||
"Version": "2012-10-17",
|
||||
@@ -34,7 +34,7 @@
|
||||
]
|
||||
}
|
||||
```
|
||||
और हाइजैक संभव है क्योंकि **टेम्पलेट अपलोड होने के क्षण से** लेकर **टेम्पलेट डिप्लॉय होने के क्षण तक एक छोटा समय विंडो** होता है। एक हमलावर बस अपने खाते में एक **lambda function** बना सकता है जो **तब ट्रिगर होगा जब एक बकेट नोटिफिकेशन भेजा जाएगा**, और **हाइजैक** कर लेगा उस **बकेट** का **सामग्री**।
|
||||
और हाइजैक संभव है क्योंकि **टेम्पलेट अपलोड होने के क्षण से** लेकर **टेम्पलेट डिप्लॉय होने के क्षण तक एक छोटा समय विंडो** होता है। एक हमलावर बस अपने खाते में एक **lambda function** बना सकता है जो **जब एक बकेट नोटिफिकेशन भेजा जाता है, तब ट्रिगर होगा**, और **हाइजैक** कर लेगा उस **बकेट** का **सामग्री**।
|
||||
|
||||
.png>)
|
||||
|
||||
@@ -43,29 +43,29 @@ Pacu मॉड्यूल [`cfn__resouce_injection`](https://github.com/RhinoSe
|
||||
|
||||
### `s3:PutObject`, `s3:GetObject` <a href="#s3putobject-s3getobject" id="s3putobject-s3getobject"></a>
|
||||
|
||||
ये **S3 में ऑब्जेक्ट्स को प्राप्त करने और अपलोड करने** के लिए अनुमतियाँ हैं। AWS के अंदर (और बाहर) कई सेवाएँ S3 स्टोरेज का उपयोग **कॉन्फ़िग फ़ाइलों** को स्टोर करने के लिए करती हैं।\
|
||||
ये **S3 में ऑब्जेक्ट प्राप्त करने और अपलोड करने** के लिए अनुमतियाँ हैं। AWS के अंदर (और बाहर) कई सेवाएँ S3 स्टोरेज का उपयोग **कॉन्फ़िग फ़ाइलों** को स्टोर करने के लिए करती हैं।\
|
||||
एक हमलावर जिसके पास **पढ़ने की पहुँच** है, वह उन पर **संवेदनशील जानकारी** पा सकता है।\
|
||||
एक हमलावर जिसके पास **लिखने की पहुँच** है, वह **डेटा को संशोधित कर सकता है ताकि किसी सेवा का दुरुपयोग किया जा सके और विशेषाधिकार बढ़ाने की कोशिश की जा सके**।\
|
||||
एक हमलावर जिसके पास **लिखने की पहुँच** है, वह **डेटा को संशोधित कर सकता है ताकि किसी सेवा का दुरुपयोग किया जा सके और विशेषाधिकारों को बढ़ाने की कोशिश की जा सके**।\
|
||||
ये कुछ उदाहरण हैं:
|
||||
|
||||
- यदि एक EC2 इंस्टेंस **S3 बकेट में उपयोगकर्ता डेटा** स्टोर कर रहा है, तो एक हमलावर इसे **EC2 इंस्टेंस के अंदर मनमाना कोड निष्पादित करने के लिए संशोधित कर सकता है**।
|
||||
|
||||
### `s3:PutObject`, `s3:GetObject` (वैकल्पिक) टेराफॉर्म स्टेट फ़ाइल पर
|
||||
|
||||
यह बहुत सामान्य है कि [terraform](https://cloud.hacktricks.wiki/en/pentesting-ci-cd/terraform-security.html) स्टेट फ़ाइलें क्लाउड प्रदाताओं के ब्लॉब स्टोरेज में सहेजी जा रही हैं, जैसे कि AWS S3। स्टेट फ़ाइल के लिए फ़ाइल उपसर्ग `.tfstate` है, और बकेट नाम अक्सर यह भी बताते हैं कि वे टेराफॉर्म स्टेट फ़ाइलें हैं। आमतौर पर, हर AWS खाता में ऐसी एक बकेट होती है जो खाता की स्थिति को दिखाने वाली स्टेट फ़ाइलों को स्टोर करती है।\
|
||||
यह बहुत सामान्य है कि [terraform](https://cloud.hacktricks.wiki/en/pentesting-ci-cd/terraform-security.html) स्टेट फ़ाइलें क्लाउड प्रदाताओं के ब्लॉब स्टोरेज में सहेजी जा रही हैं, जैसे कि AWS S3। स्टेट फ़ाइल के लिए फ़ाइल उपसर्ग `.tfstate` है, और बकेट नाम अक्सर यह भी बताते हैं कि वे टेराफॉर्म स्टेट फ़ाइलें रखते हैं। आमतौर पर, हर AWS खाता में ऐसी एक बकेट होती है जो खाता की स्थिति को दिखाने वाली स्टेट फ़ाइलों को स्टोर करती है।\
|
||||
साथ ही आमतौर पर, वास्तविक दुनिया के खातों में लगभग हमेशा सभी डेवलपर्स के पास `s3:*` होता है और कभी-कभी यहां तक कि व्यवसाय उपयोगकर्ताओं के पास भी `s3:Put*` होता है।
|
||||
|
||||
तो, यदि आपके पास इन फ़ाइलों पर सूचीबद्ध अनुमतियाँ हैं, तो एक हमले का वेक्टर है जो आपको `terraform` के विशेषाधिकारों के साथ पाइपलाइन में RCE प्राप्त करने की अनुमति देता है - अधिकांश समय `AdministratorAccess`, जिससे आप क्लाउड खाते के व्यवस्थापक बन जाते हैं। इसके अलावा, आप उस वेक्टर का उपयोग सेवा से इनकार के हमले के लिए कर सकते हैं जिससे `terraform` वैध संसाधनों को हटा दे।
|
||||
|
||||
*Terraform Security* पृष्ठ के *Abusing Terraform State Files* अनुभाग में सीधे उपयोग करने योग्य शोषण कोड के लिए विवरण का पालन करें:
|
||||
*Terraform Security* पृष्ठ के *Abusing Terraform State Files* अनुभाग में सीधे उपयोग करने योग्य एक्सप्लॉइट कोड के लिए विवरण का पालन करें:
|
||||
|
||||
{{#ref}}
|
||||
pentesting-ci-cd/terraform-security.md#abusing-terraform-state-files
|
||||
../../../pentesting-ci-cd/terraform-security.md#abusing-terraform-state-files
|
||||
{{#endref}}
|
||||
|
||||
### `s3:PutBucketPolicy`
|
||||
|
||||
एक हमलावर, जिसे **उसी खाते से होना चाहिए**, यदि नहीं तो त्रुटि `The specified method is not allowed will trigger` होगी, इस अनुमति के साथ बकेट(s) पर अधिक अनुमतियाँ देने में सक्षम होगा जिससे वह पढ़, लिख, संशोधित, हटाने और बकेट को उजागर कर सके।
|
||||
एक हमलावर, जिसे **उसी खाते से होना चाहिए**, यदि नहीं तो त्रुटि `The specified method is not allowed will trigger` होगी, इस अनुमति के साथ बकेट(s) पर अधिक अनुमतियाँ देने में सक्षम होगा जिससे वह पढ़, लिख, संशोधित, हटाने और बकेट को उजागर कर सकेगा।
|
||||
```bash
|
||||
# Update Bucket policy
|
||||
aws s3api put-bucket-policy --policy file:///root/policy.json --bucket <bucket-name>
|
||||
@@ -123,8 +123,8 @@ aws s3api put-bucket-policy --policy file:///root/policy.json --bucket <bucket-n
|
||||
```
|
||||
### `s3:GetBucketAcl`, `s3:PutBucketAcl`
|
||||
|
||||
एक हमलावर इन अनुमतियों का दुरुपयोग करके **उन्हें अधिक पहुंच प्रदान कर सकता है** विशेष बाल्टियों पर।\
|
||||
ध्यान दें कि हमलावर को उसी खाते से होने की आवश्यकता नहीं है। इसके अलावा, लेखन पहुंच
|
||||
एक हमलावर इन अनुमतियों का दुरुपयोग करके **उन्हें अधिक पहुंच देने** के लिए विशेष बाल्टियों पर पहुंच प्राप्त कर सकता है।\
|
||||
ध्यान दें कि हमलावर को उसी खाते से होना आवश्यक नहीं है। इसके अलावा, लिखने की पहुंच
|
||||
```bash
|
||||
# Update bucket ACL
|
||||
aws s3api get-bucket-acl --bucket <bucket-name>
|
||||
|
||||
Reference in New Issue
Block a user