
GCPGoat : एक बेहद असुरक्षित GCP इंफ्रास्ट्रक्चर
किसी संगठन के क्लाउड इंफ्रास्ट्रक्चर से समझौता करना हमलावरों के लिए सोने की खान पर बैठने जैसा है। और कभी-कभी, वेब एप्लिकेशन में एक साधारण गलत कॉन्फ़िगरेशन या कमजोरी ही हमलावर के लिए पूरे इंफ्रास्ट्रक्चर से समझौता करने के लिए पर्याप्त होती है। चूंकि क्लाउड अपेक्षाकृत नया है, कई डेवलपर खतरे के परिदृश्य से पूरी तरह अवगत नहीं हैं और वे एक कमजोर क्लाउड इंफ्रास्ट्रक्चर तैनात कर देते हैं।
GCPGoat GCP पर डिज़ाइन द्वारा कमजोर इंफ्रास्ट्रक्चर है जिसमें नवीनतम जारी OWASP टॉप 10 वेब एप्लिकेशन सुरक्षा जोखिम (2021) और IAM, स्टोरेज बकेट, क्लाउड फंक्शन और कंप्यूट इंजन जैसी सेवाओं पर आधारित अन्य गलत कॉन्फ़िगरेशन शामिल हैं। GCPGoat वास्तविक दुनिया के इंफ्रास्ट्रक्चर की नकल करता है लेकिन अतिरिक्त कमजोरियों के साथ। इसमें कई एस्केलेशन पथ हैं और यह ब्लैक-बॉक्स दृष्टिकोण पर केंद्रित है।
GCPGoat उपयोगकर्ता के GCP खाते पर कमजोर क्लाउड इंफ्रास्ट्रक्चर तैनात करने के लिए IaC (Terraform) का उपयोग करता है। यह उपयोगकर्ता को कोड, इंफ्रास्ट्रक्चर और वातावरण पर पूर्ण नियंत्रण देता है। GCPGoat का उपयोग करके, उपयोगकर्ता निम्नलिखित सीख/अभ्यास कर सकता है:
प्रोजेक्ट को मॉड्यूल में विभाजित किया जाएगा और प्रत्येक मॉड्यूल एक अलग वेब एप्लिकेशन होगा, जो विविध तकनीकी स्टैक और विकास प्रथाओं द्वारा संचालित होगा। यह तैनाती प्रक्रिया को आसान बनाने के लिए terraform के माध्यम से IaC का लाभ उठाएगा।
प्रोजेक्ट में OWASP TOP 10 2021 सहित सभी महत्वपूर्ण कमजोरियों और लोकप्रिय क्लाउड गलत कॉन्फ़िगरेशन को शामिल करने की योजना है। वर्तमान में, प्रोजेक्ट में निम्नलिखित कमजोरियाँ/गलत कॉन्फ़िगरेशन शामिल हैं।
GCPGoat को मैन्युअल रूप से स्थापित करने के लिए आपको इन चरणों का पालन करना होगा:
(नोट: इसके लिए Linux मशीन की आवश्यकता है, जिसमें /bin/bash शेल उपलब्ध हो)
चरण 1. रिपॉजिटरी क्लोन करें
git clone https://github.com/ine-labs/GCPGoat
चरण 2. gcloud CLI का उपयोग करके GCP उपयोगकर्ता खाता क्रेडेंशियल कॉन्फ़िगर करें
gcloud auth application-default login
चरण 3. main.tf फ़ाइल में बिलिंग खाता नाम डालें
data "google_billing_account" "acct" {
display_name = "<Your Billing Account Name>"
}
चरण 4. उसी कार्यशील निर्देशिका में GCPGoat को डिप्लॉय करने के लिए terraform का उपयोग करें।
terraform init
terraform apply --auto-approve
पहला मॉड्यूल क्लाउड फंक्शन, क्लाउड स्टोरेज बकेट, कंप्यूट इंजन और Firestore का उपयोग करने वाला एक सर्वरलेस ब्लॉग एप्लिकेशन है। इसमें विभिन्न वेब एप्लिकेशन कमजोरियाँ शामिल हैं और यह गलत कॉन्फ़िगर किए गए GCP संसाधनों के शोषण की सुविधा प्रदान करता है।
एस्केलेशन पथ:
अनुशंसित ब्राउज़र: Google Chrome
GCPGoat की तैनाती से बनाए गए संसाधनों पर कोई शुल्क नहीं लगेगा यदि GCP खाता फ्री टियर/ट्रायल अवधि के अंतर्गत है। हालांकि, फ्री टियर/ट्रायल के समाप्त होने या अयोग्य होने पर, US-East क्षेत्र के लिए निम्नलिखित शुल्क लागू होंगे:
मॉड्यूल 1: $0.03/घंटा
Nishant Sharma, निदेशक, लैब प्लेटफॉर्म, INE [email protected]
Jeswin Mathai, मुख्य वास्तुकार, लैब प्लेटफॉर्म, INE [email protected]
Sherin Stephen, सॉफ्टवेयर इंजीनियर (क्लाउड), INE [email protected]
Divya Nain, सॉफ्टवेयर इंजीनियर (क्लाउड), INE [email protected]
Rishappreet Singh Moon, सॉफ्टवेयर इंजीनियर (क्लाउड), INE [email protected]
Litesh Ghute, सॉफ्टवेयर इंजीनियर (क्लाउड), INE [email protected]
Sanjeev Mahunta, सॉफ्टवेयर इंजीनियर (क्लाउड), INE [email protected]
आक्रामक मैनुअल attack-manuals निर्देशिका में उपलब्ध हैं, और रक्षात्मक मैनुअल defence-manuals निर्देशिका में उपलब्ध हैं।
मॉड्यूल 1:
modules/module-<Number>/src में पाया जा सकता है, इसका उपयोग मौजूदा एप्लिकेशन कोड को संशोधित करने के लिए किया जा सकता है।यह प्रोग्राम मुफ्त सॉफ्टवेयर है: आप इसे MIT लाइसेंस की शर्तों के तहत पुनर्वितरित और/या संशोधित कर सकते हैं।
आपको इस प्रोग्राम के साथ MIT लाइसेंस की एक प्रति प्राप्त हुई होगी। यदि नहीं, तो https://opensource.org/licenses/MIT देखें।