AWS - Lambda Post Exploitation
Reading time: 5 minutes
tip
AWS हैकिंग सीखें और अभ्यास करें:
HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें:
HackTricks Training GCP Red Team Expert (GRTE)
Azure हैकिंग सीखें और अभ्यास करें:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाओं की जांच करें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमें Twitter 🐦 @hacktricks_live** पर फॉलो करें।**
- हैकिंग ट्रिक्स साझा करें, PRs को HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में सबमिट करके।
Lambda
For more information check:
Exfilrtate Lambda Credentials
Lambda runtime में credentials inject करने के लिए environment variables का उपयोग करता है। अगर आप इन्हें एक्सेस कर पाते हैं (जैसे /proc/self/environ पढ़कर या vulnerable function का उपयोग करके), तो आप इन credentials का स्वयं उपयोग कर सकते हैं। ये डिफ़ॉल्ट variable नामों में पाए जाते हैं AWS_SESSION_TOKEN, AWS_SECRET_ACCESS_KEY, और AWS_ACCESS_KEY_ID।
डिफ़ॉल्ट रूप से, इनका access cloudwatch log group में लिखने के लिए होगा (जिसका नाम AWS_LAMBDA_LOG_GROUP_NAME में संग्रहीत होता है), और arbitrary log groups बनाने की अनुमति भी होगी; हालाँकि lambda functions अक्सर उनके उद्देश्य के आधार पर अधिक अनुमतियों के साथ असाइन किए जाते हैं।
lambda:Delete*
एक attacker जिसे lambda:Delete* प्रदान की गई हो, वह Lambda functions, versions/aliases, layers, event source mappings और अन्य संबंधित configurations को हटा सकता है।
aws lambda delete-function \
--function-name <LAMBDA_NAME>
दूसरों के Lambda URL अनुरोध चुराना
यदि कोई attacker किसी तरह Lambda के अंदर RCE प्राप्त कर लेता है, तो वह अन्य users के HTTP अनुरोधों को lambda से चुरा सकता है। यदि उन अनुरोधों में संवेदनशील जानकारी (cookies, credentials...) हो तो वह उन्हें चुरा सकेगा।
दूसरों के Lambda URL अनुरोध और Extensions अनुरोध चुराना
Lambda Layers का दुरुपयोग करके extensions का भी दुरुपयोग कर के Lambda में persistence हासिल करना और अनुरोधों को चुराना तथा संशोधित करना संभव है।
AWS - Abusing Lambda Extensions
AWS Lambda – VPC Egress Bypass
खाली VpcConfig (SubnetIds=[], SecurityGroupIds=[]) के साथ उसकी configuration अपडेट करके किसी restricted VPC से Lambda function को बाहर धकेला जा सकता है। फिर function Lambda-managed networking plane में चलेगा, आउटबाउन्ड इंटरनेट एक्सेस फिर से प्राप्त कर लेगा और NAT के बिना private VPC subnets द्वारा लागू किए गए egress controls को बायपास कर देगा।
AWS - Lambda VPC Egress Bypass
AWS Lambda – Runtime Pinning/Rollback Abuse
lambda:PutRuntimeManagementConfig का दुरुपयोग करके किसी function को एक specific runtime version (Manual) पर पिन किया जा सकता है या updates को freeze (FunctionUpdate) किया जा सकता है। यह malicious layers/wrappers के साथ compatibility बनाए रखता है और function को पुराने, vulnerable runtime पर रोक कर exploitation और long-term persistence में मदद कर सकता है।
AWS - Lambda Runtime Pinning Abuse
AWS Lambda – Log Siphon via LoggingConfig.LogGroup Redirection
lambda:UpdateFunctionConfiguration के advanced logging controls का दुरुपयोग करके किसी function के logs को attacker-चुने हुए CloudWatch Logs log group में redirect किया जा सकता है। इसके लिए code या execution role बदले बिना काम हो जाता है (ज्यादातर Lambda roles पहले से logs:CreateLogGroup/CreateLogStream/PutLogEvents को AWSLambdaBasicExecutionRole के माध्यम से शामिल करते हैं)। यदि function secrets/request bodies प्रिंट करता है या stack traces के साथ crash होता है, तो आप उन्हें नए log group से इकट्ठा कर सकते हैं।
AWS - Lambda LoggingConfig Redirection
AWS - Lambda Function URL Public Exposure
Function URL AuthType को NONE में बदलकर और एक resource-based policy जोड़कर जो lambda:InvokeFunctionUrl को सभी को दे, आप किसी private Lambda Function URL को public unauthenticated endpoint में बदल सकते हैं। इससे internal functions का anonymous invocation संभव हो जाता है और संवेदनशील backend operations प्रकटीकरण का खतरा बढ़ जाता है।
AWS - Lambda Function URL Public Exposure
AWS Lambda – Event Source Mapping Target Hijack
UpdateEventSourceMapping का दुरुपयोग करके मौजूदा Event Source Mapping (ESM) के target Lambda function को बदल दिया जा सकता है ताकि DynamoDB Streams, Kinesis, या SQS से आने वाले records attacker-controlled function को भेजे जाएं। यह producers या original function code को छुए बिना live डेटा को चुपके से divert कर देता है।
AWS - Lambda Event Source Mapping Hijack
AWS Lambda – EFS Mount Injection data exfiltration
lambda:UpdateFunctionConfiguration का दुरुपयोग करके किसी मौजूदा EFS Access Point को Lambda से attach किया जा सकता है, फिर trivial code deploy करके mounted path से files list/read कर के shared secrets/config जो पहले function के पहुंच में नहीं थे, उन्हें exfiltrate किया जा सकता है।
AWS - Lambda EFS Mount Injection
tip
AWS हैकिंग सीखें और अभ्यास करें:
HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें:
HackTricks Training GCP Red Team Expert (GRTE)
Azure हैकिंग सीखें और अभ्यास करें:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाओं की जांच करें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमें Twitter 🐦 @hacktricks_live** पर फॉलो करें।**
- हैकिंग ट्रिक्स साझा करें, PRs को HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में सबमिट करके।
HackTricks Cloud