AWS - Lambda Persistence

HackTricks को समर्थन दें

Lambda

अधिक जानकारी के लिए देखें:

AWS - Lambda Enum

Lambda Layer Persistence

यह संभव है कि एक लेयर में बैकडोर डालकर मनमाना कोड निष्पादित किया जाए जब lambda को एक गुप्त तरीके से निष्पादित किया जाए:

AWS - Lambda Layers Persistence

Lambda Extension Persistence

Lambda Layers का दुरुपयोग करते हुए, यह भी संभव है कि एक्सटेंशन्स का दुरुपयोग किया जाए और lambda में स्थायित्व प्राप्त किया जाए, साथ ही अनुरोधों को चुराया और संशोधित किया जाए।

AWS - Abusing Lambda Extensions

संसाधन नीतियों के माध्यम से

यह संभव है कि विभिन्न lambda क्रियाओं (जैसे invoke या कोड अपडेट) तक पहुंच बाहरी खातों को दी जाए:

संस्करण, उपनाम और भार

एक Lambda के विभिन्न संस्करण हो सकते हैं (प्रत्येक संस्करण के साथ अलग कोड)। फिर, आप lambda के विभिन्न संस्करणों के साथ विभिन्न उपनाम बना सकते हैं और प्रत्येक को अलग-अलग भार दे सकते हैं। इस तरह एक हमलावर बैकडोर संस्करण 1 और केवल वैध कोड के साथ संस्करण 2 बना सकता है और केवल 1% अनुरोधों में संस्करण 1 निष्पादित कर सकता है ताकि गुप्त बना रहे।

संस्करण बैकडोर + API Gateway

  1. Lambda का मूल कोड कॉपी करें

  2. मूल कोड को बैकडोर करके एक नया संस्करण बनाएं (या सिर्फ दुर्भावनापूर्ण कोड के साथ)। प्रकाशित करें और उस संस्करण को $LATEST पर तैनात करें

  3. कोड निष्पादित करने के लिए lambda से संबंधित API gateway को कॉल करें

  4. मूल कोड के साथ एक नया संस्करण बनाएं, प्रकाशित करें और उस संस्करण को $LATEST पर तैनात करें

  5. यह बैकडोर कोड को एक पिछले संस्करण में छिपा देगा

  6. API Gateway पर जाएं और एक नया POST विधि बनाएं (या कोई अन्य विधि चुनें) जो lambda के बैकडोर संस्करण को निष्पादित करेगा: arn:aws:lambda:us-east-1:<acc_id>:function:<func_name>:1

  7. arn के अंतिम :1 को नोट करें जो फ़ंक्शन के संस्करण को इंगित करता है (इस परिदृश्य में संस्करण 1 बैकडोर होगा)।

  8. बनाई गई POST विधि का चयन करें और Actions में Deploy API चुनें

  9. अब, जब आप POST के माध्यम से फ़ंक्शन को कॉल करेंगे तो आपका बैकडोर सक्रिय हो जाएगा

Cron/Event actuator

इस तथ्य के कारण कि आप lambda फ़ंक्शंस को तब चला सकते हैं जब कुछ होता है या जब कुछ समय बीतता है, lambda एक अच्छा और सामान्य तरीका है स्थायित्व प्राप्त करने और पहचान से बचने का। यहां आपके पास कुछ विचार हैं कि AWS में अपनी उपस्थिति को अधिक गुप्त कैसे बनाएं lambda बनाकर

  • हर बार जब एक नया उपयोगकर्ता बनाया जाता है, lambda एक नई उपयोगकर्ता कुंजी उत्पन्न करता है और इसे हमलावर को भेजता है।

  • हर बार जब एक नई भूमिका बनाई जाती है, lambda समझौता किए गए उपयोगकर्ताओं को भूमिका अनुमतियाँ देता है।

  • हर बार जब नए cloudtrail लॉग उत्पन्न होते हैं, उन्हें हटाएं/संशोधित करें

HackTricks को समर्थन दें

Last updated