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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
Spip-Go — Spip नेटवर्क सेंसर जो Go में लिखा गया है | Kitploit
उपकरण/GitHubGitHub/honeylabshq/spip-go
रक्षात्मक उपकरणसमझौता संकेतक (IOC) प्रबंधनपैकेट स्निफिंग और विश्लेषणटोहीजानकारी एकत्र करनानेटवर्क सुरक्षाखतरा खुफियाघुसपैठ का पता लगानाघटना प्रतिक्रियालॉग विश्लेषण
GitHubhoneylabshq/spip-go

Spip-Go

7116 दिन पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

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

Spip नेटवर्क सेंसर जो Go में लिखा गया है

रिपॉजिटरी देखें

Spip - नेटवर्क हनीपॉट सेंसर

Spip एक हल्का, निम्न-इंटरैक्शन नेटवर्क हनीपॉट सेंसर है। यह किसी भी आने वाले TCP ट्रैफ़िक (सादा और TLS) को सुनता है, स्कैनर और बॉट द्वारा भेजे गए डेटा को कैप्चर करता है, और प्रत्येक कनेक्शन को संरचित JSON (ECS-आकार) के रूप में लॉग करता है ताकि आपके SIEM या डेटा लेक में आसानी से लिया जा सके।

Spip सेंसर HoneyLabs को शक्ति प्रदान करते हैं, जो कैप्चर किए गए डेटा पर निर्मित एक मुफ्त, क्वेरी करने योग्य खतरा खुफिया प्लेटफ़ॉर्म है। Spip द्वारा व्यवहार में एकत्रित किए जाने वाले डेटा को देखने के लिए, वहां लाइव प्रति-IP रिपोर्ट या सेंसर नेटवर्क से उत्पन्न साप्ताहिक खतरा रिपोर्ट ब्राउज़ करें।

ezgif-476608ae440271e4

त्वरित आरंभ

पूर्वापेक्षाएँ

  • Go 1.24.0 या बाद का संस्करण
  • Linux जिसमें iptables हो
  • रूट एक्सेस (उदाहरण iptables नियमों को लागू करने के लिए आवश्यक)
  1. एजेंट बनाएं
root@kitploit:~
git clone https://github.com/honeylabshq/Spip-Go.git
cd Spip-Go
go build -o spip-agent ./cmd/spip-agent
  1. (वैकल्पिक) इंटरैक्टिव सेटअप सहायक का उपयोग करें
root@kitploit:~
sudo ./scripts/initial_setup.sh

यह सहायक एक config.toml लिखता है (यह लॉग में उपयोग किए जाने वाले एक छोटे name के लिए संकेत देता है), स्व-हस्ताक्षरित TLS कुंजियाँ उत्पन्न कर सकता है, वैकल्पिक रूप से Loom (URL, sensor_id, token, आदि) कॉन्फ़िगर करता है, और वैकल्पिक रूप से नीचे दिए गए उदाहरणों में उपयोग किए जाने वाले PREROUTING iptables रीडायरेक्ट को लागू करता है।

  1. config.toml बनाएं या संपादित करें न्यूनतम config.toml:
root@kitploit:~
name = "spip-agent"
ip = "127.0.0.1"
port = 8080

वैकल्पिक कॉन्फ़िगरेशन कुंजियाँ:

  • cert_path / key_path — दोनों सेट होने पर TLS सक्षम करें; कॉन्फ़िग फ़ाइल के सापेक्ष हो सकता है (सेटअप स्क्रिप्ट सापेक्ष पथ लिखती है ताकि कॉन्फ़िग किसी भी कार्यशील निर्देशिका से काम करे)
  • लॉग आउटपुट: log_file (स्थानीय) और/या [loom] (दूरस्थ)। नीचे लॉग आउटपुट देखें।
  • read_timeout_seconds / write_timeout_seconds — कनेक्शन टाइमआउट
  • rate_limit_per_second / rate_limit_burst — कनेक्शन दर-सीमा
  • community_id_seed — Community ID v1 फ्लो हैशिंग के लिए वैकल्पिक 16-बिट बीज (डिफ़ॉल्ट के लिए छोड़ें या 0 दें)

यदि ये रनटाइम ट्यूनिंग फ़ील्ड छोड़ दिए जाते हैं या 0 पर सेट किए जाते हैं, तो Spip निम्नलिखित डिफ़ॉल्ट लागू करता है:

  • read_timeout_seconds: 30
  • write_timeout_seconds: 10
  • rate_limit_per_second: 20
  • rate_limit_burst: 50000
  1. आने वाले TCP को एजेंट पर रीडायरेक्ट करें (उदाहरण, SSH को छोड़कर)
root@kitploit:~
sudo iptables -t nat -F
sudo iptables -t nat -A PREROUTING -p tcp --dport 22 -j RETURN
sudo iptables -t nat -A PREROUTING -p tcp -j REDIRECT --to-port 8080
  1. एजेंट चलाएँ
root@kitploit:~
./spip-agent -config config.toml

लॉग आउटपुट

Spip ECS लॉग को एक ही स्थानीय गंतव्य पर लिखता है और वैकल्पिक रूप से उन्हीं लॉग को Loom सर्वर पर भेज सकता है:

तो: स्थानीय डिफ़ॉल्ट stdout है; फ़ाइल के लिए log_file से ओवरराइड करें। वैकल्पिक रूप से शीर्ष पर Loom जोड़ें। दोनों एक ही ECS प्रारूप का उपयोग करते हैं।

  • केवल स्थानीय: log_file को टिप्पणी/खाली छोड़ें (stdout) या एक पथ पर सेट करें।
  • स्थानीय + Loom: ऊपर बताए अनुसार स्थानीय सेट करें और url, sensor_id, token के साथ [loom] अनुभाग जोड़ें (नीचे Loom देखें)।

लॉग प्रारूप

Spip प्रत्येक कनेक्शन को एकल JSON ऑब्जेक्ट के रूप में उत्सर्जित करता है। आउटपुट को ECS-संगत बनाने के लिए केवल वे फ़ील्ड का उपयोग करके स्वरूपित किया जाता है जो Spip प्रदान कर सकता है (कोई ASN/जियो संवर्धन नहीं)। उत्पादित विशिष्ट फ़ील्ड में शामिल हैं:

  • @timestamp — ईवेंट के लिए RFC3339 टाइमस्टैम्प
  • event.id — प्रति-कनेक्शन सत्र पहचानकर्ता
  • observer.hostname / host.name — कॉन्फ़िग से एजेंट name
  • source.ip, source.port और destination.ip, destination.port
  • network.transport — जैसे tcp
  • http.request.body / url.path — जब पेलोड स्पष्ट रूप से HTTP जैसा दिखता है
  • user_agent.original — जब उपलब्ध हो

Spip द्वारा उत्पादित (ECS-आकार) रिकॉर्ड का उदाहरण:

root@kitploit:~
{
  "@timestamp": "2025-12-01T19:35:18.123Z",
  "event": {
    "id": "bd30cdc1-95b0-49aa-b8fe-e77230b6a04f",
    "summary": "BitTorrent protocol",
    "original_payload_hex": "426974546f7272656e742070726f746f636f6c",
    "ingested_by": "spip"
  },
  "observer": {"hostname": "spip-agent"},
  "host": {"name": "spip-agent"},
  "source": {"ip": "146.70.1.1", "port": 35882},
  "destination": {"ip": "146.190.1.1", "port": 6881},
  "network": {"transport": "tcp"}
}

नोट: एजेंट केवल वे फ़ील्ड उत्सर्जित करता है जो वह कनेक्शन पेलोड और मेटाडेटा से प्राप्त कर सकता है। डाउनस्ट्रीम सिस्टम चाहें तो इन रिकॉर्ड को समृद्ध कर सकते हैं (जियो, ASN, आदि)।

फिंगरप्रिंटिंग

Spip प्रत्येक कनेक्शन रिकॉर्ड में निष्क्रिय फिंगरप्रिंटिंग फ़ील्ड जोड़ सकता है (ECS-संगत, पेलोड कैप्चर में कोई बदलाव नहीं):

  • कम्युनिटी आईडी (network.community_id) — 5-टपल (स्रोत/गंतव्य आईपी और पोर्ट, प्रोटोकॉल) का v1 फ्लो हैश। जब ट्रैफ़िक iptables के माध्यम से रीडायरेक्ट किया जाता है, Spip मूल गंतव्य (REDIRECT से पहले) का उपयोग करता है ताकि हैश उसी फ्लो के लिए अन्य टूल (जैसे Zeek, Suricata) द्वारा गणना किए गए हैश से मेल खाए।
  • TLS — ClientHello से: tls.client.server_name (SNI), tls.client.supported_protocols (ALPN सूची), tls.client.hash.ja4 (JA4 फिंगरप्रिंट)।
  • HTTP — पहले अनुरोध से: http.request.hash.ja4h (JA4H)।
  • SSH — जब पेलोड SSH-2.0- से शुरू होता है और इसमें KEXINIT होता है: ssh.client.hash.hassh (Hassh)।

ये सभी योगात्मक हैं; मौजूदा व्यवहार (स्थानीय लॉग, Loom, पेलोड हेक्स, HTTP पार्सिंग) अपरिवर्तित है।

संदर्भ (सत्यापन और श्रेय के लिए):
कम्युनिटी आईडी: Corelight कम्युनिटी आईडी विनिर्देश।
JA4 / JA4H: FoxIO JA4।
Hassh: Salesforce HASSH।
TLS फिंगरप्रिंटिंग github.com/psanford/tlsfingerprint (MIT) का उपयोग करता है।

Loom (वैकल्पिक लॉग शिपिंग)

लॉग आउटपुट का भाग: जब [loom] में enabled = true होता है, तो उसी ECS रिकॉर्ड को बैच किया जाता है और आपके Loom इन्जेस्ट URL पर POST किया जाता है। सक्षम होने पर आवश्यक: url, sensor_id, token। वैकल्पिक: batch_size (डिफ़ॉल्ट 50), flush_interval (जैसे "10s"), insecure_skip_verify (स्व-हस्ताक्षरित Loom प्रमाणपत्रों के लिए)। एक्सपोर्टर एसिंक्रोनस रूप से चलता है और कैप्चर लूप को ब्लॉक नहीं करता है; असफल POST को stderr पर लॉग किया जाता है और बैच को हटा दिया जाता है (फेल-ओपन)।

परियोजना संरचना

root@kitploit:~
.
├── cmd/                 # मुख्य एप्लिकेशन प्रवेश बिंदु
├── internal/            # कॉन्फ़िग, लॉगिंग, नेटवर्क, TLS, फिंगरप्रिंटिंग, एक्सपोर्टर (जैसे Loom)
├── pkg/                 # Linux सॉकेट सहायक (syscall के माध्यम से SO_ORIGINAL_DST)
├── test/                # एंड-टू-एंड परीक्षण सहायक
└── scripts/             # उपयोगिता स्क्रिप्ट (जिनमें `initial_setup.sh` शामिल है)

परीक्षण

यूनिट परीक्षण चलाएँ:

root@kitploit:~
go test ./...

एंड-टू-एंड परीक्षण के लिए iptables में हेरफेर करने के लिए विशेषाधिकारों की आवश्यकता होती है। उन्हें स्क्रिप्ट के माध्यम से चलाएँ (रिपॉजिटरी रूट से):

root@kitploit:~
sudo -E ./scripts/run_e2e_tests.sh

स्क्रिप्ट वातावरण और iptables सेट करती है। वैकल्पिक रूप से कंटेनर सहायक का उपयोग करें: ./scripts/run_e2e_in_container.sh। E2E मुख्य व्यवहार को मान्य करता है (पेलोड कैप्चर, स्रोत/गंतव्य, TLS पहचान, Loom बैचिंग, फिंगरप्रिंटिंग)।

HTTP पार्सिंग और तैनाती पर नोट्स

Spip कैप्चर किए गए पेलोड से सर्वोत्तम-प्रयास HTTP अनुरोध पहचान करता है। जब पेलोड स्पष्ट रूप से HTTP अनुरोध (मान्य अनुरोध लाइन और बुनियादी हेडर या ALPN) जैसा दिखता है, तो एजेंट http.*, url.path, और user_agent.original फ़ील्ड उत्सर्जित करता है। जब ऐसा नहीं होता है, Spip पेलोड को event.summary में संग्रहीत करने का सहारा लेता है और हमेशा कच्चे पेलोड हेक्स को event.original_payload_hex में संरक्षित करता है।

चूंकि Spip अपने प्रतिक्रियाओं में स्रोत IP को प्रतिबिंबित करता है और किसी भी आने वाले TCP ट्रैफ़िक को स्वीकार करता है, यह नियंत्रित/निगरानी वातावरण में हनीपॉट-शैली सेंसर या एज कलेक्टर के रूप में उपयोग के लिए है, न कि मनमाने उपयोगकर्ता एंडपॉइंट पर।

प्रारंभिक सेटअप सहायक

रिपॉजिटरी रूट से इंटरैक्टिव सहायक चलाएँ (iptables नियम लागू करते समय रूट की आवश्यकता होती है):

root@kitploit:~
sudo ./scripts/initial_setup.sh

स्क्रिप्ट निम्नलिखित के लिए संकेत देती है: एक छोटा name (config.toml में लिखा जाता है, लॉग में observer.hostname / host.name के रूप में उपयोग किया जाता है), सुनने के लिए IP और पोर्ट, वैकल्पिक स्व-हस्ताक्षरित TLS प्रमाणपत्र निर्माण (पथ कॉन्फ़िग के सापेक्ष लिखे जाते हैं ताकि वे किसी भी निर्देशिका से काम करें), वैकल्पिक Loom कॉन्फ़िगरेशन (URL, sensor_id, token, batch_size, flush_interval, TLS सत्यापन), लॉग फ़ाइल पथ, और वैकल्पिक iptables PREROUTING रीडायरेक्ट।

टूल डाउनलोड करें
गंतव्य
कॉन्फ़िग
व्यवहार
स्थानीयlog_fileडिफ़ॉल्ट: छोड़ें या खाली छोड़ें → stdout। एक पथ पर सेट करें → वह फ़ाइल। दो में से एक, हमेशा चालू।
Loom[loom] with enabled = trueवैकल्पिक। उसी ईवेंट को बैच किया जाता है और स्थानीय के अलावा आपके Loom इन्जेस्ट URL पर POST किया जाता है।
  • event.summary — गैर-HTTP प्रोब के लिए कच्चा पेलोड
  • event.original_payload_hex — कच्चा पेलोड हेक्स (हमेशा संरक्षित)
  • फिंगरप्रिंटिंग (अंतर्निर्मित) जहाँ लागू हो, network.community_id, tls.client.*, http.request.hash.ja4h, ssh.client.hash.hassh जोड़ता है।