
एक मॉड्यूलर एसेट डिस्कवरी फ्रेमवर्क जो पायथन में लिखा गया है, दोहराए जाने वाले मैनुअल कार्य को स्वचालित करने के लिए।
Cygor एक मॉड्यूलर एसेट डिस्कवरी फ्रेमवर्क है जो स्कैनिंग, पार्सिंग और सेवा गणना को एक वर्कफ्लो में लाता है। यह अलग-अलग टूल्स के पैचवर्क को एक स्वचालित प्रक्रिया से बदल देता है जो डिस्कवरी, एनरिचमेंट और लक्षित गणना को सहजता से संभालता है — मैनुअल ओवरहेड को कम करता है और आपको टूल प्रबंधन के बजाय परिणामों पर ध्यान केंद्रित करने देता है।
Cygor का वेब UI कच्चे स्कैन डेटा की अराजकता को लेता है और इसे एक एकल, दृश्य कमांड सेंटर में व्यवस्थित करता है। अंतहीन XML, JSON या फ्लैट टेक्स्ट को छानने के बजाय, परिणाम स्वचालित रूप से पार्स, एनरिच और एक ही स्थान पर प्रदर्शित होते हैं जो तेजी से ट्राइएज और निर्णय लेने के लिए बनाया गया है।
FastAPI और Bootstrap 5 द्वारा संचालित, डैशबोर्ड इसे आसान बनाता है:
वेब UI केवल प्रस्तुति के लिए नहीं है — यह दक्षता और स्पष्टता के बारे में है। सभी एकत्रित डेटा को एक एकल, इंटरैक्टिव कार्यक्षेत्र में लाकर, यह फ़ाइलों को पार्स करने या आउटपुट को समेटने में लगने वाले समय को कम करता है और परीक्षकों को उस पर ध्यान केंद्रित करने देता है जो मायने रखता है: पर्यावरण को समझना और उस पर कार्य करना।
मेरे द्वारा बनाए गए बहुत से टूल, तकनीक और व्यापार कौशल Spawn Universe से प्रेरित हैं। यदि आपने कभी Spawn कॉमिक नहीं पढ़ी है, तो यह ठीक है क्योंकि मैं कुछ जानकारी साझा करूँगा कि मैंने इस टूल के नाम के लिए चरित्र को क्यों चुना।
नाम Cygor Spawn ब्रह्मांड में Cy-Gor से लिया गया है, जो एक दुखद एंटी-हीरो है। एक बार माइकल कोनिचनी — एक सरकारी ऑपरेटिव और अल सीमन्स का करीबी दोस्त — उसने सीमन्स की हत्या के बाद भ्रष्टाचार को उजागर करने की कोशिश की। हालांकि, उसे पकड़ लिया गया और प्रोजेक्ट सिमियन में मजबूर किया गया, जो डॉ. फ्रेडरिक विल्हेम के सिमियन प्रयोग थे, जहां एक गोरिल्ला के शरीर को आक्रामक साइबरनेटिक्स के माध्यम से कोनिचनी के दिमाग के साथ मिला दिया गया। परिणाम Cy-Gor नामक जानवर था — साइबरनेटिक गोरिल्ला का संक्षिप्त रूप।
कैद से भागने के बाद, Cy-Gor ने हिंसक उत्पात मचाया, यहां तक कि भ्रम और क्रोध के दौरे में सरकारी डेटा केंद्रों को भी तोड़ दिया। हालांकि कई बार शिकार किया गया और फिर से पकड़ा गया, आखिरकार उसने उन प्रणालियों के खिलाफ लड़ाई लड़ी जो उसे नियंत्रित करना चाहते थे — ट्रैकिंग इम्प्लांट हटाकर और अपना रास्ता खुद बनाने के लिए स्वतंत्र होकर, मशीन, जानवर और मनुष्य के बीच फटा हुआ।
webenum मॉड्यूल द्वारा समानांतर रूप से व्यवस्थित किया जाता है (केवल स्थापित टूल चलते हैं)।Cygor को स्थापित करने के लिए कुछ विधियाँ समर्थित हैं: pip, pipx, uv और docker।
कुछ निर्भरताएँ (जैसे gssapi Kerberos/WinRM के लिए) C एक्सटेंशन बनाती हैं, इसलिए पहले बिल्ड टूलचेन और Kerberos हेडर स्थापित करें:
# Debian/Ubuntu/Kali:
sudo apt install -y build-essential python3-dev libkrb5-dev
# स्थिर संस्करण:
pipx install cygor
# स्रोत से स्थापित करें:
git clone https://github.com/tjnull/cygor
cd cygor
pipx install .
Cygor के Docker सेटअप में एप्लिकेशन और PostgreSQL डेटाबेस सेवा दोनों शामिल हैं। यदि PostgreSQL उपलब्ध नहीं है तो सिस्टम स्वचालित रूप से SQLite पर वापस आ जाता है।
उत्पादन (अनुशंसित):
# विकल्प 1: रैपर स्क्रिप्ट का उपयोग करें (स्वचालित रूप से पोर्ट विवादों को संभालता है)
./docker-compose-up.sh up --build
# विकल्प 2: डायरेक्ट docker compose (डिफ़ॉल्ट पोर्ट का उपयोग करता है)
docker compose up --build
डेवलपमेंट (स्रोत कोड माउंटेड के साथ):
# विकल्प 1: रैपर स्क्रिप्ट का उपयोग करें (स्वचालित रूप से पोर्ट विवादों को संभालता है)
./docker-compose-up.sh dev up --build
# विकल्प 2: डायरेक्ट docker compose (डिफ़ॉल्ट पोर्ट का उपयोग करता है)
docker compose -f docker-compose-dev.yaml up --build
Docker Compose सेटअप में शामिल हैं:
results/: स्कैन आउटपुट, credrecon परिणाम, और डेटाबेस फ़ाइलेंcygor-config/: स्थानीय कॉन्फ़िग वॉल्यूम (स्वचालित रूप से बनाया गया)डिफ़ॉल्ट रूप से:
5432 पर उजागर (यदि उपलब्ध हो)5434 पर उजागर (यदि उपलब्ध हो)5432 का उपयोग करते हैं (Docker नेटवर्क)यदि पोर्ट उपयोग में हैं, तो आप यह कर सकते हैं:
रैपर स्क्रिप्ट का उपयोग करें (अनुशंसित - स्वचालित रूप से उपलब्ध पोर्ट का पता लगाती है):
./docker-compose-up.sh up --build
पोर्ट मैन्युअल रूप से सेट करें:
export POSTGRES_HOST_PORT=5435
docker compose up --build
पोर्ट मैपिंग हटाएं (यदि आपको बाहरी PostgreSQL एक्सेस की आवश्यकता नहीं है):
docker-compose.yaml में ports: अनुभाग को टिप्पणी करें
Docker इमेज को मैन्युअल रूप से बनाने के लिए:
docker build -t cygor .
एक एकल कंटेनर चलाएं (PostgreSQL सेवा के बिना):
docker run --rm -v ./results:/opt/cygor/results \
-e CYGOR_RESULTS_DIR=/opt/cygor/results \
cygor web --host 0.0.0.0 --port 8080 --load-dir /opt/cygor/results
CYGOR_DB_URL सेट न हो)Docker के लिए प्रमुख पर्यावरण चर: