
AWSGoat : एक दम संवेदनशील AWS इंफ्रास्ट्रक्चर

किसी संगठन के क्लाउड इंफ्रास्ट्रक्चर से समझौता करना हमलावरों के लिए सोने की खान पर बैठने जैसा है। और कभी-कभी, वेब एप्लिकेशन में एक साधारण गलत कॉन्फ़िगरेशन या कमजोरी ही हमलावर को पूरे इंफ्रास्ट्रक्चर से समझौता करने के लिए पर्याप्त होती है। चूंकि क्लाउड अपेक्षाकृत नया है, कई डेवलपर्स खतरे के परिदृश्य से पूरी तरह अवगत नहीं हैं और वे एक कमजोर क्लाउड इंफ्रास्ट्रक्चर तैनात कर देते हैं।
AWSGoat एक जानबूझकर कमजोर डिज़ाइन किया गया इंफ्रास्ट्रक्चर है जो AWS पर नवीनतम जारी OWASP टॉप 10 वेब एप्लिकेशन सुरक्षा जोखिम (2021) और IAM, S3, API Gateway, Lambda, EC2 और ECS जैसी सेवाओं पर आधारित अन्य गलत कॉन्फ़िगरेशन को प्रदर्शित करता है। AWSGoat वास्तविक दुनिया के इंफ्रास्ट्रक्चर की नकल करता है लेकिन इसमें अतिरिक्त कमजोरियाँ जोड़ी गई हैं। इसमें कई एस्केलेशन पथ हैं और यह ब्लैक-बॉक्स दृष्टिकोण पर केंद्रित है।
AWSGoat उपयोगकर्ता के AWS खाते पर कमजोर क्लाउड इंफ्रास्ट्रक्चर को तैनात करने के लिए IaC (Terraform) का उपयोग करता है। यह उपयोगकर्ता को कोड, इंफ्रास्ट्रक्चर और पर्यावरण पर पूर्ण नियंत्रण देता है। AWSGoat का उपयोग करके, उपयोगकर्ता निम्नलिखित सीख/अभ्यास कर सकता है:
यह परियोजना मॉड्यूल में विभाजित की जाएगी और प्रत्येक मॉड्यूल एक अलग वेब एप्लिकेशन होगा, जो विभिन्न तकनीकी स्टैक और विकास प्रथाओं द्वारा संचालित होगा। यह तैनाती प्रक्रिया को आसान बनाने के लिए Terraform और GitHub Actions के माध्यम से IaC का लाभ उठाएगा।
प्रस्तुत किया गया
यह परियोजना OWASP TOP 10 2021 सहित सभी महत्वपूर्ण कमजोरियों और लोकप्रिय क्लाउड गलत कॉन्फ़िगरेशन को शामिल करने के लिए निर्धारित है। वर्तमान में, परियोजना में निम्नलिखित कमजोरियाँ/गलत कॉन्फ़िगरेशन शामिल हैं।
तैनाती प्रक्रिया को आसान बनाने के लिए उपयोगकर्ता को केवल इस repo को फोर्क करना होगा, अपने AWS खाते की साख GitHub सीक्रेट्स में जोड़नी होगी, और Terraform Apply Action चलाना होगा। यह वर्कफ़्लो पूरे इंफ्रास्ट्रक्चर को तैनात करेगा और होस्ट किए गए एप्लिकेशन का URL आउटपुट करेगा।
यहाँ अनुसरण करने के चरण दिए गए हैं:
चरण 1. repo को फोर्क करें
चरण 2. GitHub एक्शन सीक्रेट्स सेट करें:
AWS_ACCESS_KEY
AWS_SECRET_ACCESS_KEY
चरण 3. रिपॉजिटरी एक्शन टैब से, तैनात करने के लिए मॉड्यूल चुनें और Terraform Apply वर्कफ़्लो चलाएँ।
चरण 4. Terraform आउटपुट अनुभाग में एप्लिकेशन URL खोजें।
AWSGoat को मैन्युअल रूप से स्थापित करने के लिए आपको इन चरणों का पालन करना होगा:
(नोट: इसके लिए /bin/bash शेल उपलब्ध वाली Linux मशीन की आवश्यकता है)
चरण 1. repo को क्लोन करें
git clone https://github.com/ine-labs/AWSGoat
चरण 2. AWS उपयोगकर्ता खाता साख कॉन्फ़िगर करें
aws configure
चरण 3. संबंधित मॉड्यूल की निर्देशिका में जाएँ और AWSGoat को तैनात करने के लिए terraform का उपयोग करें
cd modules/module-<Number>
terraform init
terraform apply --auto-approve
पहले मॉड्यूल में AWS Lambda, S3, API Gateway और DynamoDB का उपयोग करने वाला एक सर्वरलेस ब्लॉग एप्लिकेशन है। इसमें विभिन्न वेब एप्लिकेशन कमजोरियाँ शामिल हैं और गलत कॉन्फ़िगर किए गए AWS संसाधनों के शोषण की सुविधा प्रदान करता है।
एस्केलेशन पथ:
दूसरे मॉड्यूल में AWS ECS इंफ्रास्ट्रक्चर का उपयोग करने वाला एक आंतरिक HR पेरोल एप्लिकेशन है। इसमें विभिन्न वेब एप्लिकेशन कमजोरियाँ शामिल हैं और गलत कॉन्फ़िगर किए गए AWS संसाधनों के शोषण की सुविधा प्रदान करता है।
एस्केलेशन पथ:
अनुशंसित ब्राउज़र: Google Chrome
AWSGoat की तैनाती के साथ बनाए गए संसाधनों पर कोई शुल्क नहीं लगेगा यदि AWS खाता मुफ्त स्तर/परीक्षण अवधि के अंतर्गत है। हालाँकि, मुफ्त स्तर/परीक्षण समाप्त होने या अयोग्य होने पर, US-East क्षेत्र के लिए निम्नलिखित शुल्क लागू होंगे:
मॉड्यूल 1: $0.0125/घंटा
मॉड्यूल 2: $0.0505/घंटा
जेस्विन मथाई, मुख्य वास्तुकार, लैब प्लेटफ़ॉर्म, INE [email protected]
निशांत शर्मा, निदेशक, लैब प्लेटफ़ॉर्म, INE [email protected]
संजीव महुंटा, सॉफ्टवेयर इंजीनियर (क्लाउड), INE [email protected]
शांतनु काले, क्लाउड डेवलपर, INE [email protected]
गोविंद कृष्णा लाल बालाजी, क्लाउड डेवलपर, INE [email protected]
लितेश घुटे, सॉफ्टवेयर इंजीनियर, INE [email protected]
आक्रामक मैनुअल attack-manuals निर्देशिका में उपलब्ध हैं, और रक्षात्मक मैनुअल defence-manuals निर्देशिका में उपलब्ध हैं।
मॉड्यूल 1 के शोषण वीडियो: https://www.youtube.com/playlist?list=PLcIpBb4raSZEMosUmY8KpxPWtjKRMSmNx
अधिक विवरण के लिए "AWSGoat.pdf" PDF फ़ाइल देखें। इस फ़ाइल में प्रस्तुतियों के लिए उपयोग की गई स्लाइड डेक शामिल है।
मॉड्यूल 1:
मॉड्यूल 2:
modules/module-<Number>/src में पाया जा सकता है, इसका उपयोग मौजूदा एप्लिकेशन कोड को संशोधित करने के लिए किया जा सकता है।यह प्रोग्राम मुफ्त सॉफ्टवेयर है: आप इसे MIT लाइसेंस की शर्तों के तहत पुनर्वितरित और/या संशोधित कर सकते हैं।
आपको इस प्रोग्राम के साथ MIT लाइसेंस की एक प्रति प्राप्त होनी चाहिए। यदि नहीं, तो https://opensource.org/licenses/MIT देखें।