
प्रबंधन और डेटा प्लेन पर हमले के रास्ते बनाना

Cirro एक विस्तार योग्य सुरक्षा अनुसंधान प्लेटफ़ॉर्म है जो शोधकर्ताओं और पेनिट्रेशन टेस्टर्स को ग्राफ़ डेटाबेस के माध्यम से क्लाउड वातावरण और पहचान संबंधों को एकत्र करने, विश्लेषण करने और देखने में सक्षम बनाता है। मॉड्यूलर आर्किटेक्चर के साथ निर्मित, Cirro को कई प्लेटफ़ॉर्म और डेटा स्रोतों का समर्थन करने के लिए बढ़ाया जा सकता है।
अधिक जानकारी के लिए आप दस्तावेज़ीकरण देख सकते हैं।
Cirro के दो मुख्य कार्यात्मक क्षेत्र हैं:
cirro collect): विभिन्न प्लेटफ़ॉर्म और API से जानकारी एकत्र करता हैcirro graph): डेटा इंजेशन और निर्यात सहित ग्राफ़ डेटाबेस संचालन का प्रबंधन करता हैमॉड्यूलर आर्किटेक्चर प्लेटफ़ॉर्म-विशिष्ट कार्यक्षमता को सक्षम करने के लिए फ़ीचर फ़्लैग का उपयोग करता है, जिससे उपयोगकर्ता केवल उन घटकों का निर्माण कर सकते हैं जिनकी उन्हें आवश्यकता है।
Cirro एक श्रेणीबद्ध कमांड संरचना का उपयोग करता है जो फ़ंक्शन और प्लेटफ़ॉर्म द्वारा व्यवस्थित है:
cirro <function> <platform> <command> [options]
Azure (collect az)
# उपलब्ध प्रमाणीकरण विधियाँ:
cirro collect az azcli # Azure CLI प्रमाणीकरण
cirro collect az client-secret # क्लाइंट आईडी और सीक्रेट
cirro collect az client-cert # क्लाइंट प्रमाणपत्र
cirro collect az access-token # पूर्व-प्राप्त एक्सेस टोकन
cirro collect az user-pass # उपयोगकर्ता नाम और पासवर्ड
Tailscale (collect ts)
# टेलस्केल डेटा संग्रह
cirro collect ts <auth-method> [options]
डेटा इंजेशन (graph ingest)
# एकत्रित डेटा को ग्राफ़ डेटाबेस में शामिल करें
cirro graph ingest --type <platform> --file <data-file> [database options]
डेटा निर्यात (graph export)
# ग्राफ़ डेटा को विभिन्न स्वरूपों में निर्यात करें
cirro graph export --format <format> [options]
अपने प्लेटफ़ॉर्म के लिए नवीनतम रिलीज़ रिलीज़ पेज से डाउनलोड करें। रिलीज़ सभी सुविधाओं के साथ सक्षम बनाई गई हैं।
git clone https://github.com/bishopfox/cirro.git
cd cirro
cargo build --release
नोट: ग्राफ़ कार्यक्षमता के लिए --release के साथ निर्माण करना महत्वपूर्ण है क्योंकि यह YAML कॉन्फ़िगरेशन फ़ाइलों को बाइनरी में एम्बेड करता है!
बाइनरी target/release/cirro पर उपलब्ध होगी।
डिफ़ॉल्ट रूप से, Cirro में सभी उपलब्ध कार्यक्षमता शामिल है। विशिष्ट सुविधाओं के साथ निर्माण करने के लिए:
# केवल संग्रह सुविधाओं के साथ निर्माण
cargo build --release --no-default-features --features collector
# केवल ग्राफ़ सुविधाओं के साथ निर्माण
cargo build --release --no-default-features --features graph
# विशिष्ट प्लेटफ़ॉर्म समर्थन के साथ निर्माण
cargo build --release --no-default-features --features "azure"
cargo build --release --no-default-features --features "tailscale"
Cirro बैकएंड डेटाबेस के रूप में Neo4j का उपयोग करता है। कंटेनरीकृत डेटाबेस में सहायता के लिए tools निर्देशिका में docker-compose फ़ाइलें हैं।
डेटा एकत्र करने के बाद, इसे अपने ग्राफ़ डेटाबेस में शामिल करें:
# विशिष्ट प्लेटफ़ॉर्म के लिए डेटा शामिल करें
cirro graph ingest --type az --file cirro_output.db # Azure डेटा
cirro graph ingest --type ts --file cirro_ts_socket.json # टेलस्केल डेटा
# कस्टम डेटाबेस कनेक्शन निर्दिष्ट करें
cirro graph ingest --type az --file cirro_output.db \
--server bolt://localhost:7687 \
--user neo4j \
--password password
ग्राफ़ डेटाबेस में कोई डेटा लिखे बिना पूर्वावलोकन करें कि क्या शामिल किया जाएगा और पोस्ट-प्रोसेस किया जाएगा:
# Azure इंजेशन का पूर्वावलोकन करें और देखें कि कौन से संसाधन प्रकारों में कोई लागू स्पेक नहीं है
cirro graph ingest --type az --file cirro_output.db --dry-run
# टेलस्केल इंजेशन का पूर्वावलोकन करें
cirro graph ingest --type ts --file cirro_ts_socket.json --dry-run
ड्राई-रन मोड में, Cirro निम्नलिखित करेगा:
CirroDash यहाँ स्थित है: https://github.com/bishopfox/cirrodash
विस्तृत जानकारी के लिए डीबग लॉगिंग सक्षम करें:
# संग्रह डीबग मोड
cirro collect az azcli --debug
# इंजेशन डीबग मोड
cirro graph ingest --type az --file cirro_output.db --debug
नोट: Cirro अधिकृत सुरक्षा परीक्षण और अनुसंधान के लिए डिज़ाइन किया गया है। सुनिश्चित करें कि किसी भी क्लाउड या नेटवर्क वातावरण के विरुद्ध चलाने से पहले आपके पास उचित अनुमतियाँ हैं।