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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2021-1675 — # PrintNightmare (CVE-2021-1675/34527) के लिए शैक्षिक प्रूफ-ऑफ-कॉन्सेप्ट सिम्युलेटेड गैर-कार्यात्मक पेलोड, हमले के प्रवाह विश्लेषण, MITRE मैपिंग, पहचान मार्गदर्शन और निवारण चरणों के साथ शैक्षिक प्रूफ-ऑफ-कॉन्सेप्ट। | Kitploit
उपकरण/GitHubGitHub/hkenzokimura/cve-2021-1675
विशेषाधिकार वृद्धिभेद्यता विश्लेषणशोषणपार्श्व आंदोलनपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षा
GitHubhkenzokimura/cve-2021-1675

CVE-2021-1675

# PrintNightmare (CVE-2021-1675/34527) के लिए शैक्षिक प्रूफ-ऑफ-कॉन्सेप्ट सिम्युलेटेड गैर-कार्यात्मक पेलोड, हमले के प्रवाह विश्लेषण, MITRE मैपिंग, पहचान मार्गदर्शन और निवारण चरणों के साथ शैक्षिक प्रूफ-ऑफ-कॉन्सेप्ट।

रिपॉजिटरी देखें
5घं 24मि पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

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

🖨️ CVE-2021-1675 — PrintNightmare Windows Print Spooler RCE/LPE

प्रकार: प्रूफ ऑफ कॉन्सेप्ट — सिम्युलेटेड (गैर-कार्यात्मक) CVE: CVE-2021-1675 + CVE-2021-34527 CVSS: 7.8 (LPE) / 8.8 (RCE) उपनाम: PrintNightmare पैच किया गया: जून/जुलाई 2021 — KB5004945 CISA KEV में जोड़ा गया: जुलाई 2021

⚠️ इस PoC का पेलोड स्पष्ट रूप से काल्पनिक और गैर-दुर्भावनापूर्ण है — केवल 4 बाइट्स का DCE/RPC हेडर और उसके बाद ASCII में फ़ंक्शन का नाम। यह कोड निष्पादित नहीं करता, ड्राइवर इंस्टॉल नहीं करता, विशेषाधिकार नहीं बढ़ाता। केवल सीखने और डिटेक्शन विकसित करने के उद्देश्य से उपयोग।

Developed by: HKK


$ cat ./vulnerability_summary.txt

CVE-2021-1675, जिसे PrintNightmare के नाम से जाना जाता है, Windows Print Spooler सेवा में एक गंभीर Remote Code Execution और Local Privilege Escalation भेद्यता है। यह दोष हमलावरों को RpcAddPrinterDriverEx() फ़ंक्शन का शोषण करके SYSTEM विशेषाधिकारों के साथ मनमाना कोड निष्पादित करने की अनुमति देता है, जिसका उपयोग एक्सेस कंट्रोल सत्यापन के बिना प्रिंटर ड्राइवरों की दूरस्थ स्थापना के लिए किया जाता है।

मूल रूप से LPE (CVSS 7.8) के रूप में वर्गीकृत और जून 2021 के Patch Tuesday में पैच की गई, Microsoft ने 21 जून को भेद्यता को RCE (CVSS 8.8) के रूप में पुनर्वर्गीकृत किया। भ्रम से बचने के लिए, RCE वेक्टर को एक नया पहचानकर्ता, CVE-2021-34527 प्राप्त हुआ — दोनों को आमतौर पर PrintNightmare कहा जाता है।


$ cat ./timeline.txt

root@kitploit:~
Jun 08, 2021  Microsoft Patch Tuesday में प्रारंभिक पैच जारी करता है — CVE-2021-1675 (LPE, CVSS 7.8)
Jun 21, 2021  Microsoft RCE (CVSS 8.8) के रूप में पुनर्वर्गीकृत करता है
Jun 29, 2021  शोधकर्ता गलती से PoC प्रकाशित करते हैं — इसे पहले से पैच की गई भेद्यता मानते हुए
Jul 01, 2021  RCE वेक्टर के लिए CVE-2021-34527 निर्धारित — मूल LPE से अलग
Jul 02, 2021  Microsoft आपातकालीन आउट-ऑफ-बैंड पैच जारी करता है: KB5004945
Jul 2021      CISA इसे Known Exploited Vulnerabilities Catalog में जोड़ता है
              रैंसमवेयर समूहों (Vice Society, Magniber, आदि) द्वारा सक्रिय शोषण

$ cat ./architecture.txt

Print Spooler इतना मूल्यवान वेक्टर क्यों है?

root@kitploit:~
┌──────────────────────────────────────────────────────────────────────────┐
│              PRINTNIGHTMARE — ATTACK FLOW                                │
│                                                                          │
│  हमलावर (प्रमाणित उपयोगकर्ता)         WINDOWS PRINT SPOOLER            │
│                                                  (spoolsv.exe)          │
│  1. किसी भी मान्य डोमेन खाते से          ┌────────────────────────────┐   │
│     प्रमाणित करें                        │  SYSTEM के रूप में चलता है │   │
│                    │                    │  सभी Windows पर डिफ़ॉल्ट    │   │
│  2. नामित पाइप \pipe\spoolss के          │  रूप से सक्रिय, DCs सहित    │   │
│     माध्यम से RPC से कनेक्ट करें        └──────────────┬─────────────┘   │
│                    │                                   │                 │
│  3. RpcAddPrinterDriverEx() कॉल करें                   │                 │
│     दुर्भावनापूर्ण DLL के पथ के साथ ──────────────────►│                 │
│     (UNC: \\attacker\share\evil.dll)                   │                 │
│                                           ┌────────────▼────────────┐   │
│                                           │ Print Spooler ड्राइवर   │   │
│                                           │ (DLL) को SYSTEM के रूप   │   │
│                                           │ में बिना स्रोत या        │   │
│                                           │ अखंडता सत्यापित किए      │   │
│                                           │ लोड करता है              │   │
│                                           └────────────┬────────────┘   │
│                                                        │                 │
│  ◄── SYSTEM के रूप में RCE / LPE ─────────────────────┘                 │
│       नया व्यवस्थापक उपयोगकर्ता, रिवर्स शेल,                             │
│       रैंसमवेयर परिनियोजन, आदि।                                          │
│                                                                          │
│  ─────────────────────────────────────────────────────────────────────  │
│  यह PoC: केवल TCP कनेक्ट + 25 बाइट्स → कोई वास्तविक RPC नहीं → कोई शोषण नहीं │
└──────────────────────────────────────────────────────────────────────────┘

$ cat ./design_decisions.md

1. काल्पनिक पेलोड का विश्लेषण

root@kitploit:~
fake_rpc_payload = b"\x05\x00\x0b\x03RpcAddPrinterDriverEx"

इस पेलोड में 25 बाइट्स हैं और यह एक साथ दो अवधारणाओं को प्रदर्शित करता है:

बाइट्स 0-3: वैध DCE/RPC हेडर

बाइट्स 4-24: ASCII में फ़ंक्शन का नाम

RpcAddPrinterDriverEx — भेद्य फ़ंक्शन का नाम, सादे पाठ में।

यह पेलोड वास्तविक शोषण के रूप में काम क्यों नहीं करता?

एक वैध RPC BIND को 4-बाइट हेडर के बाद आवश्यकता होगी:

root@kitploit:~
- max_xmit_frag     (2 बाइट्स)
- max_recv_frag     (2 बाइट्स)
- assoc_group_id    (4 बाइट्स)
- num_ctx_items     (1 बाइट)
- context_elem[]    → MS-RPRN का इंटरफ़ेस UUID:
                      {12345678-1234-ABCD-EF00-0123456789AB}
- transfer_syntaxes → NDR UUID

इस संरचना के बिना, Windows पैकेट को तुरंत अस्वीकार कर देता है। पेलोड प्रभावी रूप से केवल एक कनेक्टिविटी अभिकथन है — "क्या मैं इस काल्पनिक पेलोड के साथ पोर्ट 445 तक पहुँच सकता हूँ?"।


2. पोर्ट 445 — RPC परिवहन के रूप में SMB

root@kitploit:~
sock.connect((target_ip, 445))

445 क्यों और 135 (RPC Endpoint Mapper) क्यों नहीं?

PrintNightmare परिवहन के रूप में SMB नामित पाइप \pipe\spoolss का उपयोग करता है — सीधे RPC का नहीं। वास्तविक प्रवाह है:

root@kitploit:~
1. TCP कनेक्ट → पोर्ट 445 (SMB)
2. SMB negotiate + session setup (NTLM/Kerberos प्रमाणीकरण)
3. Tree connect → IPC$
4. नामित पाइप खोलें → \pipe\spoolss
5. DCE/RPC BIND → MS-RPRN इंटरफ़ेस
6. NDR मार्शलिंग के साथ RpcAddPrinterDriverEx() कॉल

PoC केवल चरण 1 — प्रारंभिक TCP कनेक्शन — का अनुकरण करता है, बिना चरण 2-6 को लागू किए।

sock.settimeout(5): 5 सेकंड का टाइमआउट PoC को उन होस्टों पर अटकने से रोकता है जो प्रतिक्रिया नहीं देते। पोर्ट उपलब्धता के त्वरित स्कैनिंग के लिए उपयोगी।


3. CVE-2021-1675 बनाम CVE-2021-34527 — अंतर

दोनों में मूल कारण समान है: RpcAddPrinterDriverEx() फ़ंक्शन ड्राइवर फ़ाइलों के स्रोत को सत्यापित करने में विफल रहता है, ड्राइवर स्थापना के लिए उचित विशेषाधिकार प्रतिबंध लागू नहीं करता है, और लोड की जा रही DLL की प्रामाणिकता या अखंडता की जाँच नहीं करता है।


$ cat ./mitre_mapping.yml

root@kitploit:~
tactic: Initial Access / Lateral Movement
  - T1210    # Exploitation of Remote Services
             # दूरस्थ होस्ट के लिए \pipe\spoolss के माध्यम से RPC कॉल
             # मान्य डोमेन क्रेडेंशियल की आवश्यकता है

tactic: Privilege Escalation
  - T1068    # Exploitation for Privilege Escalation
             # Print Spooler के माध्यम से सामान्य उपयोगकर्ता → SYSTEM
             # CVE-2021-1675 (LPE): स्थानीय प्रक्रिया SYSTEM तक उन्नत होती है

tactic: Execution
  - T1569.002  # System Services: Service Execution
               # spoolsv.exe द्वारा SYSTEM के रूप में दुर्भावनापूर्ण DLL लोड की गई
               # Windows सेवा के माध्यम से कोड निष्पादन के बराबर

  - T1055      # Process Injection
               # spoolsv.exe (SYSTEM) प्रक्रिया के संदर्भ में DLL इंजेक्ट की गई

tactic: Persistence
  - T1547.012  # Boot or Logon Autostart: Print Processors
               # पंजीकृत ड्राइवर रीबूट के बीच बना रहता है
               # संग्रहीत: HKLM\SYSTEM\CurrentControlSet\Control\Print\

tactic: Defense Evasion
  - T1036.005  # Masquerading: Match Legitimate Name or Location
               # वैध ड्राइवर के रूप में नामित दुर्भावनापूर्ण DLL (जैसे: Canon_XP.dll)

$ cat ./detection_opportunities.md

Windows इवेंट लॉग

root@kitploit:~
# इवेंट ID 808 — Print Spooler संदिग्ध DLL लोड करने में विफल
# स्रोत: Microsoft-Windows-PrintService/Admin

स्थिति:
  EventID: 808
  Log: Microsoft-Windows-PrintService/Admin
  Level: Error
  Description CONTAINS: "failed to load a plug-in module"

वास्तविक साक्ष्य (जंगल में देखा गया):
  "The print spooler failed to load a plug-in module
   C:\Windows\system32\spool\DRIVERS\x64\3\svch0st.dll"
  # svchost.dll का टाइपोस्क्वाटिंग → दुर्भावनापूर्ण DLL
root@kitploit:~
# इवेंट ID 316 — RpcAddPrinterDriverEx के माध्यम से ड्राइवर स्थापित
# स्रोत: Microsoft-Windows-PrintService/Admin

स्थिति:
  EventID: 316
  Log: Microsoft-Windows-PrintService/Admin
  Message CONTAINS: "RpcAddPrinterDriverEx"
  OR
  Message CONTAINS: "\\\\*\\*"   # UNC पथ → दूरस्थ DLL

Sysmon / EDR

root@kitploit:~
# Print Spooler का संदिग्ध चाइल्ड प्रोसेस
EventID: 1 (Process Creation)
स्थिति:
  ParentImage: C:\Windows\System32\spoolsv.exe
  Image: cmd.exe या powershell.exe या wscript.exe या mshta.exe
गंभीरता: CRITICAL — spoolsv को शेल स्पॉन नहीं करना चाहिए
root@kitploit:~
# गैर-मानक पथ से लोड की गई DLL
EventID: 7 (Image Loaded)
स्थिति:
  Image: C:\Windows\System32\spoolsv.exe
  ImageLoaded NOT STARTS WITH:
    - C:\Windows\System32\spool\DRIVERS\
    - C:\Windows\System32\
    - C:\Windows\SysWOW64\
गंभीरता: HIGH

नेटवर्क — IDS/IPS

नेटवर्क स्तर पर डिटेक्शन के लिए, SMB नामित पाइप की निगरानी करें: \pipe\spoolss की उपस्थिति RpcEnumPrinterDrivers या RpcAddPrinterDriverEx संचालन के साथ मिलकर PrintNightmare शोषण के प्रत्यक्ष संकेतक हैं।

root@kitploit:~
# अवधारणात्मक Zeek / Suricata नियम:
alert smb any any -> $SERVERS 445 (
  msg:"PrintNightmare RpcAddPrinterDriverEx via SMB";
  content:"|5c 70 69 70 65 5c 73 70 6f 6f 6c 73 73|";  # \pipe\spoolss
  content:"RpcAddPrinterDriverEx";
  sid:2021001675;
)

$ cat ./remediation.md

root@kitploit:~
विकल्प 1 — Print Spooler अक्षम करें (यदि प्रिंटिंग आवश्यक नहीं है)
  PowerShell:
    Stop-Service -Name Spooler -Force
    Set-Service -Name Spooler -StartupType Disabled

विकल्प 2 — Group Policy के माध्यम से दूरस्थ प्रिंटिंग अवरुद्ध करें
  Computer Configuration → Administrative Templates → Printers
  → "Allow Print Spooler to accept client connections": DISABLED
  यह केवल दूरस्थ वेक्टर को अक्षम करता है, स्थानीय प्रिंटिंग बनाए रखता है

विकल्प 3 — पैच लागू करें (उपरोक्त विकल्पों से स्वतंत्र रूप से अनिवार्य)
  KB5004945 → जुलाई 2021 आउट-ऑफ-बैंड पैच
  + बाद के संचयी पैच

पोस्ट-पैच सत्यापन — रजिस्ट्री अभी भी भेद्य छोड़ सकती है:
  REG QUERY "HKLM\Software\Policies\Microsoft\Windows NT\Printers\PointAndPrint"
  यदि NoWarningNoElevationOnInstall=1 या UpdatePromptSettings=0 → अभी भी भेद्य
  सुधार: दोनों मानों को 0 पर सेट करें या कुंजियाँ हटाएँ

विशेष प्राथमिकता: Domain Controllers
  DCs डिफ़ॉल्ट रूप से Print Spooler चलाते हैं
  PrintNightmare के माध्यम से DC से समझौता = AD डोमेन का पूर्ण समझौता

$ cat ./usage.sh

root@kitploit:~
# निर्भरता स्थापित करें (socket stdlib है)
python --version  # Python 3.x, कोई pip आवश्यक नहीं

# स्क्रिप्ट में लक्ष्य IP संपादित करें (केवल अधिकृत लैब में)
# simulate_printnightmare_attack("192.168.1.xxx")

python poc_cve_2021_1675.py
root@kitploit:~
# पोर्ट 445 सुलभ होने पर अपेक्षित आउटपुट:
[+] Payload sent to 192.168.1.117

# पोर्ट बंद/फ़िल्टर होने पर अपेक्षित आउटपुट:
[-] Error connecting: [Errno 111] Connection refused
# या
[-] Error connecting: timed out

यह आउटपुट क्या दर्शाता है: केवल यह कि पोर्ट 445 सुलभ है। यह भेद्यता की पुष्टि नहीं करता — इसके लिए वास्तविक RPC BIND + पैच संस्करण की जाँच आवश्यक होगी।


$ cat ./poc_vs_real_exploit.md

सिम्युलेटेड PoC और वास्तविक शोषण के बीच स्पष्ट तुलना।


$ cat ./lessons_learned.txt

root@kitploit:~
[+] DCs पर डिफ़ॉल्ट रूप से सक्रिय Print Spooler सबसे गंभीर परिदृश्य है — DC पर SYSTEM = गेम ओवर
[+] RPC परिवहन के रूप में SMB नामित पाइप परिधि-केंद्रित सुरक्षा में कम आंका गया वेक्टर है
[+] DCE/RPC जटिल प्रोटोकॉल है — बाइंड/कॉल संरचना समझना सिग्नेचर बनाने में मदद करता है
[+] प्रकाशित CVE ≠ लागू पैच — पैच के हफ्तों बाद भी अधिकांश वातावरण भेद्य थे
[+] PointAndPrint रजिस्ट्री कुंजियाँ पैच के बाद भी भेद्यता को पुनः प्रस्तुत कर सकती हैं — महत्वपूर्ण पोस्ट-पैच नियंत्रण
[-] यह PoC केवल TCP कनेक्टिविटी सत्यापित करता है — यह सत्यापित नहीं करता कि सिस्टम वास्तव में पैच किया गया है
[-] SMB के बिना शुद्ध सॉकेट प्रमाणीकरण पर बातचीत नहीं कर सकता — दृष्टिकोण की मौलिक सीमा
[-] settimeout(5) धीमे नेटवर्क पर गलत नकारात्मक उत्पन्न कर सकता है — पैरामीट्रिज़ेबल टाइमआउट पर विचार करें
[→] सुधार: वास्तविक RPC के लिए impacket का उपयोग करें, OS संस्करण फ़िंगरप्रिंट के लिए SMB बैनर जाँचें,
    दूरस्थ रजिस्ट्री क्वेरी के माध्यम से लागू KB का परीक्षण करें

CVE Research · PrintNightmare · Patched July 2021 · CISA KEV · Simulated payload only

टूल डाउनलोड करें
बाइटमानअर्थ
\x055DCE/RPC प्रोटोकॉल संस्करण (संस्करण 5 — Windows मानक)
\x000माइनर संस्करण 0
\x0b11PDU प्रकार: BIND — RPC नेगोशिएशन का पहला चरण
\x033फ़्लैग: `PFC_FIRST_FRAG(0x01)
पहलूCVE-2021-1675CVE-2021-34527
वेक्टरस्थानीय (LPE)दूरस्थ (RCE)
CVSS7.88.8
प्रमाणीकरणस्थानीय खाताप्रमाणित डोमेन खाता
पैचजून 2021 (Patch Tuesday)जुलाई 2021 (आउट-ऑफ-बैंड KB5004945)
भेद्य फ़ंक्शनRpcAddPrinterDriverExRpcAddPrinterDriverEx
परिदृश्यस्थानीय उन्नयनSMB नामित पाइप के माध्यम से दूरस्थ RCE
घटकयह PoCवास्तविक शोषण
कनेक्शनTCP सॉकेट पोर्ट 445SMB सत्र + Tree connect IPC$
प्रमाणीकरणकोई नहींNTLM या Kerberos (डोमेन खाता)
नामित पाइपलागू नहीं\pipe\spoolss
RPC BINDनकली (4 बाइट्स + ASCII)MS-RPRN UUID के साथ DCE/RPC BIND
कॉल किया गया फ़ंक्शनकॉल नहीं किया गयाNDR के माध्यम से RpcAddPrinterDriverEx()
DLL पथभेजा नहीं गयाUNC: \\attacker\share\evil.dll
परिणामकंसोल पर प्रिंटSYSTEM के रूप में RCE / LPE
डिटेक्शनलगभग शून्यEventID 808, 316, Sysmon 1/7