
CNAPPgoat एक ओपन सोर्स प्रोजेक्ट है जिसे क्लाउड वातावरण में डिज़ाइन-द्वारा-कमजोर घटकों को मॉड्यूलर तरीके से प्रावधान करने के लिए डिज़ाइन किया गया है।
CNAPPgoat एक मल्टी-क्लाउड, डिज़ाइन द्वारा कमज़ोर वातावरण तैनात करने वाला उपकरण है – जिसे विशेष रूप से रक्षकों और पेंटेस्टर्स के लिए अभ्यास क्षेत्र की सुविधा प्रदान करने के लिए बनाया गया है। इसका मुख्य कार्य कई क्लाउड सेवा प्रदाताओं पर जानबूझकर कमज़ोर वातावरण तैनात करना है, ताकि आप कमज़ोरियों का शोषण, पता लगाने और उन्हें रोकने में अपने कौशल को निखार सकें।

चेतावनी: CNAPPgoat कमज़ोर वातावरण तैनात करता है। इसका उपयोग केवल सुरक्षित, नियंत्रित सैंडबॉक्स में ही करें।
CNAPPgoat एक कमांड लाइन इंटरफ़ेस (CLI) उपकरण के रूप में काम करता है, जो कई क्लाउड सेवा प्रदाताओं पर कमज़ोर वातावरण तैनात करने में सक्षम है। इसे Go में बनाया गया है और यह Pulumi तथा Pulumi ऑटोमेशन API का उपयोग करता है, जो निर्बाध वातावरण तैनाती सुनिश्चित करता है। इसकी अनूठी विशेषताओं में से एक इसका मॉड्यूलर डिज़ाइन है, जो क्लाउड सेवा प्रदाताओं और नए कमज़ोर वातावरणों की एक श्रृंखला को समर्थन देने के लिए सहज विस्तार की अनुमति देता है। वर्तमान में, CNAPPgoat AWS, Azure और GCP का समर्थन करता है।
Pulumi निर्भरताएँ और प्लगइन्स आपके पहले वातावरण को प्रावधानित करने पर प्रत्येक परिदृश्य की आवश्यकताओं के अनुसार मांग पर स्थापित होंगी। इसका मतलब है कि पहली बार प्रावधान करने में बाद की तुलना में थोड़ा अधिक समय लग सकता है।
macOS उपयोगकर्ता Homebrew पैकेज मैनेजर का उपयोग करके CNAPPgoat को आसानी से स्थापित कर सकते हैं।
brew tap ermetic-research/cnappgoat
brew install cnappgoat
नवीनतम रिलीज़ यहाँ से डाउनलोड करें।
tar -xvf cnappgoat-<version>.tar.gz
cd cnappgoat-<version>
(वैकल्पिक) यदि आप निकाले गए बाइनरी को अपने सिस्टम के PATH में जोड़ना चाहते हैं (आपको ऐसा करने की आवश्यकता नहीं है, आप इसे स्थानीय निर्देशिका से ./cnappgoat के रूप में चला सकते हैं):
विकल्प A: अपने PATH में किसी निर्देशिका में ले जाएँ (जैसे macOS और Linux के लिए /usr/local/bin)
mv cnappgoat /usr/local/bin/
विकल्प B: बाइनरी वाले निर्देशिका को अपने PATH में जोड़ें
bash के लिए:
echo 'export PATH=$PATH:<path_to_directory_containing_cnappgoat>' >> ~/.bashrc
source ~/.bashrc
zsh के लिए:
echo 'export PATH=$PATH:<path_to_directory_containing_cnappgoat>' >> ~/.zshrc
source ~/.zshrc
<path_to_directory_containing_cnappgoat> को उस निर्देशिका के पूर्ण पथ से बदलें जहाँ cnappgoat बाइनरी स्थित है।
NAME:
cnappgoat - A multicloud open-source tool for deploying vulnerable-by-design cloud resources
USAGE:
cnappgoat [global options] command [command options] [arguments...]
VERSION:
0.1.0-beta, date: 2023-08-02T13:02:46Z, commit: 6bef61857d9f3cf88215269df8976f96317711dc
COMMANDS:
clean clean and remove all created resources and delete all scenarios and any related files
describe describe a scenario
destroy Destroy CNAPPgoat module scenarios
list List CNAPPgoat module scenarios
provision Provision CNAPPgoat module scenarios
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--debug Enable debug mode (default: false)
--help, -h show help
--version, -v print the version
आप रिक्त स्थान द्वारा अलग किए गए एकाधिक तर्कों का उपयोग कर सकते हैं। उदाहरण के लिए:
cnappgoat provision <scenario-1> <scenario-2> <scenario-N>
--module - परिदृश्यों को मॉड्यूल द्वारा फ़िल्टर करता है (जैसे CSPM, CIEM, CWPP, DSPM, KSPM आदि)--platform - परिदृश्यों को प्लेटफ़ॉर्म द्वारा फ़िल्टर करता है (जैसे AWS, Azure, GCP)--force - फ़ोर्स मोड सक्षम करता है (पुलुमी कैंसल के साथ लॉक किए गए स्टैक को अनलॉक करें)--debug - डीबग लॉगिंग सक्षम करता है।ये फ्लैग कमांड फ्लैग हैं और कमांड के बाद रखे जाने चाहिए। उदाहरण के लिए:
cnappgoat provision --module CSPM --platform AWS
यह कमांड सभी AWS CSPM परिदृश्यों को प्रावधानित करेगा।
CNAPPgoat प्रत्येक दिन की पहली बार चलने पर cnappgoat-scenarios रिपॉजिटरी से परिदृश्य डाउनलोड करता है, ये परिदृश्य स्वचालित रूप से तब डाउनलोड होते हैं जब आप CNAPPgoat चलाते हैं और ~/.cnappgoat/scenarios निर्देशिका में संग्रहीत होते हैं।
CNAPPgoat का उपयोग करने से पहले, आपको AWS, Azure और GCP के लिए अपने क्लाउड क्रेडेंशियल सेट करने होंगे। CNAPPgoat प्रत्येक प्रदाता के लिए डिफ़ॉल्ट क्रेडेंशियल का उपयोग करता है। अपने क्रेडेंशियल सेट करने के लिए नीचे दिए गए चरणों का पालन करें:
AWS CLI को स्थापित करने के लिए यहाँ दिए गए निर्देशों का पालन करें।
निम्न चलाकर अपने AWS क्रेडेंशियल कॉन्फ़िगर करें:
aws configure
आपको अपनी Access Key ID, Secret Access Key और डिफ़ॉल्ट क्षेत्र का नाम दर्ज करने के लिए कहा जाएगा।
Azure CLI को स्थापित करने के लिए यहाँ दिए गए निर्देशों का पालन करें।
निम्न चलाकर अपने Azure खाते में लॉग इन करें:
az login
यह आपको लॉग इन करने के लिए एक नई ब्राउज़र विंडो खोलेगा। लॉग इन करने के बाद, आपके क्रेडेंशियल भविष्य के उपयोग के लिए संग्रहीत हो जाएंगे।
Google Cloud SDK को स्थापित करने के लिए यहाँ दिए गए निर्देशों का पालन करें।
निम्न चलाकर Google Cloud से प्रमाणित करें:
gcloud auth login
यह आपको लॉग इन करने के लिए एक नई ब्राउज़र विंडो खोलेगा। लॉग इन करने के बाद, आपके क्रेडेंशियल भविष्य के उपयोग के लिए संग्रहीत हो जाएंगे।
इन क्रेडेंशियल को सेट करके, आप CNAPPgoat का उपयोग करके AWS, Azure और GCP पर परिदृश्य तैनात करने में सक्षम होंगे। यदि आप CNAPPgoat का उपयोग किसी भिन्न प्रदाता के साथ करने की योजना बना रहे हैं, तो सुनिश्चित करें कि क्रेडेंशियल तदनुसार कॉन्फ़िगर करें।
CNAPPgoat के बारे में अधिक जानने के लिए, Ermetic ब्लॉग पर पोस्ट देखें: https://ermetic.com/blog/cloud/cnappgoat-multicloud-open-source-tool-for-deploying-vulnerable-by-design-cloud-resources/
CNAPPgoat पहचान और रोकथाम क्षमताओं का परीक्षण करने के लिए कई क्लाउड पर कमज़ोर परिदृश्यों की एक विस्तृत श्रृंखला प्रावधानित करता है। कमज़ोर क्लाउड वातावरण के लिए अन्य बेहतरीन परियोजनाएँ भी हैं जो विभिन्न क्षेत्रों जैसे शोषण, पहचान, CTF (कैप्चर द फ़्लैग) परिदृश्य आदि पर केंद्रित हैं। हम इन उपकरणों और परियोजनाओं से प्रेरित थे, और हम इन्हें देखने की सलाह देते हैं:
अधिक चुनौतियाँ और उपकरण Mike Privitte द्वारा Awesome Cloud Security Challeges रिपो में पाए जा सकते हैं, हमारी सूची विशेष रूप से कमज़ोर-बाय-डिज़ाइन क्लाउड वातावरणों पर केंद्रित है जिन्हें उपयोगकर्ताओं द्वारा उनके अपने सैंडबॉक्स में तैनात किया जाता है।
परियोजना टीम को ईमेल करने के लिए, [email protected] से संपर्क करें
| कमांड | विवरण | उपयोग |
|---|
list | प्रावधान के लिए सभी उपलब्ध परिदृश्यों को सूचीबद्ध करता है। | cnappgoat list |
describe | निर्दिष्ट परिदृश्य के बारे में विस्तृत जानकारी प्रदान करता है। | cnappgoat describe <scenario name> |
provision | परिदृश्य नाम द्वारा निर्दिष्ट परिदृश्य को प्रावधानित करता है। सभी परिदृश्यों को प्रावधानित करने के लिए बस cnappgoat provision का उपयोग करें | cnappgoat provision <scenario name> |
destroy | परिदृश्य नाम द्वारा निर्दिष्ट परिदृश्य को नष्ट करता है। सभी परिदृश्यों को नष्ट करने के लिए बस cnappgoat destroy का उपयोग करें | cnappgoat destroy <scenario name> |
clean | सभी परिदृश्यों को साफ करता है और .cnappgoat स्थानीय निर्देशिका को हटा देता है | cnappgoat clean |
--version, -v | CNAPPgoat का वर्तमान संस्करण प्रदर्शित करता है | cnappgoat --version |
--help, -h | सहायता मेनू प्रदर्शित करता है। | cnappgoat --help |