Translated ['src/pentesting-cloud/aws-security/aws-privilege-escalation/

This commit is contained in:
Translator
2025-01-06 23:56:32 +00:00
parent 2ca1957ea6
commit ad7f4121f2
4 changed files with 38 additions and 36 deletions

View File

@@ -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** बना सकता है जो **तब ट्रिगर होगा जब एक बकेट नोटिफिकेशन भेजा जाएगा**, और **हाइजैक** कर लेगा उस **बकेट** **सामग्री**
![](<../../../images/image (174).png>)
@@ -43,7 +43,7 @@ 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 स्टोरेज का उपयोग **कॉन्फ़िग फ़ाइलों** को स्टोर करने के लिए करती हैं।\
एक हमलावर जिसके पास **पढ़ने की पहुँच** है, वह उन पर **संवेदनशील जानकारी** पा सकता है।\
एक हमलावर जिसके पास **लिखने की पहुँच** है, वह **डेटा को संशोधित कर सकता है ताकि किसी सेवा का दुरुपयोग किया जा सके और विशेषाधिकार बढ़ाने की कोशिश की जा सके**।\
ये कुछ उदाहरण हैं:
@@ -52,12 +52,12 @@ Pacu मॉड्यूल [`cfn__resouce_injection`](https://github.com/RhinoSe
### `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` के विशेषाधिकारों के साथ पाइपलाइन में 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
@@ -65,7 +65,7 @@ pentesting-ci-cd/terraform-security.md#abusing-terraform-state-files
### `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>
@@ -124,7 +124,7 @@ 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>