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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
asminject — Heavily-modified fork of David Buchanan's dlinject project. Injects arbitrary assembly (or precompiled binary) payloads directly into x86-64, x86, and ARM32 Linux processes without the use of ptrace by accessing /proc/<pid>/mem. Useful for certain post-exploitation scenarios, recovering content from process memory, etc.. | Kitploit
उपकरण/GitHubGitHub/bishopfox/asminject
ShellcodePost-ExploitationPenetration TestingPayload DevelopmentContainer Escape
GitHubbishopfox/asminject

asminject

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

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

सभी देखें →

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

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

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

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

विवरण

Heavily-modified fork of David Buchanan's dlinject project. Injects arbitrary assembly (or precompiled binary) payloads directly into x86-64, x86, and ARM32 Linux processes without the use of ptrace by accessing /proc/<pid>/mem. Useful for certain post-exploitation scenarios, recovering content from process memory, etc..

साझा करें

asminject.py

asminject.py David Buchanan के dlinject प्रोजेक्ट का एक बड़े पैमाने पर संशोधित फ़ोर्क है। यह ptrace के माध्यम से अटैच होने के बजाय /proc/<pid>/mem तक पहुँच बनाकर x86-64, x86, और ARM32 Linux प्रोसेस में सीधे मनमाना असेंबली (या प्रीकंपाइल्ड बाइनरी) पेलोड इंजेक्ट करता है। यह विश्वसनीय प्रोसेस के साथ छेड़छाड़ करने, कुछ पोस्ट-एक्सप्लॉइटेशन परिदृश्यों, प्रोसेस मेमोरी से सामग्री पुनर्प्राप्त करने, और कुछ सुरक्षा नियंत्रणों को बायपास करने के लिए उपयोगी है। जब तक आपके पास होस्ट पर रूट एक्सेस है, तब तक यह कंटेनर के बाहर से कंटेनरीकृत प्रोसेस में इंजेक्ट कर सकता है।

आप Bishop Fox टूल पेज पर asminject.py और इसकी उत्पत्ति के बारे में अधिक पढ़ सकते हैं, जिसमें इस टूल को प्रेरित करने वाले कार्य का विस्तृत विवरण भी शामिल है।

इस दस्तावेज़ में:

  • एलिवेटर पिच या TLDR
  • उत्पत्ति
  • उदाहरण
  • लेकिन Yama की ptrace_scope प्रतिबंधों के बारे में क्या?
  • भविष्य के लक्ष्य

अलग, अधिक विस्तृत दस्तावेज़:

  • asminject.py कैसे काम करता है - एक उच्च-स्तरीय आर्किटेक्चरल चर्चा, जिसमें कुछ तकनीकी विशिष्टताओं में गहराई से जानकारी दी गई है, विशेष रूप से उन पाठकों के लिए जिन्होंने पहले मेमोरी इंजेक्शन टूल के साथ काम नहीं किया है
  • आरंभ करना
  • dlinject.py से अंतर
  • विशेष विकल्प
  • समस्या निवारण
  • संस्करण इतिहास

एलिवेटर पिच या TLDR

  • "asminject.py dlinject जैसा है, सिवाय इसके कि यह आपको केवल लाइब्रेरी लोड करने के बजाय कोई भी वांछित पेलोड इंजेक्ट करने देता है, और यह कई आर्किटेक्चर पर काम करता है।"
  • "asminject.py मोटे तौर पर Frida जैसा है, सिवाय इसके कि यह ptrace इंटरफ़ेस के माध्यम से अटैच नहीं होता, इसलिए प्रोसेस स्वयं को ptrace करके इसे ब्लॉक नहीं कर सकते।"

उत्पत्ति

asminject.py Linux वातावरण में पेनेट्रेशन टेस्टिंग के दो प्राथमिक परिदृश्यों के लिए लिखा गया था:

  • होस्ट पर रूट एक्सेस वाले हमलावर के दृष्टिकोण से प्रोसेस- और कंटेनर-स्तरीय सुरक्षा नियंत्रणों पर हमला करना
  • किसी अन्य समस्या का सफलतापूर्वक शोषण करने के बाद पहचान से बचना

उदाहरण के लिए, एक पेनेट्रेशन टेस्ट पर विचार करें जिसमें परीक्षक को ऐसे सर्वर पर रूट एक्सेस प्राप्त हुआ है जो कई कंटेनर होस्ट करता है। कंटेनरों में से एक बैंक ट्रांसफर संसाधित करता है, और उसके अंदर एक बहुत मजबूत एंडपॉइंट सुरक्षा उत्पाद स्थापित है। जब पेन टेस्टर कंटेनर के भीतर से बैंक ट्रांसफर डेटा को संशोधित करने का प्रयास करता है, तो एंडपॉइंट सुरक्षा सॉफ़्टवेयर प्रयास का पता लगाता है और उसे ब्लॉक कर देता है। asminject.py पेन टेस्टर को कंटेनर के बाहर से सीधे बैंकिंग सॉफ़्टवेयर की प्रोसेस मेमोरी या यहाँ तक कि एंडपॉइंट सुरक्षा उत्पाद में मनमाना कोड इंजेक्ट करने की अनुमति देता है। डेसकार्टेस के "दुष्ट दानव" के शिकार की तरह, कंटेनर के भीतर का सुरक्षा सॉफ़्टवेयर असहाय है, क्योंकि यह एक ऐसे वातावरण में मौजूद है जो पूरी तरह से हमलावर के नियंत्रण में है।

मूल dlinject.py विशेष रूप से Linux साझा लाइब्रेरी को किसी मौजूदा प्रोसेस में लोड करने के लिए डिज़ाइन किया गया था। asminject.py वह सब कुछ करता है जो मूल करता था, और बहुत कुछ। यह मनमाना असेंबली कोड निष्पादित करता है, और विभिन्न प्रकार के हमलों के लिए टेम्पलेट शामिल करता है। इसे लाइब्रेरी-लोडिंग घटनाओं जैसी संभावित रूप से संदिग्ध गतिविधियों पर ध्यान केंद्रित करने वाले सुरक्षा तंत्रों से पहचान से बचने में मदद करने के लिए भी पुनः डिज़ाइन किया गया है।

उदाहरण

इस रिपॉज़िटरी की practice निर्देशिका में बुनियादी लूपिंग कोड शामिल है जो कंसोल पर एक टाइमस्टैम्प और लूप पुनरावृत्ति आउटपुट करता है, ताकि आप नियंत्रित वातावरण में विभिन्न प्रकार के कोड इंजेक्ट करने का अभ्यास कर सकें। इन अभ्यास लूपों को शेष उदाहरणों में संदर्भित किया गया है।

asminject.py को कॉल करने का मूल सिंटैक्स है:

root@kitploit:~
# python3 ./asminject.py <target_process_id> <payload> \
  --arch [x86-64|x86|arm32] --relative-offsets-from-binaries --stop-method "slow" \
  --var <payload_variable_1_name> <payload_variable_1_value> \
  # ... \
  --var <payload_variable_n_name> <payload_variable_n_value>

अधिकांश मामलों में, उदाहरणों में उपयोग किए गए कोई भी पेलोड समर्थित आर्किटेक्चर में से किसी पर चलेंगे।

  • बुनियादी उदाहरण - सरल पेलोड जो उदाहरण के लिए किसी मौजूदा प्रोसेस को आपके लिए फ़ाइलें कॉपी करने का कारण बनते हैं
  • Python कोड इंजेक्शन
  • PHP कोड इंजेक्शन
  • Ruby कोड इंजेक्शन
  • शेलकोड/स्टेजर इंजेक्शन
  • साझा लाइब्रेरी इंजेक्शन

लेकिन Yama की ptrace_scope प्रतिबंधों के बारे में क्या?

अधिकांश Linux वितरणों में यामा नामक एक कर्नेल सुरक्षा मॉड्यूल शामिल होता है जो अन्य प्रोसेस के विरुद्ध ptrace क्षमता का उपयोग करने की पहुँच को नियंत्रित करता है। जबकि asminject.py डिबगर इंटरफ़ेस से अटैच नहीं होता, फिर भी उसे ptrace क्षमता का उपयोग करने की अनुमति की आवश्यकता होती है। यदि आपको इस क्षमता के बारे में त्रुटियाँ मिल रही हैं, तो /proc/sys/kernel/yama/ptrace_scope की सामग्री जाँचें। यदि यह 2 पर सेट है, तो root के रूप में निम्न कमांड चलाएँ:

root@kitploit:~
echo 1 > /proc/sys/kernel/yama/ptrace_scope

3 या उससे अधिक के मानों को रिबूट के बिना असेट नहीं किया जा सकता। हालाँकि, यदि आप किसी Linux सिस्टम के अधिकृत प्रशासक हैं जहाँ किसी ने गलती से /proc/sys/kernel/yama/ptrace_scope को 3 पर सेट कर दिया है, या ऐसे वातावरण का अधिकृत पेनेट्रेशन टेस्ट कर रहे हैं जहाँ वह मान सेट किया गया है, तो संभावित समाधान के लिए ptrace_scope_kernel_module निर्देशिका देखें जिसके लिए रिबूट की आवश्यकता नहीं है।

भविष्य के लक्ष्य

  • ARM64 (Aarch64) के लिए समर्थन जोड़ें।
  • फ़ाइल से पढ़ने की वर्तमान विधि के अतिरिक्त शेलकोड को stdin के माध्यम से पारित करने की अनुमति दें।
  • OS-स्तरीय gcc कमांड को कॉल करने के बजाय शेलकोड असेंबली के लिए Keystone का उपयोग करने की जाँच करें।
  • Python और अन्य स्क्रिप्ट इंटरप्रेटरों के लिए जिनमें निष्पादन के लिए संकलित बाइटकोड पारित करने के API होते हैं (मानव-पठनीय स्क्रिप्ट कोड के eval-शैली निष्पादन के विपरीत), इस क्षमता का लाभ उठाने के लिए पेलोड प्रदान करें और भी अधिक गोपनीयता के लिए।
  • यदि संभव हो, तो JNI के माध्यम से Java प्रोसेस में Java कोड इंजेक्ट करें।
  • dlinject.py से विरासत में मिली वर्तमान "अगले syscall को हुक करें" तकनीक के विकल्प के रूप में किसी विशिष्ट विधि (या पता, आदि) को हुक करने के विकल्प जोड़ें।
  • अर्ध-डिबगिंग के लिए टूल का उपयोग करने का एक तरीका प्रदान करें, जैसे किसी फ़ंक्शन को हुक करें और हर बार कॉल होने पर उसे पारित तर्कों को आउटपुट करें।
    • Frida को asminject.py का उपयोग करके इंजेक्ट करने का तरीका खोजना अधिक समझदारी भरा हो सकता है - अधिक शोध की आवश्यकता है।
  • इंटरैक्टिव पेलोड विकसित करें, उदाहरण के लिए Python प्रोसेस में Python स्क्रिप्ट कोड की एक विशेष पंक्ति इंजेक्ट करने के बजाय, asminject.py ऑपरेटर को इंजेक्ट करने के लिए एक पंक्ति का संकेत दे सकता है, उसे इंजेक्ट कर सकता है, परिणामी आउटपुट लौटा सकता है, और फिर ऑपरेटर से एक और पंक्ति के लिए संकेत दे सकता है।
    • इसे Frida का उपयोग करके संभालना भी अधिक समझदारी भरा हो सकता है, यदि Frida को asminject.py का उपयोग करके किसी प्रोसेस में इस तरह इंजेक्ट किया जा सकता है जो Frida की अस्थायी रूप से डिबगर इंटरफ़ेस को आमंत्रित करने की आवश्यकता से बचता है।
  • ऐसे प्रोसेसर आर्किटेक्चर पर चल रहे लक्ष्य प्रोसेस के साथ बातचीत करने का एक तरीका प्रदान करें जो उस आर्किटेक्चर से मेल नहीं खाता जहाँ चल रहा है। उदाहरण के लिए, PCI leech जैसे हार्डवेयर का उपयोग करके किसी दूरस्थ डिवाइस के साथ बातचीत करें, चरम कोने के मामलों का शोषण करें जैसे NFS शेयर पर रूट के रूप में सुलभ वाले डिवाइस, आदि।
टूल डाउनलोड करें
asminject.py
/proc/mem
  • अधिक विस्तृत ऑबफस्केशन खंड जोड़ें।