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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
cyber-decoy — प्रायोगिक डिकॉय ब्रोकर | Kitploit
उपकरण/GitHubGitHub/secdev02/cyber-decoy
रक्षात्मक उपकरणकंटेनर सुरक्षानेटवर्क सुरक्षाखतरा खुफियाघुसपैठ का पता लगानालॉग विश्लेषण
GitHubsecdev02/cyber-decoy

cyber-decoy

प्रायोगिक डिकॉय ब्रोकर

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

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

सभी देखें →

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

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

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

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

cyber-decoy

एक कंटेनरीकृत नेटवर्क डिकॉय (हनीपॉट) जो SSH, RDP, और SMB का विज्ञापन करता है, eBPF के साथ प्रत्येक इनबाउंड कनेक्शन का निरीक्षण करता है, और प्रत्येक सत्र को एक पृथक डिकॉय कंटेनर में रिवर्स-प्रॉक्सी करता है।

डिज़ाइन दो चिंताओं को अलग करता है:

  1. अवलोकन। ब्रोकर के इंटरफ़ेस से जुड़ा एक eBPF TC क्लासिफायर प्रत्येक इनबाउंड TCP SYN को रिकॉर्ड करता है, जिसमें उन पोर्ट के स्कैन भी शामिल हैं जिनकी डिकॉय सेवा नहीं करता। यह प्रोबिंग गतिविधि में पूर्ण दृश्यता प्रदान करता है।
  2. इंटरेक्शन। ब्रोकर में एक यूज़रस्पेस रिवर्स प्रॉक्सी विज्ञापित पोर्ट पर कनेक्शन स्वीकार करता है और उस सेवा के लिए डिकॉय कंटेनर से मिलान करने वाला कनेक्शन खोलता है, दोनों दिशाओं में बाइट्स को पाइप करता है और पूरे सत्र को लॉग करता है।

यह आपके स्वामित्व वाले या जिनकी निगरानी करने के लिए आप अधिकृत हैं, उन नेटवर्कों पर अनधिकृत गतिविधि का पता लगाने और उसका अध्ययन करने के लिए एक रक्षात्मक उपकरण है। इसे केवल वहीं तैनात करें जहाँ आपके पास वह अधिकार हो।

आर्किटेक्चर

flowchart TB
    A["Attacker / Scanner"]

    subgraph host["Decoy Host"]
        direction TB

        NIC["broker eth0<br/>published: 22, 3389, 445"]

        subgraph brk["broker container"]
            direction TB
            E["eBPF TC classifier<br/>logs every SYN<br/>sees true source IP"]
            P["reverse proxy<br/>CONNECT to backend"]
            L["structured JSON logs"]
        end

        subgraph dec["decoynet (internal, no host route)"]
            direction LR
            S["ssh-decoy<br/>OpenCanary ssh<br/>port 2222"]
            D["rdp-decoy<br/>OpenCanary rdp<br/>port 3389"]
            M["smb-decoy<br/>Impacket SMB server<br/>port 445"]
        end
    end

    A --> NIC
    NIC --> E
    NIC --> P
    E --> L
    P --> S
    P --> D
    P --> M

कुल चार कंटेनर:

कंटेनरभूमिकानेटवर्क
brokerसार्वजनिक फ्रंट डोर: eBPF अवलोकन और रिवर्स प्रॉक्सीedge + decoynet
ssh-decoyOpenCanary ssh मॉड्यूल (वास्तविक हैंडशेक, क्रेडेंशियल कैप्चर करता है)केवल decoynet
rdp-decoyOpenCanary rdp मॉड्यूल (NLA नकल, उपयोगकर्ता नाम कैप्चर करता है)केवल decoynet
smb-decoyImpacket SimpleSMBServer (वास्तविक SMB2/3, प्रमाणीकरण कैप्चर करता है)केवल decoynet

डिकॉय एक internal Docker नेटवर्क (decoynet) पर रहते हैं जिसमें होस्ट या बाहरी दुनिया के लिए कोई रूट नहीं है। केवल ब्रोकर उन तक पहुँच सकता है। एक डिकॉय के अंदर हमलावर जो कुछ भी करता है, वह सीधे होस्ट नेटवर्क तक नहीं पहुँच सकता।

eBPF रूटिंग कैसे काम करता है

ब्रोकर पोर्ट 22, 3389 और 445 को होस्ट पर प्रकाशित करता है, इसलिए इनबाउंड पैकेट ब्रोकर के eth0 पर आते हैं। फिर प्रत्येक पैकेट के साथ दो चीजें होती हैं:

  • eBPF TC इनग्रेस प्रोग्राम (broker/bpf/decoy.bpf.c) ईथरनेट, IP और TCP हेडर को पार्स करता है, और प्रत्येक नए कनेक्शन प्रयास (SYN सेट, ACK क्लियर) के लिए एक conn_event रिंग बफर में लिखता है: स्रोत IP और पोर्ट, गंतव्य पोर्ट, TCP फ़्लैग्स, और क्या पोर्ट एक विज्ञापित सेवा है। पैकेट बिना बदलाव के गुज़रता है (TC_ACT_OK)।
  • यूज़रस्पेस प्रॉक्सी मिलान करने वाले लिसनर पर कनेक्शन स्वीकार करता है और उस सेवा के लिए डिकॉय बैकएंड के लिए CONNECT के समतुल्य कार्य करता है, फिर दोनों दिशाओं में बाइट रिले करता है।

advertised_ports eBPF मैप स्टार्टअप पर config.yaml से भरा जाता है, ताकि क्लासिफायर टैग कर सके कि क्या प्रोब एक सेवा किए गए पोर्ट पर लगा या एक अनचाहे पर। यह क्षैतिज पोर्ट स्कैन को दृश्यमान बनाता है भले ही केवल तीन पोर्ट प्रॉक्सी किए गए हों।

यदि आप "सब कुछ खुला है" का विज्ञापन करना चाहते हैं और मनमानी गंतव्य पोर्ट को ब्रोकर में फ़नल करना चाहते हैं, तो क्लासिफायर को गंतव्य पोर्ट को फिर से लिखने या TPROXY / bpf_sk_assign रीडायरेक्ट का उपयोग करने के लिए विस्तारित करें। वर्तमान संस्करण पैकेट पथ को अछूता रखता है और खुद को अवलोकन तक सीमित रखता है, जो अधिक सुरक्षित डिफ़ॉल्ट है।

रिपॉजिटरी लेआउट

cyber-decoy/
├── README.md
├── docker-compose.yml         # 4-container stack
├── docker-compose.override.yml # स्थानीय macOS विकास: कोई eBPF कैप, पोर्ट 22 रीमैप
├── Makefile                   # build / up / down / bpf सहायक
├── LICENSE
├── scripts/
│   └── setup.sh               # होस्ट प्रीफ़्लाइट जाँच
├── broker/
│   ├── Dockerfile             # eBPF ऑब्जेक्ट + Go बाइनरी संकलित करता है
│   ├── config.yaml            # विज्ञापित सेवाएँ (कॉन्फ़िगरेबल)
│   ├── go.mod
│   ├── main.go                # प्रवेश बिंदु
│   ├── bpf/
│   │   └── decoy.bpf.c        # eBPF TC क्लासिफायर
│   └── internal/
│       ├── config/config.go   # कॉन्फ़िग लोडर
│       ├── proxy/proxy.go     # TCP रिवर्स प्रॉक्सी
│       └── bpf/loader.go      # eBPF लोड और अटैच करता है, इवेंट स्ट्रीम करता है
└── decoys/                     # तीनों OpenCanary चलाते हैं
    ├── ssh/
    │   ├── Dockerfile
    │   └── opencanary.conf     # ssh मॉड्यूल, पोर्ट 2222
    ├── rdp/
    │   ├── Dockerfile
    │   └── opencanary.conf     # rdp मॉड्यूल, पोर्ट 3389
    └── smb/
        ├── Dockerfile          # एकल Python प्रक्रिया, गैर-रूट
        ├── smb_decoy.py        # Impacket SimpleSMBServer + JSON लॉगिंग
        └── requirements.txt    # impacket (पिन किया हुआ)

आवश्यकताएँ

  • कर्नेल 6.6 या नए के साथ लिनक्स होस्ट TCX eBPF अटैच पथ के लिए। पुराने कर्नेल पर प्रॉक्सी अभी भी चलता है; केवल eBPF अवलोकन छोड़ दिया जाता है (ब्रोकर एक चेतावनी लॉग करता है और जारी रखता है)।
  • Docker Engine जिसमें Compose प्लगइन हो (v2.24+ यदि आप बंडल docker-compose.override.yml का उपयोग करते हैं, जो !reset / !override टैग पर निर्भर करता है)।
  • एक माउंटेड BPF फाइलसिस्टम: sudo mount -t bpf bpf /sys/fs/bpf।

आर्किटेक्चर

ब्रोकर छवि अपने बिल्ड आर्किटेक्चर का पता लगाती है और मिलान करने वाले __TARGET_ARCH_* मैक्रो को clang को पास करती है, इसलिए यह x86_64 और aarch64 (Apple Silicon, Graviton) दोनों पर बनती है। ध्यान दें कि gcc-multilib जानबूझकर नहीं स्थापित किया गया है: यह केवल x86 पैकेज है जिसका कोई arm64 उम्मीदवार नहीं है, और इसे शामिल करने से arm64 पर apt एग्ज़िट कोड 100 के साथ बिल्ड टूट जाता है। eBPF ऑब्जेक्ट को संकलित करने के लिए केवल clang और libbpf-dev की आवश्यकता है।

macOS पर विकास

macOS पर Docker Desktop कंटेनरों को आपके होस्ट कर्नेल के बजाय LinuxKit VM के अंदर चलाता है, इसलिए TC/TCX eBPF अटैच आमतौर पर वहाँ काम नहीं करेगा। यह घातक नहीं है: eBPF डिज़ाइन द्वारा सर्वोत्तम प्रयास है, इसलिए ब्रोकर ebpf disabled: attach failed लॉग करता है और रिवर्स प्रॉक्सी और तीनों डिकॉय सामान्य रूप से चलते और लॉग होते हैं। आप स्थानीय रूप से पूरे प्रॉक्सी पथ को विकसित और परीक्षण कर सकते हैं, फिर जब आप लिनक्स होस्ट पर तैनात करते हैं तो वास्तविक eBPF अवलोकन प्राप्त कर सकते हैं।

docker-compose.override.yml स्वचालित रूप से लोड होता है और इसे सुखद बनाता है: यह eBPF क्षमताओं को हटा देता है (VM में बेकार) और होस्ट पोर्ट 22 को 2022 पर रीमैप करता है, क्योंकि Mac का अपना sshd 22 का मालिक है।

docker compose up --build                    # स्थानीय विकास, ओवरराइड लागू
docker compose -f docker-compose.yml up -d   # वास्तविक तैनाती, ओवरराइड को बायपास

पहले प्रीफ़्लाइट जाँच चलाएँ:

./scripts/setup.sh

त्वरित आरंभ

# 1. सभी चार छवियाँ बनाएँ (ब्रोकर छवि के अंदर eBPF ऑब्जेक्ट संकलित करता है)
make build

# 2. स्टैक शुरू करें
make up

# 3. देखें क्या होता है
make logs

फिर इसे किसी अन्य मशीन (या स्मोक टेस्ट के लिए लोकलहोस्ट) से प्रोब करें:

ssh -p 22 user@DECOY_HOST          # SSH डिकॉय को हिट करता है
nc DECOY_HOST 3389                 # RDP डिकॉय को हिट करता है
nc DECOY_HOST 445                  # SMB डिकॉय को हिट करता है
nc DECOY_HOST 8080                 # अविज्ञापित: eBPF द्वारा देखा गया, कोई प्रॉक्सी नहीं

ब्रोकर eBPF प्रोब इवेंट और प्रॉक्सी किए गए सत्रों के लिए JSON उत्सर्जित करता है; प्रत्येक डिकॉय OpenCanary JSON इवेंट उत्सर्जित करता है। क्रेडेंशियल आने को देखने के लिए:

docker compose logs -f ssh-decoy | grep 4002
टूल डाउनलोड करें