mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2025-12-27 21:23:07 -08:00
65 lines
5.9 KiB
Markdown
65 lines
5.9 KiB
Markdown
# AWS - Lambda Persistence
|
|
|
|
{{#include ../../../../banners/hacktricks-training.md}}
|
|
|
|
## Lambda
|
|
|
|
अधिक जानकारी के लिए देखें:
|
|
|
|
{{#ref}}
|
|
../../aws-services/aws-lambda-enum.md
|
|
{{#endref}}
|
|
|
|
### Lambda Layer Persistence
|
|
|
|
यह **कोई भी कोड निष्पादित करने के लिए एक लेयर को पेश/backdoor करना** संभव है जब लैम्ब्डा को एक गुप्त तरीके से निष्पादित किया जाता है:
|
|
|
|
{{#ref}}
|
|
aws-lambda-layers-persistence.md
|
|
{{#endref}}
|
|
|
|
### Lambda Extension Persistence
|
|
|
|
Lambda Layers का दुरुपयोग करते हुए, यह एक्सटेंशन का भी दुरुपयोग करना संभव है और लैम्ब्डा में स्थायी रहना, लेकिन अनुरोधों को चुराना और संशोधित करना भी संभव है।
|
|
|
|
{{#ref}}
|
|
aws-abusing-lambda-extensions.md
|
|
{{#endref}}
|
|
|
|
### Via resource policies
|
|
|
|
यह बाहरी खातों को विभिन्न लैम्ब्डा क्रियाओं (जैसे invoke या update code) तक पहुंच प्रदान करना संभव है:
|
|
|
|
<figure><img src="../../../../images/image (255).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
### Versions, Aliases & Weights
|
|
|
|
एक Lambda में **विभिन्न संस्करण** हो सकते हैं (प्रत्येक संस्करण के साथ अलग कोड)।\
|
|
फिर, आप लैम्ब्डा के **विभिन्न संस्करणों के साथ विभिन्न उपनाम** बना सकते हैं और प्रत्येक को विभिन्न वजन सेट कर सकते हैं।\
|
|
इस तरह एक हमलावर **बैकडोर संस्करण 1** और **केवल वैध कोड के साथ संस्करण 2** बना सकता है और **केवल 1%** अनुरोधों में संस्करण 1 को निष्पादित कर सकता है ताकि वह गुप्त रह सके।
|
|
|
|
<figure><img src="../../../../images/image (120).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
### Version Backdoor + API Gateway
|
|
|
|
1. Lambda का मूल कोड कॉपी करें
|
|
2. **मूल कोड (या केवल दुर्भावनापूर्ण कोड) को बैकडोर करते हुए एक नया संस्करण बनाएं**। उस संस्करण को प्रकाशित करें और **$LATEST पर तैनात करें**
|
|
1. कोड निष्पादित करने के लिए लैम्ब्डा से संबंधित API गेटवे को कॉल करें
|
|
3. **मूल कोड के साथ एक नया संस्करण बनाएं**, उस **संस्करण को प्रकाशित करें** और **$LATEST पर तैनात करें**।
|
|
1. यह पिछले संस्करण में बैकडोर कोड को छिपा देगा
|
|
4. API गेटवे पर जाएं और **एक नया POST विधि बनाएं** (या कोई अन्य विधि चुनें) जो लैम्ब्डा के बैकडोर संस्करण को निष्पादित करेगा: `arn:aws:lambda:us-east-1:<acc_id>:function:<func_name>:1`
|
|
1. अंतिम :1 को नोट करें जो **कार्य के संस्करण को इंगित करता है** (इस परिदृश्य में संस्करण 1 बैकडोर वाला होगा)।
|
|
5. बनाए गए POST विधि का चयन करें और क्रियाओं में **`Deploy API`** चुनें
|
|
6. अब, जब आप **POST के माध्यम से कार्य को कॉल करते हैं, तो आपका बैकडोर** सक्रिय होगा
|
|
|
|
### Cron/Event actuator
|
|
|
|
यह तथ्य कि आप **जब कुछ होता है या जब कुछ समय बीतता है तब लैम्ब्डा कार्यों को चलाने** के लिए बना सकते हैं, लैम्ब्डा को स्थायीता प्राप्त करने और पहचान से बचने का एक अच्छा और सामान्य तरीका बनाता है।\
|
|
यहां आपके **AWS में अधिक गुप्तता से रहने के लिए लैम्ब्डा बनाने के कुछ विचार हैं**।
|
|
|
|
- हर बार जब एक नया उपयोगकर्ता बनाया जाता है, तो लैम्ब्डा एक नया उपयोगकर्ता कुंजी उत्पन्न करता है और इसे हमलावर को भेजता है।
|
|
- हर बार जब एक नई भूमिका बनाई जाती है, तो लैम्ब्डा समझौता किए गए उपयोगकर्ताओं को भूमिका मानने की अनुमति देता है।
|
|
- हर बार जब नए क्लाउडट्रेल लॉग उत्पन्न होते हैं, तो उन्हें हटा दें/संशोधित करें
|
|
|
|
{{#include ../../../../banners/hacktricks-training.md}}
|