Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
Cisco-FMC-honeypot — मूल रूप से CVE-2026-20131 के लिए एक हनीपॉट | Kitploit
उपकरण/GitHubGitHub/hassan-pouladi/cisco-fmc-honeypot
भेद्यता विश्लेषणनेटवर्क सुरक्षामालवेयर विश्लेषणखतरा खुफियाघटना प्रतिक्रिया
GitHubhassan-pouladi/cisco-fmc-honeypot

Cisco-FMC-honeypot

मूल रूप से CVE-2026-20131 के लिए एक हनीपॉट

रिपॉजिटरी देखें
11193 महीने पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

FMC-Trap

एक लो-इंटरैक्शन हनीपॉट जो Cisco Secure Firewall Management Center (FMC) वेब सतह का अनुकरण करता है और अनऑथेंटिकेटेड Java सीरियलाइज़ेशन-शैली आक्रमण ट्रैफ़िक (CVE-शैली असुरक्षित डीसीरियलाइज़ेशन प्रोब) को कैप्चर करता है।

  • डिज़ाइन द्वारा सुरक्षित: एप्लिकेशन Java ऑब्जेक्ट को डीसीरियलाइज़ नहीं करता; यह \xac\xed\x00\x05 (और Base64 rO0AB…) का पता लगाता है और रेगुलर एक्सप्रेशन्स और ह्यूरिस्टिक्स का उपयोग करके शेल या URL स्ट्रिंग्स निकालता है।
  • कोई कमांड निष्पादन नहीं: दूसरे-चरण के URL केवल Python requests के साथ एक गैर-निष्पादन योग्य डाउनलोड वॉल्यूम में प्राप्त किए जाते हैं।
  • उत्पादन-उन्मुख स्टैक: Docker Compose के साथ Gunicorn और वैकल्पिक Caddy (HTTPS, Let’s Encrypt)।

इसे क्यों चलाएं?

एकल-पंक्ति JSON लॉग (Splunk और ELK के साथ संगत), वैकल्पिक Telegram अलर्ट, हैशेड दूसरे-चरण के आर्टिफैक्ट, और एक गैर-रूट कंटेनर उपयोगकर्ता। यह प्रोजेक्ट शोधकर्ताओं के लिए है जिन्हें अतिरिक्त एकीकरण कोड के बिना एक केंद्रित FMC-शैली जाल की आवश्यकता है।

आवश्यकताएँ

आइटमनोट्स
Docker और Docker Compose v2Docker स्थापित करें
VPS या होस्टएक समर्पित या पृथक नेटवर्क खंड अनुशंसित है
डोमेन (वैकल्पिक)HTTPS के लिए: DNS कॉन्फ़िगर करें और होस्ट पर इनबाउंड TCP 80 और TCP 443 की अनुमति दें

त्वरित आरंभ (लगभग पाँच मिनट)

1. क्लोन करें

git clone https://github.com/Hassan-Pouladi/Cisco-FMC-honeypot
cd FMC-Trap

2. पर्यावरण कॉन्फ़िगर करें

cp .env.example .env

आवश्यकतानुसार .env संपादित करें (देखें पर्यावरण चर)। बंडल किए गए Caddy के पीछे तैनाती के लिए, TRUST_X_FORWARDED_FOR=1 सेट करें ताकि लॉग में क्लाइंट IP पते मूल क्लाइंट को प्रतिबिंबित करें।

3. Caddy को अपने डोमेन की ओर इंगित करें

Caddyfile संपादित करें: प्लेसहोल्डर होस्टनाम को अपने डोमेन (और यदि लागू हो तो www) से बदलें:

example.com, www.example.com {
	reverse_proxy fmc-trap:5000
}

वैकल्पिक रूप से, Let's Encrypt समाप्ति सूचनाओं के लिए Caddyfile में वैश्विक email [email protected] ब्लॉक को अनकमेंट करें।

4. DNS और फ़ायरवॉल (HTTPS)

  • A (और यदि लागू हो तो AAAA) रिकॉर्ड बनाएं: yourdomain.com को आपके सर्वर के सार्वजनिक IP पर, और यदि उपयोग किया जाता है तो www।
  • होस्ट पर इनबाउंड TCP 80 और TCP 443 की अनुमति दें (क्लाउड सुरक्षा समूह और होस्ट फ़ायरवॉल, उदाहरण के लिए ufw allow 80,443/tcp)।

5. डेटा निर्देशिकाएँ (आवश्यक)

एप्लिकेशन कंटेनर के अंदर UID 10001 के रूप में चलता है। बाइंड-माउंटेड ./data निर्देशिका लिखने योग्य होनी चाहिए:

mkdir -p data/logs data/downloads
sudo chown -R 10001:10001 data/logs data/downloads

सही स्वामित्व के बिना, एक्सप्लॉइट POST अनुरोध 500 लौटा सकते हैं (लॉग या रॉ ब्लॉब लिखते समय अनुमति अस्वीकृत)।

6. आरंभ करें

docker compose up -d --build

7. सत्यापित करें

docker compose ps
curl -sI https://yourdomain.com/

HTTP/2 200 (या 301 या 302) और Via: Caddy की अपेक्षा करें। ब्राउज़र में, https://yourdomain.com/ को सिम्युलेटेड FMC लॉगिन पृष्ठ प्रदर्शित करना चाहिए।

ईवेंट, पेलोड और Docker आउटपुट कहाँ पढ़ें, इसके लिए देखें लॉग, डाउनलोड और सेवा आउटपुट ढूँढना और सामान्य संचालन।

लॉग, डाउनलोड और सेवा आउटपुट ढूँढना

नीचे दी गई सभी चीज़ें आपकी प्रोजेक्ट निर्देशिका (वह फ़ोल्डर जिसमें docker-compose.yml है, आमतौर पर क्लोन करने के बाद FMC-Trap) के सापेक्ष हैं। पथ होस्ट पर हैं; Docker उन्हें कंटेनर में बाइंड-माउंट करता है।

क्याहोस्ट पथकैसे खोलें या अनुसरण करें
ईवेंट लॉग (JSON पंक्तियाँ)data/logs/fmc-trap.jsontail -f data/logs/fmc-trap.json (लाइव स्ट्रीम), या संपादक में खोलें, या Splunk या ELK में निगलें
डाउनलोड किए गए दूसरे-चरण पेलोडdata/downloads/फ़ाइलें तभी दिखाई देती हैं जब हार्वेस्टर एक दूरस्थ प्रतिक्रिया सहेजता है; प्रत्येक फ़ाइल का नाम उसके SHA256 हैश (64 हेक्साडेसिमल वर्ण) के साथ है, कोई एक्सटेंशन नहीं। ls -la data/downloads (Linux या macOS) या Get-ChildItem data\downloads (Windows PowerShell) के साथ सूचीबद्ध करें
एप्लिकेशन प्रक्रिया आउटपुटफ़ाइल नहीं; Dockerdocker compose logs -f fmc-trap
Caddy (TLS, प्रॉक्सी, ACME)फ़ाइल नहीं; Dockerdocker compose logs -f caddy
Telegram अलर्ट (वैकल्पिक)data/ में संग्रहीत नहीं.env में TELEGRAM_BOT_TOKEN और TELEGRAM_CHAT_ID सेट करें; जब ईवेंट लॉग होते हैं तो अलर्ट फायर होते हैं

जब लॉग फ़ाइल में कुछ दिखाई देता है: fmc-trap.json को प्रति पंक्ति एक JSON ऑब्जेक्ट प्राप्त होता है जब कोई अनुरोध डीसीरियलाइज़ेशन प्रोब व्यवहार (POST में मैजिक बाइट्स) से मेल खाता है। नकली लॉगिन पृष्ठ के सामान्य GET अनुरोध डिफ़ॉल्ट रूप से इस फ़ाइल में नहीं लिखे जाते हैं।

जब डाउनलोड फ़ोल्डर में फ़ाइलें होती हैं: प्रविष्टियाँ तभी दिखाई देती हैं जब पाइपलाइन एक प्रोब से URL निकालती है और हार्वेस्टर MAX_DOWNLOAD_MB के भीतर अनुमत दूरस्थ सामग्री को सफलतापूर्वक प्राप्त करता है। यदि निर्देशिका खाली रहती है, तो अभी तक कोई योग्य URL नहीं हो सकता है, या फ़ेच एप्लिकेशन में नीति द्वारा अवरुद्ध हो सकते हैं।

Pretty-printing JSON (वैकल्पिक): एकल पंक्ति के लिए, python -m json.tool के माध्यम से पाइप करें या स्थापित होने पर jq का उपयोग करें।

सामान्य संचालन

लक्ष्यकमांड या कार्रवाई
देखें कि कंटेनर चल रहे हैं या नहींdocker compose ps
.env या Caddyfile संपादित करने के बाद पुनरारंभ करेंdocker compose up -d --build (या यदि केवल env बदला है तो docker compose up -d --force-recreate)
स्टैक रोकेंdocker compose down
लगातार नए JSON ईवेंट का अनुसरण करेंtail -f data/logs/fmc-trap.json
अंतिम कुछ ईवेंट का निरीक्षण करेंtail -n 50 data/logs/fmc-trap.json
डाउनलोड किए गए आर्टिफैक्ट की गणना करेंअपने फ़ाइल प्रबंधक में data/downloads खोलें, या उस निर्देशिका पर शेल फ़ाइल गणना का उपयोग करें (फ़ाइलों का नाम SHA256 द्वारा रखा गया है)
पुष्टि करें कि हनीपॉट पृष्ठ लोड होता हैब्राउज़र में https://yourdomain.com/ खोलें या सत्यापन चरण की तरह curl -sI का उपयोग करें

आर्किटेक्चर

Internet :443/:80 → Caddy (TLS, Let's Encrypt) → fmc-trap:5000 (Gunicorn/Flask)
                              ↓
                    ./data/logs, ./data/downloads (bind mounts)
  • केवल Caddy होस्ट पर 80 और 443 प्रकाशित करता है; एप्लिकेशन कंटेनर सीधे उजागर नहीं होता है (Compose में expose: "5000" देखें)।
  • Caddy कंटेनर के अंदर सार्वजनिक DNS रिज़ॉल्वर (1.1.1.1, 8.8.8.8) का उपयोग करता है ताकि Let's Encrypt उन होस्टों पर सफल हो जहां VPS रिज़ॉल्वर Docker से पहुंच योग्य नहीं है (कुछ क्लाउड प्रदाताओं पर एक सामान्य सीमा)।

पर्यावरण चर

वेरिएबलउद्देश्यडिफ़ॉल्ट / नोट
TRUST_X_FORWARDED_FORsrc_ip के रूप में पहले X-Forwarded-For हॉप का उपयोग करेंCaddy के साथ 1 अनुशंसित है
DECEPTION_STATUS200 एक HTML बॉडी लौटाता है; 302 एक रीडायरेक्ट लौटाता है200
DECEPTION_REDIRECT_URLजब स्थिति 302 हो तो लक्ष्य पथ/
MAX_DOWNLOAD_MBप्रति URL हार्वेस्टर सीमा16
TELEGRAM_BOT_TOKEN / TELEGRAM_CHAT_IDवैकल्पिक अलर्टखाली होने पर अलर्ट अक्षम हो जाते हैं
FMC_SERVER_HEADERServer प्रतिक्रिया हेडरnginx
VT_API_KEYआरक्षितवैकल्पिक

Compose इन वेरिएबल्स को fmc-trap सेवा में पास करता है; विस्तार के लिए docker-compose.yml देखें।

JSON लॉग फ़ील्ड (संदर्भ)

data/logs/fmc-trap.json में प्रत्येक पंक्ति एक JSON ऑब्जेक्ट है। सामान्य कुंजियों में timestamp, event_type, src_ip, headers, raw_payload_hash, extracted_commands, और जब कोई फ़ाइल संग्रहीत की गई थी तो downloaded_file_hash शामिल हैं। data/downloads/ के अंतर्गत सहेजे गए ब्लॉब मोड 0400 (स्वामी के लिए केवल-पढ़ने के लिए) का उपयोग करते हैं।

समस्या निवारण

टूल डाउनलोड करें