diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sts-post-exploitation/README.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sts-post-exploitation/README.md index 8a79410c8..5b34ab214 100644 --- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sts-post-exploitation/README.md +++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sts-post-exploitation/README.md @@ -10,14 +10,14 @@ ../../aws-services/aws-iam-enum.md {{#endref}} -### IAM Creds से Console तक +### From IAM Creds to Console -यदि आप कुछ IAM credentials प्राप्त करने में सफल रहे हैं, तो आप निम्नलिखित tools का उपयोग करके web console तक पहुँचने में रुचि ले सकते हैं।\ -ध्यान दें कि user/role के पास permission **`sts:GetFederationToken`** होना चाहिए। +यदि आपने कुछ IAM credentials प्राप्त कर लिए हैं तो आप निम्नलिखित टूल्स का उपयोग करके **वेब कंसोल में पहुँचने (accessing the web console)** में रुचि रख सकते हैं।\ +ध्यान दें कि user/role के पास अनुमति **`sts:GetFederationToken`** होना चाहिए। -#### Custom script +#### कस्टम स्क्रिप्ट -निम्नलिखित script default profile और एक default AWS location (not gov and not cn) का उपयोग करेगा और आपको एक signed URL देगा जिसका आप web console में login करने के लिए उपयोग कर सकते हैं: +निम्नलिखित स्क्रिप्ट डिफ़ॉल्ट प्रोफ़ाइल और एक डिफ़ॉल्ट AWS लोकेशन (not gov and not cn) का उपयोग करेगी ताकि आपको एक साइन किया हुआ URL मिल सके जिसका उपयोग आप वेब कंसोल में लॉगिन करने के लिए कर सकें: ```bash # Get federated creds (you must indicate a policy or they won't have any perms) ## Even if you don't have Admin access you can indicate that policy to make sure you get all your privileges @@ -55,7 +55,7 @@ echo -n "https://signin.aws.amazon.com/federation?Action=login&Issuer=example.co ``` #### aws_consoler -आप [https://github.com/NetSPI/aws_consoler](https://github.com/NetSPI/aws_consoler) का उपयोग करके **वेब कंसोल लिंक** बना सकते हैं। +आप [https://github.com/NetSPI/aws_consoler](https://github.com/NetSPI/aws_consoler) के साथ **एक वेब कंसोल लिंक जनरेट कर सकते हैं**। ```bash cd /tmp python3 -m venv env @@ -64,22 +64,26 @@ pip install aws-consoler aws_consoler [params...] #This will generate a link to login into the console ``` > [!WARNING] -> सुनिश्चित करें कि IAM user के पास `sts:GetFederationToken` permission हो, या assume करने के लिए एक role प्रदान करें। +> सुनिश्चित करें कि IAM user के पास `sts:GetFederationToken` अनुमति हो, या assume करने के लिए एक role प्रदान करें। #### aws-vault -[**aws-vault**](https://github.com/99designs/aws-vault) डेवलपमेंट वातावरण में AWS credentials को सुरक्षित रूप से स्टोर और एक्सेस करने का एक टूल है। +[**aws-vault**](https://github.com/99designs/aws-vault) एक टूल है जो development environment में AWS credentials को सुरक्षित रूप से स्टोर करने और एक्सेस करने के लिए प्रयोग किया जाता है। ```bash aws-vault list aws-vault exec jonsmith -- aws s3 ls # Execute aws cli with jonsmith creds aws-vault login jonsmith # Open a browser logged as jonsmith ``` > [!NOTE] -> आप **aws-vault** का उपयोग करके एक **browser console session** भी प्राप्त कर सकते हैं +> आप **aws-vault** का उपयोग करके एक **ब्राउज़र कंसोल सत्र** भी प्राप्त कर सकते हैं -### **Bypass User-Agent restrictions from Python** +### वेब कंसोल से IAM Creds तक -यदि उपयोग किए गए **user agent** के आधार पर कुछ क्रियाएँ करने पर कोई **restriction** है (जैसे user agent के आधार पर python boto3 library के उपयोग पर restriction), तो पिछले तरीके का उपयोग करके आप **connect to the web console via a browser** कर सकते हैं, या आप सीधे **modify the boto3 user-agent** कर सकते हैं, जैसे: +ब्राउज़र एक्सटेंशन **** नेटवर्क से IAM credentials को ब्राउज़र की मेमोरी में सुरक्षित किए जाने से पहले इंटरसेप्ट करने में सक्षम है। + +### **Python से User-Agent प्रतिबंध बाईपास करें** + +यदि उपयोग किए गए **user agent के आधार पर कुछ क्रियाएं करने पर प्रतिबंध** है (जैसे user agent के आधार पर python boto3 library के उपयोग को प्रतिबंधित करना) तो पिछली तकनीक का उपयोग करके आप **ब्राउज़र के माध्यम से वेब कंसोल से कनेक्ट करना** संभव है, या आप सीधे **boto3 user-agent को बदल सकते हैं** जैसा कि नीचे किया गया है: ```bash # Shared by ex16x41 # Create a client @@ -94,12 +98,12 @@ response = client.get_secret_value(SecretId="flag_secret") print(response['Secre ``` ### **`sts:GetFederationToken`** -इस अनुमति के साथ यह संभव है कि इसे निष्पादित करने वाले उपयोगकर्ता के लिए एक फ़ेडरेटेड पहचान बनाई जाए, जो उस उपयोगकर्ता के पास मौजूद अनुमतियों तक ही सीमित होगी। +इस अनुमति के साथ, यह उस उपयोगकर्ता के लिए एक federated identity बनाने की अनुमति देता है जो इसे निष्पादित कर रहा है, और यह उन अनुमतियों तक सीमित रहेगा जो उस उपयोगकर्ता के पास हैं। ```bash aws sts get-federation-token --name ``` -sts:GetFederationToken द्वारा लौटाया गया token कॉल करने वाले उपयोगकर्ता की federated identity से संबंधित होता है, लेकिन सीमित permissions के साथ। भले ही उपयोगकर्ता के पास प्रशासक अधिकार हों, कुछ क्रियाएँ जैसे IAM users सूचीबद्ध करना या policies संलग्न करना federated token के माध्यम से नहीं की जा सकतीं। +sts:GetFederationToken द्वारा लौटाया गया token calling user की federated identity का होता है, लेकिन सीमित permissions के साथ। भले ही user के पास administrator rights हों, कुछ क्रियाएँ जैसे listing IAM users या attaching policies federated token के माध्यम से नहीं की जा सकतीं। -इसके अलावा, यह तरीका कुछ हद तक अधिक गुप्त है, क्योंकि federated user AWS पोर्टल में दिखाई नहीं देता; इसे केवल CloudTrail logs या monitoring tools के माध्यम से ही देखा जा सकता है। +इसके अतिरिक्त, यह method कुछ हद तक अधिक stealthy है, क्योंकि federated user AWS Portal में दिखाई नहीं देता — इसे केवल CloudTrail logs या monitoring tools के माध्यम से देखा जा सकता है। {{#include ../../../../banners/hacktricks-training.md}}