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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
sRDI — रिफ्लेक्टिव DLL इंजेक्शन का शेलकोड कार्यान्वयन। DLL को पोजीशन इंडिपेंडेंट शेलकोड में कन्वर्ट करें। | Kitploit
उपकरण/GitHubGitHub/monoxgas/srdi
मेमोरी फोरेंसिकपेलोड जनरेशनशोषणआईडीएस/आईपीएस से बचनाशेलकोडपोस्ट-शोषणपेनिट्रेशन टेस्टिंगरेड टीमिंगशेलकोड जनरेशनपेलोड डेवलपमेंटआईडीएस/आईपीएस से बचना में शीर्ष #8
2.5k497664 साल पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
पेलोड डेवलपमेंट में शीर्ष #2
पेलोड जनरेशन में शीर्ष #3
शेलकोड में शीर्ष #2
शेलकोड जनरेशन में शीर्ष #3
GitHubmonoxgas/srdi

sRDI

रिफ्लेक्टिव DLL इंजेक्शन का शेलकोड कार्यान्वयन। DLL को पोजीशन इंडिपेंडेंट शेलकोड में कन्वर्ट करें।

रिपॉजिटरी देखें

sRDI - शेलकोड रिफ्लेक्टिव DLL इंजेक्शन

sRDI DLL फ़ाइलों को पोज़िशन इंडिपेंडेंट शेलकोड में बदलने की अनुमति देता है। यह एक पूर्ण रूप से कार्यात्मक PE लोडर होने का प्रयास करता है जो उचित सेक्शन अनुमतियों, TLS कॉलबैक और सैनिटी जाँचों का समर्थन करता है। इसे एक पैक्ड DLL से जुड़े शेलकोड PE लोडर के रूप में सोचा जा सकता है।

कार्यक्षमता दो घटकों के माध्यम से प्राप्त की जाती है:

  • C प्रोजेक्ट जो एक PE लोडर कार्यान्वयन (RDI) को शेलकोड में संकलित करता है
  • रूपांतरण कोड जो बूटस्ट्रैप के साथ DLL, RDI और उपयोगकर्ता डेटा को एक साथ जोड़ता है

इस प्रोजेक्ट में निम्नलिखित तत्व शामिल हैं:

  • ShellcodeRDI: DLL लोडर के लिए शेलकोड संकलित करता है
  • NativeLoader: यदि आवश्यक हो तो DLL को शेलकोड में बदलता है, फिर मेमोरी में इंजेक्ट करता है
  • DotNetLoader: NativeLoader का C# कार्यान्वयन
  • Python\ConvertToShellcode.py: DLL को उसी स्थान पर शेलकोड में बदलें
  • Python\EncodeBlobs.py: स्थिर एम्बेडिंग के लिए संकलित sRDI ब्लॉब को एन्कोड करता है
  • PowerShell\ConvertTo-Shellcode.ps1: DLL को उसी स्थान पर शेलकोड में बदलें
  • FunctionTest: डीबग परीक्षण के लिए sRDI C फ़ंक्शन आयात करता है
  • TestDLL: उदाहरण DLL जिसमें लोड पर और बाद में कॉल करने के लिए दो निर्यातित फ़ंक्शन शामिल हैं

DLL को RDI के साथ संकलित करने की आवश्यकता नहीं है, हालांकि यह तकनीक क्रॉस-कम्पैटिबल है।

उपयोग के मामले / उदाहरण

उपयोग से पहले, मैं अनुशंसा करता हूँ कि आप Reflective DLL Injection और इसके उद्देश्य से परिचित हों।

python का उपयोग करके DLL को शेलकोड में बदलें

root@kitploit:~
from ShellcodeRDI import *

dll = open("TestDLL_x86.dll", 'rb').read()
shellcode = ConvertToShellcode(dll)

C# लोडर का उपयोग करके DLL को मेमोरी में लोड करें

root@kitploit:~
DotNetLoader.exe TestDLL_x64.dll

python स्क्रिप्ट के साथ DLL को बदलें और Native EXE के साथ लोड करें

root@kitploit:~
python ConvertToShellcode.py TestDLL_x64.dll
NativeLoader.exe TestDLL_x64.bin

powershell के साथ DLL को बदलें और Invoke-Shellcode के साथ लोड करें

root@kitploit:~
Import-Module .\Invoke-Shellcode.ps1
Import-Module .\ConvertTo-Shellcode.ps1
Invoke-Shellcode -Shellcode (ConvertTo-Shellcode -File TestDLL_x64.dll)

फ़्लैग

PE लोडर कोड लोडिंग लॉजिक के विभिन्न विकल्पों को नियंत्रित करने के लिए flags तर्क का उपयोग करता है:

  • SRDI_CLEARHEADER [0x1]: लक्ष्य DLL के DOS हेडर और DOS स्टब को लोड करने पर शून्य बाइट्स से पूरी तरह मिटा दिया जाता है (e_lfanew को छोड़कर)। इससे बेस एड्रेस को स्यूडो HMODULE के रूप में आपूर्ति करते समय स्टॉक विंडोज API में समस्याएँ हो सकती हैं।
  • SRDI_CLEARMEMORY [0x2]: लोड किए गए मॉड्यूल (DllMain और किसी भी निर्यात) में फ़ंक्शन को कॉल करने के बाद, DLL डेटा मेमोरी से साफ़ हो जाएगा। यह खतरनाक है यदि आप मॉड्यूल से कोड निष्पादित करना जारी रखने की उम्मीद करते हैं (थ्रेड्स / GetProcAddressR)।
  • SRDI_OBFUSCATEIMPORTS [0x4]: IAT पैचिंग शुरू करने से पहले मॉड्यूल में आयातों का क्रम यादृच्छिक किया जाएगा। इसके अतिरिक्त, फ़्लैग के उच्च 16 बिट्स का उपयोग अगले आयात को संसाधित करने से पहले रुकने के लिए सेकंड की संख्या को संग्रहीत करने के लिए किया जा सकता है। उदाहरण के लिए, flags | (3 << 16) हर आयात के बीच 3 सेकंड रुकेगा।
  • SRDI_PASS_SHELLCODE_BASE [0x8]: निर्यातित फ़ंक्शन को आपूर्ति किए गए उपयोगकर्ता डेटा को पास करने के बजाय, sRDI वर्तमान में निष्पादित शेलकोड ब्लॉक का बेस एड्रेस पास करेगा। यह अधिक उन्नत मॉड्यूल के अंदर स्व-सफाई के लिए उपयोगी हो सकता है।

बिल्डिंग

यह प्रोजेक्ट Visual Studio 2019 (v142) और Windows SDK 10 का उपयोग करके बनाया गया है। python स्क्रिप्ट Python 3 का उपयोग करके लिखी गई है।

Python और Powershell स्क्रिप्ट यहाँ स्थित हैं:

  • Python\ConvertToShellcode.py
  • PowerShell\ConvertTo-Shellcode.ps1

प्रोजेक्ट बनाने के बाद, अन्य बाइनरी यहाँ स्थित होंगी:

  • bin\NativeLoader.exe
  • bin\DotNetLoader.exe
  • bin\TestDLL_<arch>.dll
  • bin\ShellcodeRDI_<arch>.bin

यदि आप किसी भी टूल के अंदर स्थिर ब्लॉब को अपडेट करना चाहते हैं:

root@kitploit:~
> python .\lib\Python\EncodeBlobs.py -h
usage: EncodeBlobs.py [-h] solution_dir

sRDI Blob Encoder

positional arguments:
  solution_dir  Solution Directory

optional arguments:
  -h, --help    show this help message and exit

> python lib\Python\EncodeBlobs.py C:\code\srdi

[+] Updated C:\code\srdi\Native/Loader.cpp
[+] Updated C:\code\srdi\DotNet/Program.cs
[+] Updated C:\code\srdi\Python/ShellcodeRDI.py
[+] Updated C:\code\srdi\PowerShell/ConvertTo-Shellcode.ps1

विकल्प

यदि आपको मेरा कोड घिनौना लगता है, या बस एक वैकल्पिक मेमोरी-PE लोडर प्रोजेक्ट की तलाश है, तो इनमें से कुछ देखें:

  • https://github.com/fancycode/MemoryModule - शायद सबसे साफ PE लोडरों में से एक, एक बेहतरीन संदर्भ।
  • https://github.com/TheWover/donut - .NET असेंबली को बदलना चाहते हैं? या JScript?
  • https://github.com/hasherezade/pe_to_shellcode - पॉलीमॉर्फिक PE+शेलकोड हाइब्रिड उत्पन्न करता है।
  • https://github.com/DarthTon/Blackbone - कई मेमोरी हैकिंग/हुकिंग प्रिमिटिव के साथ बड़ी लाइब्रेरी।

श्रेय

इस प्रोजेक्ट का आधार "Improved Reflective DLL Injection" from Dan Staples से लिया गया है, जो स्वयं Stephen Fewer के मूल प्रोजेक्ट से व्युत्पन्न है।

C कोड को शेलकोड के रूप में संकलित करने का प्रोजेक्ट फ्रेमवर्क Mathew Graeber's reasearch "PIC_BindShell" से लिया गया है।

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