
अपना खुद का डिज़ाइन से ही असुरक्षित AWS पेनेट्रेशन टेस्टिंग प्लेग्राउंड बनाएं

हैकिंग शुरू करें: CloudFoxable
अधिक विवरण के लिए ब्लॉग पढ़ें: CloudFoxable का परिचय: एक गेमिफाइड क्लाउड हैकिंग सैंडबॉक्स
CloudFox पैठ परीक्षकों और सुरक्षा पेशेवरों को क्लाउड इंफ्रास्ट्रक्चर में शोषण योग्य हमले के रास्ते खोजने में मदद करता है। हालाँकि, क्या होगा यदि आप उन सेवाओं को खोजना और उनका शोषण करना चाहते हैं जो आपके वर्तमान वातावरण में अभी तक मौजूद नहीं हैं? क्या होगा यदि आपके पास किसी एंटरप्राइज़ AWS वातावरण तक पहुँच नहीं है?
और यहाँ आता है CloudFoxable — एक जानबूझकर कमजोर AWS वातावरण, जिसे विशेष रूप से CloudFox की क्षमताओं को प्रदर्शित करने और छिपे हुए हमले के रास्तों को अधिक प्रभावी ढंग से खोजने में आपकी मदद करने के लिए बनाया गया है। CloudGoat, flaws.cloud, flaws2.cloud और Metasploitable 1-3 से प्रेरणा लेते हुए, CloudFoxable CTF प्रारूप में फ्लैग और हमले के रास्तों की एक विस्तृत श्रृंखला प्रदान करता है।
CloudGoat और IAM-Vulnerable के समान, CloudFoxable एक उपयोगकर्ता-प्रबंधित प्लेग्राउंड खाते में जानबूझकर कमजोर AWS संसाधनों को तैनात करता है, ताकि उपयोगकर्ता क्लाउड कमजोरियों की पहचान करना और उनका शोषण करना सीख सकें। हालाँकि, flaws.cloud की तरह, आपका अनुभव अधिक वेब-आधारित और मार्गदर्शित है।
CloudFoxable, जानबूझकर कमजोर AWS इंफ्रास्ट्रक्चर को तैनात करने और प्रबंधित करने के लिए Terraform का उपयोग करता है। यह अनुभाग Terraform को इंस्टॉल करने तथा CloudFoxable संसाधनों को तैनात करने, संशोधित करने और हटाने के लिए आवश्यक न्यूनतम मार्गदर्शन प्रदान करता है।
CloudFoxable को तैनात करने से पहले Terraform को स्थानीय रूप से इंस्टॉल किया जाना चाहिए।
अपने ऑपरेटिंग सिस्टम के लिए आधिकारिक HashiCorp इंस्टॉलेशन गाइड का पालन करें:
https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli
इंस्टॉलेशन सत्यापित करें:
terraform version
एक सफल इंस्टॉलेशन Terraform संस्करण प्रिंट करेगा।
Terraform चलाने से पहले:
aws configure, पर्यावरण चर, या एक ग्रहण की गई भूमिका के माध्यम से)।महत्वपूर्ण: CloudFoxable जानबूझकर कमजोर इंफ्रास्ट्रक्चर तैनात करता है। इसे प्रोडक्शन, साझा या कॉर्पोरेट AWS खातों में तैनात न करें।
सभी Terraform कमांड निम्नलिखित निर्देशिका से चलाए जाने चाहिए:
cd cloudfoxable/aws
कार्यशील निर्देशिका को आरंभ करें और आवश्यक प्रोवाइडर डाउनलोड करें:
IAM-Vulnerable के समान, कुछ चुनौतियाँ डिफ़ॉल्ट रूप से सक्षम हैं (वे जिनका लागत पर बहुत कम या कोई प्रभाव नहीं है), और अन्य डिफ़ॉल्ट रूप से अक्षम हैं (वे जिन्हें तैनात करने पर लागत आती है)। इस तरह, आप आवश्यकतानुसार विशिष्ट मॉड्यूल सक्षम कर सकते हैं। हालाँकि, चुनौतियों को सक्षम/अक्षम करने का तंत्र IAM-Vulnerable से थोड़ा भिन्न है।
cloudfoxable.bishopfox.com के भीतर, प्रत्येक चुनौती आपको बताएगी कि चुनौती पूरी करने के लिए आपको कोई terraform परिवर्तन करने (यानी कुछ तैनात करने) की आवश्यकता है या नहीं। ऐसा करने का तरीका यह है कि terraform.tfvars को संपादित करें और आवश्यकतानुसार enabled फ्लैग को false से true में अपडेट करें।
यहाँ एक उदाहरण है:
############################
# Enabled/Disabled Challenges
############################
# Always on (Low or No cost)
challenge_foo_enabled = true
challenge_bar_enabled = true
challenge_alice_enabled = true
# Enable as needed (These challenges incur cost)
challenge_bob_enabled = false
challenge_mallory_enabled = false
mallory चुनौती को सक्षम करने के लिए, आपको केवल निम्नलिखित पंक्ति को अपडेट करना होगा:
challenge_mallory_enabled = true
किसी चुनौती को सक्षम करने के बाद, आपको terraform apply को फिर से चलाना होगा:
terraform apply
अब आपने mallory चुनौती तैनात कर दी है।
सफाई
जब भी आप CloudFoxable द्वारा बनाए गए सभी संसाधनों को हटाना चाहें, तो आप ये कमांड चला सकते हैं:
cd cloudfoxable/awsterraform destroyयदि आप Windows का उपयोग कर रहे हैं, तो प्लेटफ़ॉर्म-विशिष्ट सीमाओं के कारण कुछ चुनौतियों को तैनात करते समय आपको समस्याएँ आ सकती हैं। इससे बचने के लिए, एक Dockerfile प्रदान की गई है जो विभिन्न प्रणालियों पर एक सुसंगत वातावरण में एप्लिकेशन को बिल्ड और चलाने में आपकी मदद करती है।
अपनी स्थानीय मशीन पर रिपॉज़िटरी को क्लोन करके शुरू करें:
git clone https://github.com/BishopFox/cloudfoxable.git
cd cloudfoxable
रिपॉज़िटरी को क्लोन करने के बाद, निम्नलिखित कमांड से Docker इमेज बिल्ड करें। यह सुनिश्चित करेगा कि आप बिना किसी कैश्ड लेयर के एक नया बिल्ड उपयोग कर रहे हैं:
docker build --no-cache -t cloudfoxable .
यदि आप Windows पर हैं, तो Docker कंटेनर चलाने के लिए निम्नलिखित PowerShell कमांड का उपयोग करें। यह:
cd aws
docker run -it -v $env:USERPROFILE/.aws/credentials:/root/.aws/credentials -v ${PWD}:/cloudfoxable/aws cloudfoxable
https://github.com/iknowjason/Awesome-CloudSec-Labs
यदि आप एक नई चुनौती जोड़ना चाहते हैं, तो रिपॉज़िटरी को फोर्क करने के बाद CloudFoxable में ये चरण हैं:
cp aws/challenges/1_challenge_template aws/challenges/challenge_namechallenge_name.tf फ़ाइल का नाम बदलकर अपनी चुनौती का नाम रखें।variable "challenge_name_enabled" {
description = "Enable or disable challenge_name challenge (true = enabled, false = disabled)"
type = bool
default = false
}
terraform.tfvars.example के "Enabled/Disabled Challenge" अनुभाग में जोड़ें। निर्दिष्ट करें कि यह डिफ़ॉल्ट रूप से सक्षम होना चाहिए (कम/कोई लागत नहीं), या डिफ़ॉल्ट रूप से अक्षम होना चाहिए (लागत $$)
challenge_name_enabled = false
module "challenge_challenge_name" {
source = "./challenges/challenge-name"
count = var.challenge_name_enabled ? 1 : 0
aws_assume_role_arn = (var.aws_assume_role_arn != "" ? var.aws_assume_role_arn : data.aws_caller_identity.current.arn)
account_id = data.aws_caller_identity.current.account_id
aws_local_profile = var.aws_local_profile
user_ip = local.user_ip
}
enabled_challenges लोकल वेरिएबल में जोड़ें:
terraform init
यह प्रति वर्कस्पेस एक बार आवश्यक है (या जब प्रोवाइडर कॉन्फ़िगरेशन बदलता है)।
यह समीक्षा करने के लिए कि Terraform क्या बनाएगा, संशोधित करेगा या नष्ट करेगा:
terraform plan
वर्तमान में सक्षम चुनौतियों को तैनात करने के लिए:
terraform apply
पुष्टि करने के लिए संकेत मिलने पर yes टाइप करें।
CloudFoxable द्वारा बनाए गए सभी संसाधनों को हटाने के लिए:
terraform destroy
संकेत मिलने पर yes के साथ पुष्टि करें।
| कमांड | विवरण |
|---|---|
terraform init | Terraform प्रोजेक्ट आरंभ करें |
terraform plan | प्रस्तावित इंफ्रास्ट्रक्चर परिवर्तन दिखाएँ |
terraform apply | संसाधन बनाएँ या अपडेट करें |
terraform destroy | सभी तैनात संसाधन हटाएँ |
var.challenge_name_enabled ? "name | $12/month |" : ""