Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
PPLRunner — Windows पर सुरक्षा अनुसंधान के लिए एक ELAM ड्राइवर और सेवा बनाता है जो एक हस्ताक्षरित चाइल्ड प्रोसेस को Anti-Malware Protected Process-Light (PPL) के रूप में लॉन्च करता है। | Kitploit
उपकरण/GitHubGitHub/pathtofile/pplrunner
रक्षात्मक उपकरणविशेषाधिकार वृद्धिस्थायित्व तंत्रशोषणमालवेयर विश्लेषणपेपर और शोधरेड टीमिंग
GitHubpathtofile/pplrunner

PPLRunner

Windows पर सुरक्षा अनुसंधान के लिए एक ELAM ड्राइवर और सेवा बनाता है जो एक हस्ताक्षरित चाइल्ड प्रोसेस को Anti-Malware Protected Process-Light (PPL) के रूप में लॉन्च करता है।

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

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

सभी देखें →

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

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

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

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

PPLRunner

यह प्रोजेक्ट 'मनमाने*' प्रक्रिया को Anti Malware Protected-Process-Light (PPL) के रूप में चलाने में सक्षम बनाने के लिए है, शोध उद्देश्यों के लिए। (* अधिक विवरण के लिए प्रतिबंध अनुभाग देखें)

अधिक विवरण और इस प्रोजेक्ट के पीछे के तर्क के लिए मेरे द्वारा लिखा गया यह ब्लॉग देखें।

अवलोकन

System protected process Windows में एक सुरक्षा मॉडल है जो सिस्टम और एंटी-वायरस प्रक्रियाओं को छेड़छाड़ या निरीक्षण से बचाने के लिए डिज़ाइन किया गया है, यहाँ तक कि Administrators/SYSTEM द्वारा भी।

Anti Malware 'Protected Process-Light' (PPL) के रूप में शुरू की गई प्रक्रियाएँ इस बात में प्रतिबंधित हैं कि वे क्या कर सकती हैं, केवल हस्ताक्षरित कोड लोड कर सकती हैं, लेकिन गैर-Protected Processes द्वारा डीबग, निरीक्षण या रोका नहीं जा सकता। इसके अतिरिक्त, वे विशेष डेटा तक पहुँच प्राप्त कर सकती हैं, जैसे कि Microsoft-Windows-Threat-Intelligence ETW Provider।

यह प्रोजेक्ट एक Early-Launch Anti Malware (ELAM) ड्राइवर और usermode सेवा बनाता है। सेवा शुरू होने पर एक कॉन्फ़िगर करने योग्य चाइल्ड प्रक्रिया लॉन्च करेगी जिसे भी PPL के रूप में चिह्नित किया जाएगा।

चाइल्ड बाइनरी को सेवा के समान प्रमाणपत्र के साथ हस्ताक्षरित होना चाहिए, साथ ही कुछ अन्य प्रतिबंधों के साथ, लेकिन अन्यथा यह कोई भी बाइनरी और कमांडलाइन आर्ग्युमेंट हो सकता है जो आप चुनते हैं।

ईमानदारी से, मैं ELAM और PPL क्या हैं यह समझाने में अच्छा काम नहीं कर रहा हूँ, इसके बजाय मैं यहाँ से शुरू करने की सलाह देता हूँ:

  • अध्याय 3, Windows Internals Part 1 (ईमानदारी से किसी भी Windows चीज़ के लिए #1 संसाधन)
  • https://docs.microsoft.com/en-us/windows/win32/services/protecting-anti-malware-services-
  • https://www.crowdstrike.com/blog/protected-processes-part-3-windows-pki-internals-signing-levels-scenarios-signers-root-keys/
  • https://googleprojectzero.blogspot.com/2018/10/injecting-code-into-windows-protected.html

पूर्व-निर्मित/आसान मोड

आप Releases से PPLRunner सेवा और कर्नेल मॉड्यूल का पूर्व-निर्मित और हस्ताक्षरित संस्करण प्राप्त कर सकते हैं। रिलीज़ में एक .pfx फ़ाइल में स्वतः-उत्पन्न प्रमाणपत्र और निजी कुंजी भी है, जो पासवर्ड password से सुरक्षित है। मैंने कहा था कि यह केवल शोध-उद्देश्यों के लिए है, है ना?

मैनुअल

अपना स्वयं का प्रोजेक्ट उत्पन्न और बनाने के लिए:

सेटअप

सुनिश्चित करें कि आपके पास Windows SDKs इंस्टॉल हैं।

generate_cert.ps1 और sign_file.ps1 खोलें, और $password वेरिएबल को किसी और चीज़ में बदलें (उन्हें एक दूसरे से मेल खाना चाहिए)।

generate_cert.ps1 चलाएँ। यह एक नए निजी और सार्वजनिक प्रमाणपत्र के साथ एक ppl_runner.pfx उत्पन्न करेगा। इसका उपयोग PPLRunner द्वारा उपयोग की जाने वाली सभी बाइनरी को हस्ताक्षरित करने के लिए किया जाएगा।

बिल्ड

ppl_runner.sln बिल्ड करें। यह 3 बाइनरी उत्पन्न करेगा:

elam_driver.sys

ELAM Kernel Driver जिसमें प्रमाणपत्र जानकारी है। ड्राइवर वास्तव में कुछ नहीं करता, और वास्तव में लोड नहीं होगा, यह केवल हस्ताक्षर प्रमाणपत्र के लिए एक वाहक के रूप में उपयोग किया जाता है।

ppl_runner.exe

सेवा इंस्टॉलर और बाइनरी। एक PPL सेवा के रूप में, शुरू होने पर यह एक चाइल्ड प्रक्रिया लॉन्च करेगी, जो भी PPL के रूप में होगी, फिर रुक जाएगी और बाहर निकल जाएगी।

child_example.exe

एक उदाहरण निष्पादन योग्य फ़ाइल जिसे बिल्ड समय पर Visual Studio द्वारा सही प्रमाणपत्र के साथ हस्ताक्षरित किया जाएगा। PPLRunner लगभग किसी भी बाइनरी को चला सकता है, यह केवल एक उदाहरण है जो स्वचालित रूप से हस्ताक्षरित होगा।

इंस्टॉल

नोट केवल परीक्षण मशीन पर इंस्टॉल करें, उत्पादन/अपने घरेलू PC पर नहीं।

  1. बिल्ड होने के बाद, elam_driver.sys और ppl_runner.exe को लक्ष्य मशीन पर एक फ़ोल्डर में कॉपी करें।

  2. एक elevated prompt से यह चलाकर test signing सक्षम करें, फिर रीबूट करें:

bcdedit /set testsigning on
  1. एक elevated command prompt से, कॉपी किए गए executables वाले फ़ोल्डर पर ब्राउज़ करें और चलाएँ:
ppl_runner.exe install

यह ppl_runner नामक एक सेवा स्थापित करेगा।

कॉन्फ़िगर करें

किसी बाइनरी को चलाने के लिए साइन करने हेतु, इसे ppl_runner.pfx प्रमाणपत्र के साथ साइन करें, चाहे sign_file.ps1 स्क्रिप्ट का उपयोग करके, या स्वयं signtool.exe चलाकर। यदि आपके पास signtool.exe नहीं है, तो यह Windows SDKs में मौजूद है।

रजिस्ट्री कुंजी HKLM\SOFTWARE\PPL_RUNNER बनाएं। डिफ़ॉल्ट/खाली कुंजी को REG_SZ के रूप में सेट करें, जिसमें निष्पादित करने वाली बाइनरी का पूर्ण पथ, और कोई भी कमांडलाइन आर्ग्युमेंट शामिल हो। उदा. कमांडलाइन से:

REG.exe ADD HKLM\SOFTWARE\PPL_RUNNER /ve /t REG_SZ /d "C:\path\to\binay --argument 1"

चलाएँ

सेवा को निष्पादन योग्य फ़ाइल लॉन्च करने के लिए, बस एक एलिवेटेड प्रॉम्प्ट से चलाएँ:

net start ppl_runner

PPL सेवा के रूप में, शुरू होने पर ppl_runner रजिस्ट्री कुंजी पढ़ेगा, चाइल्ड प्रोसेस लॉन्च करेगा, जो PPL के रूप में भी होगा, फिर रुककर बाहर निकल जाएगा। सफल लॉन्च फिर भी the service failed to run कहेगा, लेकिन यदि आप sc query ppl_runner के साथ रिटर्न कोड जाँचते हैं, तो यह 0 होना चाहिए, अर्थात् ERROR_SUCCESS।

चाइल्ड प्रोसेस दिखाई नहीं देगा, हालाँकि यदि आप Debug Outputs और DBGView.exe का उपयोग करके किसी प्रकार का आउटपुट प्राप्त कर सकते हैं (देखें child_example कोड)।

सफ़ाई/हटाना

चूँकि सेवा Anti Malware PPL भी है, इसे केवल समान रूप से उच्च-स्तरीय प्रोसेस द्वारा ही रोका और हटाया जा सकता है। हालाँकि, हम PPLRunner का उपयोग स्वयं को हटाने के लिए कर सकते हैं, बस रजिस्ट्री कुंजी में कमांड को इस प्रकार सेट करें:

C:\path\to\ppl_runner.exe remove

और सेवा चलाएँ। अर्थात् चलाएँ:

REG.exe ADD HKLM\SOFTWARE\PPL_RUNNER /ve /t REG_SZ /d "C:\path\to\ppl_runner.exe remove"
net start ppl_runner

प्रतिबंध

  • यह प्रोजेक्ट केवल testsigning मोड में काम करता है।
  • हर रीबूट के बाद ppl_runner.exe install को फिर से चलाना होगा
  • चाइल्ड बाइनरी को उसी सर्टिफिकेट से साइन किया जाना चाहिए जिससे सेवा साइन की गई है
  • बाइनरी द्वारा लोड की जाने वाली किसी भी DLL को भी साइन किया जाना चाहिए

डीबगिंग

Sysinternal का DBGView चलाएँ और Win32 Global को लॉग करें, *[PPL_RUNNER]* पर फ़िल्टर करते हुए। यह सेवा और इंस्टॉलर से सभी लॉग दिखाएगा।

उदाहरण उपयोग

TBD - Sealighter ब्लॉग

समान प्रोजेक्ट

James Forshaw ने मौजूदा PPL प्रोसेस में कोड इंजेक्ट करने के लिए एक शानदार प्रोजेक्ट बनाया है।

आगे पढ़ने के लिए और धन्यवाद

Alex Ionescu को फ़ॉलो करना ELAM और PPL के बारे में अधिक जानने का शायद सबसे अच्छा तरीका है। संभवतः इससे शुरुआत करें: https://www.crowdstrike.com/blog/protected-processes-part-3-windows-pki-internals-signing-levels-scenarios-signers-root-keys/

Matth Graeber और James Forshaw को फ़ॉलो करना एक और शानदार तरीका है।

Matt को सर्टिफिकेट से 'To-Be-Signed' हैश प्राप्त करने के लिए powershell स्क्रिप्ट के लिए बहुत-बहुत धन्यवाद।

James ने PPL और इसकी खामियों के बारे में बहुत कुछ लिखा है।

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