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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
dlinject — बिना ptrace के एक जीवित लिनक्स प्रक्रिया में एक साझा पुस्तकालय (अर्थात मनमाना कोड) इंजेक्ट करें। | Kitploit
उपकरण/GitHubGitHub/davidbuchanan314/dlinject
शोषणशेलकोडरेड टीमिंग
GitHubdavidbuchanan314/dlinject

dlinject

बिना ptrace के एक जीवित लिनक्स प्रक्रिया में एक साझा पुस्तकालय (अर्थात मनमाना कोड) इंजेक्ट करें।

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

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

सभी देखें →

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

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

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

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

dlinject.py

एक साझा लाइब्रेरी (अर्थात् मनमाना कोड) को बिना ptrace के एक चालू लिनक्स प्रक्रिया में इंजेक्ट करें। Cexigua और linux-inject सहित अन्य चीजों से प्रेरित।

asciicast

उपयोग

root@kitploit:~
    .___.__  .__            __               __
  __| _/|  | |__| ____     |__| ____   _____/  |_  ______ ___.__.
 / __ | |  | |  |/    \    |  |/ __ \_/ ___\   __\ \____ <   |  |
/ /_/ | |  |_|  |   |  \   |  \  ___/\  \___|  |   |  |_> >___  |
\____ | |____/__|___|  /\__|  |\___  >\___  >__| /\|   __// ____|
     \/              \/\______|    \/     \/     \/|__|   \/

source: https://github.com/DavidBuchanan314/dlinject

usage: dlinject.py [-h] [--stopmethod {sigstop,cgroup_freeze,none}]
                   pid /path/to/lib.so

Inject a shared library into a live process.

positional arguments:
  pid                   The pid of the target process
  /path/to/lib.so       Path of the shared library to load (note: must be
                        relative to the target process's cwd, or absolute)

optional arguments:
  -h, --help            show this help message and exit
  --stopmethod {sigstop,cgroup_freeze,none}
                        How to stop the target process prior to shellcode
                        injection. SIGSTOP (default) can have side-effects.
                        cgroup freeze requires root. 'none' is likely to cause
                        race conditions.

क्यों?

  • क्योंकि मैं कर सकता हूं।

  • विभिन्न एंटी-ptrace तकनीकें हैं, जिनसे यह केवल ptrace का उपयोग न करके बचता है।

  • मुझे ptrace पसंद नहीं है।

  • LD_PRELOAD का उपयोग करना कभी-कभी मुश्किल या असंभव हो सकता है, यदि आप जिस प्रक्रिया में इंजेक्ट करना चाहते हैं वह किसी अन्य प्रक्रिया द्वारा स्वच्छ वातावरण में स्पॉन की गई हो।

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

  • लक्ष्य प्रक्रिया को स्टॉप सिग्नल भेजें। (वैकल्पिक)

  • _dl_open() प्रतीक का पता लगाएं।

  • /proc/[pid]/syscall के माध्यम से RIP और RSP प्राप्त करें।

  • /proc/[pid]/mem से पढ़कर स्टैक के एक हिस्से और उस कोड का बैकअप बनाएं जिसे हम अपने शेलकोड से ओवरराइट करने वाले हैं।

  • प्राथमिक और द्वितीयक शेलकोड बफर जेनरेट करें।

  • /proc/[pid]/mem पर लिखकर RIP पर प्राथमिक शेलकोड डालें।

  • प्राथमिक शेलकोड:

    • सामान्य रजिस्टरों को स्टैक पर पुश करता है।
    • mmap() के माध्यम से द्वितीयक शेलकोड लोड करता है।
    • द्वितीयक शेलकोड पर कूदता है।
  • द्वितीयक शेलकोड:

    • स्टैक और प्रोग्राम कोड को उनकी मूल स्थिति में पुनर्स्थापित करता है।
    • स्टैक को पिवट करता है (ताकि हम मूल स्टैक को बिल्कुल स्पर्श न करें)।
    • उपयोगकर्ता-निर्दिष्ट लाइब्रेरी को लोड करने के लिए _dl_open() को कॉल करता है। कोई भी कंस्ट्रक्टर लोड होने पर सामान्य रूप से निष्पादित होंगे।
    • रजिस्टर स्थिति को पुनर्स्थापित करता है, स्टैक को अन-पिवट करता है, और वहां वापस कूदता है जहां वह मूल SIGSTOP के समय था।

सीमाएं:

  • SIGSTOP भेजने से अवांछित दुष्प्रभाव हो सकते हैं, उदाहरण के लिए यदि कोई अन्य थ्रेड waitpid() पर प्रतीक्षा कर रहा है। --stopmethod=cgroup_freeze विकल्प इससे बचता है, लेकिन इसके लिए रूट की आवश्यकता होती है (कम से कम अधिकांश डिस्ट्रोस पर)।

  • मुझे पूरी तरह से यकीन नहीं है कि यह जटिल मल्टी-थ्रेडेड अनुप्रयोगों के साथ कैसे इंटरैक्ट करेगा। निश्चित रूप से टूटने की संभावना है।

  • केवल x86-64 लिनक्स (अभी के लिए - 32-बिट समर्थन संभावित रूप से जोड़ा जा सकता है)।

  • रूट की आवश्यकता है, या आराम से YAMA कॉन्फ़िगरेशन (echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope परीक्षण के दौरान उपयोगी है)।

  • यदि लक्ष्य प्रक्रिया सैंडबॉक्स की गई है (जैसे seccomp फिल्टर), तो उसके पास दूसरे चरण के शेलकोड को mmap() करने या लाइब्रेरी को dlopen() करने की अनुमति नहीं हो सकती है।

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