
स्वचालित प्रतिद्वंद्वी अनुकरण प्लेटफॉर्म
Caldera™ एक साइबर सुरक्षा प्लेटफ़ॉर्म है जिसे विरोधी अनुकरण (adversary emulation) को आसानी से स्वचालित करने, मैन्युअल रेड-टीम्स की सहायता करने और घटना प्रतिक्रिया (incident response) को स्वचालित करने के लिए डिज़ाइन किया गया है।
यह MITRE ATT&CK™ framework पर आधारित है और MITRE में एक सक्रिय अनुसंधान परियोजना है।
यह फ्रेमवर्क दो घटकों से मिलकर बना है:
⭐ अपना खुद का प्लगइन बनाएं! प्लगइन जनरेटर: Skeleton ⭐
ये प्लगइन्स Caldera टीम द्वारा समर्थित और अनुरक्षित हैं।
ये प्लगइन्स उपयोग के लिए तैयार हैं लेकिन डिफ़ॉल्ट रूप से शामिल नहीं हैं और Caldera टीम द्वारा अनुरक्षित नहीं हैं।
ये आवश्यकताएँ कोर फ्रेमवर्क चलाने वाले कंप्यूटर के लिए हैं:
नोट: pip packages से जुड़ी समस्याओं से बचने के लिए हम Caldera को Python virtual environment में इंस्टॉल करने की अत्यधिक सलाह देते हैं। आप चाहें तो किसी मौजूदा environment का उपयोग कर सकते हैं या शुरू से नया बना सकते हैं:
python3 -m venv .calderavenv
source .calderavenv/bin/activate
संक्षिप्त इंस्टॉलेशन चरण:
git clone https://github.com/apache/caldera.git --recursive
cd caldera
pip3 install -r requirements.txt
python3 server.py --insecure --build
पूर्ण चरण: इस रिपॉज़िटरी को पुनरावर्ती रूप से क्लोन करके शुरू करें, और वांछित संस्करण/रिलीज़ को x.x.x प्रारूप में पास करें। यह सभी उपलब्ध प्लगइन्स को खींच लेगा।
git clone https://github.com/apache/caldera.git --recursive --tag x.x.x
इसके बाद, PIP आवश्यकताएँ इंस्टॉल करें:
pip3 install -r requirements.txt
अंत में, सर्वर प्रारंभ करें।
python3 server.py --insecure --build
--build फ़्लैग स्वचालित रूप से किसी भी VueJS UI निर्भरता को इंस्टॉल करता है, UI को एक dist डायरेक्टरी में बंडल करता है और इसे Caldera सर्वर द्वारा सर्व किया जाता है। आपको केवल तभी फिर से --build फ़्लैग का उपयोग करना होगा जब आप कोई प्लगइन जोड़ते हैं या UI में कोई परिवर्तन करते हैं। शुरू होने के बाद, डिफ़ॉल्ट क्रेडेंशियल red/admin का उपयोग करके http://localhost:8888 में लॉग इन करें। फिर Plugins -> Training में जाएँ और Caldera का उपयोग करना सीखने के लिए capture-the-flag शैली का प्रशिक्षण पाठ्यक्रम पूरा करें।
यदि आप नए VueJS UI का उपयोग नहीं करना चाहते हैं, तो Caldera v4.2.0 पर वापस जाएँ। तदनुसार, पुराने संस्करणों के लिए --build फ़्लैग का उपयोग न करें क्योंकि इसकी आवश्यकता नहीं है।
इसके अतिरिक्त, कृपया Caldera को डिप्लॉय करने के लिए सुरक्षा सिफ़ारिशें देखें।
स्थानीय बिल्ड:
git clone https://github.com/apache/caldera.git --recursive
cd caldera
docker build --build-arg VARIANT=full -t caldera .
docker run -it -p 8888:8888 caldera
पोर्ट को सुलभ बनाने या Caldera वेरिएंट बदलने के लिए पोर्ट फ़ॉरवर्डिंग (-p) और बिल्ड आर्ग्स (--build-arg) को अपनी इच्छानुसार समायोजित करें। आप जिन पोर्ट्स को एक्सपोज़ करते हैं, वे इस बात पर निर्भर करते हैं कि आप किन कॉन्टैक्ट्स का उपयोग करने की योजना बनाते हैं (संदर्भ के लिए Dockerfile और docker-compose.yml देखें)।
पूर्व-निर्मित इमेज (GitHub Container Registry से):
docker run -p 8888:8888 ghcr.io/apache/caldera:latest
यह कंटेनर थोड़ा पुराना हो सकता है, हम अनुशंसा करते हैं कि आप कंटेनर स्वयं बनाएँ।
अपने docker कंटेनर को सुचारु रूप से समाप्त करने के लिए, निम्नलिखित करें:
# Find the container ID for your docker container running Caldera
docker ps
# Stop the container
docker stop <container ID>
दो वेरिएंट उपलब्ध हैं, full और slim। slim वेरिएंट में emu और atomic प्लगइन्स के लिए आवश्यक फ़ाइलें शामिल नहीं हैं, जिन्हें प्लगइन्स के कभी सक्षम होने पर ऑन-डिमांड डाउनलोड किया जाएगा। full वेरिएंट इंटरनेट कनेक्शन के बिना वाले वातावरण में संचालन के लिए उपयुक्त है। GHCR पर slim इमेजेज़ "slim" उपसर्ग के साथ होती हैं।