mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-01-01 07:25:51 -08:00
Translated ['src/pentesting-cloud/aws-security/aws-privilege-escalation/
This commit is contained in:
@@ -4,32 +4,82 @@
|
||||
|
||||
## Lambda
|
||||
|
||||
अधिक जानकारी के लिए देखें:
|
||||
For more information check:
|
||||
|
||||
{{#ref}}
|
||||
../../aws-services/aws-lambda-enum.md
|
||||
{{#endref}}
|
||||
|
||||
### Lambda क्रेडेंशियल्स को एक्सफिल्ट्रेट करें
|
||||
### Exfilrtate Lambda Credentials
|
||||
|
||||
Lambda रनटाइम पर क्रेडेंशियल्स को इंजेक्ट करने के लिए पर्यावरण चर का उपयोग करता है। यदि आप उन्हें एक्सेस प्राप्त कर सकते हैं (जैसे `/proc/self/environ` को पढ़कर या स्वयं कमजोर फ़ंक्शन का उपयोग करके), तो आप उनका उपयोग कर सकते हैं। ये डिफ़ॉल्ट चर नाम `AWS_SESSION_TOKEN`, `AWS_SECRET_ACCESS_KEY`, और `AWS_ACCESS_KEY_ID` में रहते हैं।
|
||||
Lambda runtime पर credentials inject करने के लिए environment variables का उपयोग करता है। अगर आप उन्हें access कर सकें (जैसे `/proc/self/environ` पढ़कर या vulnerable function का खुद इस्तेमाल करके), तो आप उन्हें खुद इस्तेमाल कर सकते हैं। ये default variable names `AWS_SESSION_TOKEN`, `AWS_SECRET_ACCESS_KEY`, और `AWS_ACCESS_KEY_ID` में रहते हैं।
|
||||
|
||||
डिफ़ॉल्ट रूप से, इनका क्लाउडवॉच लॉग समूह (जिसका नाम `AWS_LAMBDA_LOG_GROUP_NAME` में संग्रहीत है) में लिखने का अधिकार होगा, साथ ही मनचाहे लॉग समूह बनाने का भी, हालाँकि Lambda फ़ंक्शंस अक्सर उनके इच्छित उपयोग के आधार पर अधिक अनुमतियाँ प्राप्त करते हैं।
|
||||
डिफ़ॉल्ट रूप से, इनको cloudwatch log group में लिखने की access होगी (जिसका नाम `AWS_LAMBDA_LOG_GROUP_NAME` में स्टोर होता है), और arbitrary log groups बनाने की भी, हालांकि Lambda functions अक्सर उनके intended use के आधार पर और permissions भी रखते हैं।
|
||||
|
||||
### दूसरों के Lambda URL अनुरोध चुराएं
|
||||
### Steal Others Lambda URL Requests
|
||||
|
||||
यदि एक हमलावर किसी तरह Lambda के अंदर RCE प्राप्त करने में सफल हो जाता है, तो वह अन्य उपयोगकर्ताओं के HTTP अनुरोधों को Lambda के लिए चुरा सकेगा। यदि अनुरोधों में संवेदनशील जानकारी (कुकीज़, क्रेडेंशियल्स...) होती है, तो वह उन्हें चुरा सकेगा।
|
||||
अगर attacker किसी तरह Lambda के अंदर RCE हासिल कर लेता है तो वह अन्य users के HTTP requests जो Lambda को भेजे जाते हैं, चुरा सकता है। अगर उन requests में sensitive जानकारी (cookies, credentials...) हो, तो वह उन्हें चुरा सकेगा।
|
||||
|
||||
{{#ref}}
|
||||
aws-warm-lambda-persistence.md
|
||||
{{#endref}}
|
||||
|
||||
### दूसरों के Lambda URL अनुरोध और एक्सटेंशन अनुरोध चुराएं
|
||||
### Steal Others Lambda URL Requests & Extensions Requests
|
||||
|
||||
Lambda लेयर्स का दुरुपयोग करते हुए एक्सटेंशन का दुरुपयोग करना और Lambda में स्थायी रहना संभव है, लेकिन अनुरोधों को चुराना और संशोधित करना भी संभव है।
|
||||
Lambda Layers का दुरुपयोग करके extensions का भी दुरुपयोग कर के Lambda में persist करना, और साथ ही requests को चुराना और बदलना भी संभव है।
|
||||
|
||||
{{#ref}}
|
||||
../../aws-persistence/aws-lambda-persistence/aws-abusing-lambda-extensions.md
|
||||
{{#endref}}
|
||||
|
||||
### AWS Lambda – VPC Egress Bypass
|
||||
|
||||
एक empty VpcConfig (SubnetIds=[], SecurityGroupIds=[]) के साथ configuration अपडेट करके एक Lambda function को restricted VPC से बाहर मजबूर कर दें। फिर function Lambda-managed networking plane में चलेगा, और outbound internet access वापस पा लेगा, जिससे private VPC subnets द्वारा लगाए गए egress controls (बिना NAT के) bypass हो जाएंगे।
|
||||
|
||||
{{#ref}}
|
||||
aws-lambda-vpc-egress-bypass.md
|
||||
{{#endref}}
|
||||
|
||||
### AWS Lambda – Runtime Pinning/Rollback Abuse
|
||||
|
||||
`lambda:PutRuntimeManagementConfig` का दुरुपयोग करके किसी function को एक specific runtime version (Manual) पर pin करें या updates को freeze करें (FunctionUpdate)। इससे malicious layers/wrappers के साथ compatibility बनी रहेगी और function को एक outdated, vulnerable runtime पर रखा जा सकता है ताकि exploitation और long-term persistence में मदद मिल सके।
|
||||
|
||||
{{#ref}}
|
||||
aws-lambda-runtime-pinning-abuse.md
|
||||
{{#endref}}
|
||||
|
||||
### AWS Lambda – Log Siphon via LoggingConfig.LogGroup Redirection
|
||||
|
||||
`lambda:UpdateFunctionConfiguration` के advanced logging controls का दुरुपयोग करके किसी function के logs को attacker-चुने हुए CloudWatch Logs log group में redirect किया जा सकता है। यह code या execution role बदले बिना काम करता है (most Lambda roles में पहले से `logs:CreateLogGroup/CreateLogStream/PutLogEvents` शामिल होते हैं via `AWSLambdaBasicExecutionRole`)। अगर function secrets/request bodies प्रिंट करता है या stack traces के साथ crash होता है, तो आप उन्हें नए log group से इकट्ठा कर सकते हैं।
|
||||
|
||||
{{#ref}}
|
||||
aws-lambda-loggingconfig-redirection.md
|
||||
{{#endref}}
|
||||
|
||||
### AWS - Lambda Function URL Public Exposure
|
||||
|
||||
Function URL AuthType को NONE पर सेट करके और एक resource-based policy attach करके जो lambda:InvokeFunctionUrl को सभी को देता है, किसी private Lambda Function URL को public unauthenticated endpoint में बदला जा सकता है। इससे internal functions की anonymous invocation संभव हो जाती है और sensitive backend operations expose हो सकते हैं।
|
||||
|
||||
{{#ref}}
|
||||
aws-lambda-function-url-public-exposure.md
|
||||
{{#endref}}
|
||||
|
||||
### AWS Lambda – Event Source Mapping Target Hijack
|
||||
|
||||
`UpdateEventSourceMapping` का दुरुपयोग करके existing Event Source Mapping (ESM) के target Lambda function को बदल दें ताकि DynamoDB Streams, Kinesis, या SQS के records attacker-controlled function को डिलीवर हों। यह producers या original function code को छुए बिना live data को silently divert कर देता है।
|
||||
|
||||
{{#ref}}
|
||||
aws-lambda-event-source-mapping-target-hijack.md
|
||||
{{#endref}}
|
||||
|
||||
### AWS Lambda – EFS Mount Injection data exfiltration
|
||||
|
||||
`lambda:UpdateFunctionConfiguration` का दुरुपयोग करके किसी existing EFS Access Point को Lambda से attach करें, फिर ऐसे trivial code deploy करें जो mounted path से files list/read करे ताकि function पहले जिन तक पहुँच नहीं था वे shared secrets/config exfiltrate किए जा सकें।
|
||||
|
||||
{{#ref}}
|
||||
aws-lambda-efs-mount-injection.md
|
||||
{{#endref}}
|
||||
|
||||
|
||||
|
||||
{{#include ../../../../banners/hacktricks-training.md}}
|
||||
|
||||
Reference in New Issue
Block a user