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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/devianntsec/cve-2024-30051
विशेषाधिकार वृद्धिमेमोरी फोरेंसिकभेद्यता विश्लेषणशोषणरिवर्स इंजीनियरिंगपेपर और शोधलर्निंग और शिक्षापेलोड डेवलपमेंटबाइनरी शोषण

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

सभी देखें →

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

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

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

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

विवरण

मास्टर थीसिस अनुसंधान CVE-2024-30051 (Windows DWM Heap Overflow) पर। इसमें स्वचालित हीप स्प्रे अनुकूलन, रीयल-टाइम लॉगिंग, और अनुभवजन्य सफलता-दर विश्लेषण के साथ उच्च-विश्वसनीयता एक्सप्लॉइट शामिल है। पोर्टफोलियो आइटम जो उन्नत Windows बाइनरी एक्सप्लॉइटेशन, हीप लेआउट हेरफेर, और Desktop Window Manager के माध्यम से LPE प्रदर्शित करता है।

GitHubdevianntsec/cve-2024-30051

CVE-2024-30051

रिपॉजिटरी देखें
154 महीने पहलेअभी तक समीक्षित नहीं
साझा करें

CVE-2024-30051 — विंडोज़ DWM हीप ओवरफ़्लो EoP · मास्टर थीसिस अनुसंधान

Platform Language License: MIT Research CVSS

विंडोज़ डेस्कटॉप विंडो मैनेजर (dwmcore.dll) में हीप-आधारित बफ़र ओवरफ़्लो
DWM प्रक्रिया के माध्यम से स्थानीय विशेषाधिकार उन्नयन → Integrity Level SYSTEM
बिल्ड लक्ष्य: विंडोज़ 11 22H2 (10.0.22621.3447) · पैच: KB5037771


विवरण

इस रिपॉज़िटरी में CVE-2024-30051 पर मेरा मास्टर थीसिस अनुसंधान शामिल है, जो विंडोज़ डेस्कटॉप विंडो मैनेजर कोर लाइब्रेरी (dwmcore.dll) में उच्च-गंभीरता (CVSS 7.8) वाली विशेषाधिकार उन्नयन (Elevation of Privilege) भेद्यता है।

यह भेद्यता CCommandBuffer::Initialize में पूर्णांक विभाजन आकार की गणना त्रुटि से उत्पन्न होती है। इस गणना त्रुटि के कारण new() के लिए उपयोग किया गया आकार और memcpy() के लिए उपयोग किया गया आकार अलग हो जाते हैं, जिससे 0x8F बाइट्स का हीप ओवरफ़्लो उत्पन्न होता है। एक सफल एक्सप्लॉइट dwm.exe को हमलावर-नियंत्रित DLL लोड करने के लिए प्रेरित करता है, जो window manager\dwm-1 खाते के अंतर्गत Integrity Level SYSTEM के साथ मनमाना कोड निष्पादित करता है।

मेरा योगदान


रिपॉज़िटरी संरचना

root@kitploit:~
CVE-2024-30051-Masters-Thesis/
├── README.md
├── LICENSE
├── setup.bat                        # Copies s11.dll to required location
│
├── exploit/
│   ├── C21.sln                      # Visual Studio 2022 solution
│   ├── exploit_src/
│   │   ├── c26f.vcxproj
│   │   ├── c26f.filters
│   │   └── main.cpp                 # Exploit — heap spray + hooking + overflow
│   └── payload/
│       ├── payload.vcxproj
│       ├── payload.vcxproj.filters
│       ├── dllmain.cpp              # Payload DLL — spawns SYSTEM shell + cleanup
│       ├── framework.h
│       ├── pch.h
│       └── pch.cpp
│
└── docs/
    ├── screenshots/                 # Patch diffing, WinDbg, and forensic captures
    └── analysis/
        ├── 01-root-cause.md         # Integer division bug in CCommandBuffer::Initialize
        ├── 02-heap-spray.md         # 50-session empirical data and statistical findings
        └── 03-timeline.md           # Discovery, disclosure, and patch chronology

त्वरित आरंभ

पूर्वापेक्षाएँ

  • विंडोज़ 11 22H2 (बिल्ड 22621.3447, बिना पैच — KB5037771 नहीं)
  • C++ डेस्कटॉप वर्कलोड के साथ Visual Studio 2022
  • VM स्नैपशॉट के साथ अनुशंसित (पुनरुत्पादनीय हीप स्थिति के लिए आवश्यक)

चरण 1 — पेलोड DLL बनाएँ

Visual Studio 2022 में C21.sln खोलें। payload प्रोजेक्ट को Release x64 में बनाएँ।

चरण 2 — DLL रखें

रिपॉज़िटरी रूट से setup.bat चलाएँ। यह s11.dll को C:\Users\Public\Documents\s11.dll पर कॉपी करता है (PAYLOAD_DLL_PATH द्वारा परिभाषित पथ)।

⚠️ DLL अनिवार्य रूप से C26f.exe चलाने से पहले इसी सटीक पथ पर होना चाहिए। इसे एक्सिक्यूटेबल के बगल में रखने से काम नहीं चलेगा।

चरण 3 — एक्सप्लॉइट बनाएँ

C26f प्रोजेक्ट को Release x64 में बनाएँ।

चरण 4 — चलाएँ

root@kitploit:~
x64\Release\C26f.exe

मानक (गैर-एलिवेटेड) CMD से चलाएँ। एक्सप्लॉइट अधिकतम 10 बार स्वतः पुनः प्रयास करता है। सफलता पर, dwm.exe s11.dll लोड करता है और SYSTEM Integrity Level के साथ एक CMD स्पॉन करता है। सत्र लॉग %TEMP%\cve_30051_log.txt में लिखा जाता है।


एक्सप्लॉइट कॉन्फ़िगरेशन

root@kitploit:~
#define MAX_ATTEMPTS        10      // Max auto-retry attempts per session
#define SPRAY_STEP          0x10    // Hole spacing index (1024 holes)
#define SPRAY_RANGE_START   0x3000  // Spray range start index
#define SPRAY_RANGE_END     0x7000  // Spray range end index
#define SLEEP_POST_SPRAY    0xC8    // ms wait after spray (200ms)
#define SLEEP_POST_HOLES    0xC8    // ms wait after freeing holes (200ms)
#define PAYLOAD_DLL_PATH    "C:\\Users\\Public\\Documents\\s11.dll"

तकनीकी अवलोकन

भेद्यता का मूल कारण

CCommandBuffer::Initialize (dwmcore.dll 10.0.22621.3447) में, CD2DSharedBuffer::GetBufferSize को दो बार कॉल किया जाता है। new() को दिया गया आकार गुणन से पहले 0x90 से पूर्णांक विभाजन से गुजरता है, जबकि memcpy() कच्चा मान उपयोग करता है:

root@kitploit:~
buffer_size = GetBufferSize()   → e.g. 0x23F

size_new    = (0x23F / 0x90) * 0x90  = 0x1B0   ← allocated
size_memcpy = 0x23F                             ← copied

overflow    = 0x23F - 0x1B0 = 0x8F bytes

पैच डिफ़िंग परिणाम

बिल्ड 10.0.22621.3447 (भेद्य) और 10.0.22621.3593 (पैच किया हुआ) के बीच BinDiff तुलना:

वैश्विक समानता 0.98 के मुकाबले 0.32 का असामान्य स्कोर भेद्यता स्थान का प्रत्यक्ष संकेत है।

एक्सप्लॉइटेशन श्रृंखला

root@kitploit:~
1. Hook RtlCreateHeap               → capture dwmcore heap handle
2. Hook RtlAllocateHeap             → capture base chunk address
3. Hook NtDCompositionCreateChannel → capture MappedAddress (shared memory region)
4. Hook NtDCompositionCommitChannel → overwrite size field (0x120 → 0x23F)
                                      inject additional batch commands
5. Heap spray 0x10000 CHolographicInteropTexture objects (size=0x1B0)
6. Free holes every 0x10 indices    → create gaps for overflow landing
7. Write payload into overflow buffer → KCBTable+0x388 + LoadLibraryA + DLL path
8. Release all spray objects         → trigger overflow → LoadLibraryA("s11.dll")
9. dwm.exe loads payload DLL         → spawns CMD as SYSTEM integrity

अनुभवजन्य हीप स्प्रे विश्लेषण (50 सत्र)

अनुसंधान प्रश्न

क्या उपलब्ध RAM सफल हीप स्प्रे के लिए आवश्यक प्रयासों की संख्या को प्रभावित करती है?

प्रयोगात्मक डिज़ाइन

25 सत्रों के दो ब्लॉक। प्रति सत्र प्रोटोकॉल: स्वच्छ पोस्ट-बूट स्नैपशॉट पुनर्स्थापित करें → स्थिरीकरण के लिए 100 सेकंड प्रतीक्षा करें → एक्सप्लॉइट लॉन्च करें → सफल प्रयास दर्ज करें।

ब्लॉकRAMसत्रसफलताएँविफलताएँ
A8,192 MB2524

परिणाम

सांख्यिकीय परीक्षण

परीक्षणसांख्यिकीp-माननिष्कर्ष
Mann-Whitney UU = 184.0p = 0.031H₀ को अस्वीकार करता है
Welch का t-परीक्षणt(23) = −2.695p = 0.011

मुख्य निष्कर्ष

  • C1: पोस्ट-बूट DWM हीप सैद्धांतिक अनुमान से 12.9–19× अधिक नियतात्मक है।
  • C2: स्प्रे विश्वसनीयता पर RAM की उपलब्धता का सांख्यिकीय रूप से महत्वपूर्ण प्रभाव है (p = 0.031)।
  • C3: RAM को आधा करने से मानक विचलन दोगुना हो जाता है (1.135 → 2.645)।
  • C4: दोनों कॉन्फ़िगरेशनों में विफलता दर 4% पर समान है।
  • C5: स्थिरांक base = heap_base + 0x720 पोस्ट-बूट हीप लेआउट की पुनरुत्पादनीयता की पुष्टि करता है, जो नियतात्मकता का प्राथमिक चालक है — न कि होल घनत्व।
  • C6: ≥ 8 GB RAM के साथ, एक हमलावर पहले 5 प्रयासों के भीतर सफलता की उम्मीद कर सकता है।

पूर्ण कच्चा डेटा, सत्र लॉग प्रारूप और नियतात्मक हीप अवलोकन docs/analysis/02-heap-spray.md में प्रलेखित हैं।


पोस्ट-एक्सप्लॉइटेशन आउटपुट

सफलता पर, window manager\dwm-1 के अंतर्गत एक CMD विंडो खुलती है:

root@kitploit:~
=====================================================
  CVE-2024-30051 - Windows DWM Heap Overflow EoP
  CWE-122  |  CVSS 7.8  |  Elevation of Privilege
=====================================================

  Researched and reproduced by : devianntsec
  Original PoC by              : Ricardo Narvaja (Fortra)
  Target                       : Windows 11 22H2 (22621.3447)

=====================================================

  [*] Current user:
  window manager\dwm-1

  [*] Mandatory Integrity Level:
  Mandatory Label\System Mandatory Level   S-1-16-16384

  [*] Enabled privileges:
  SeImpersonatePrivilege    Enabled

=====================================================
  Shell running under DWM process - SYSTEM level
=====================================================

आर्टिफ़ैक्ट (s11.dll और .bat स्क्रिप्ट) विलंबित सफाई प्रक्रिया के माध्यम से 5 सेकंड के बाद स्वचालित रूप से हटा दिए जाते हैं।


फोरेंसिक आर्टिफ़ैक्ट


तकनीकी दस्तावेज़ीकरण

दस्तावेज़विवरण
मूल कारण विश्लेषण

शैक्षणिक संदर्भ

यह अनुसंधान मेरी साइबर सुरक्षा में मास्टर थीसिस (UCAM — Campus Internacional de Ciberseguridad) का हिस्सा है, जो कई वातावरणों में N-Day भेद्यताओं का विश्लेषण करता है।

यह CVE थीसिस के भीतर विंडोज़ डेस्कटॉप एप्लिकेशन वेक्टर का प्रतिनिधित्व करता है, जो निम्नलिखित प्रदर्शित करता है:

  • DirectComposition ALPC चैनल के माध्यम से हीप-आधारित बफ़र ओवरफ़्लो एक्सप्लॉइटेशन
  • N-Day भेद्यता स्थान के लिए व्यवस्थित विधि के रूप में बाइनरी डिफ़िंग (BinDiff)
  • बाहरी उपकरणों के बिना इन-प्रोसेस API हुकिंग
  • RAM कॉन्फ़िगरेशनों में हीप स्प्रे नियतात्मकता का अनुभवजन्य मापन

कीवर्ड: EoP · Heap Overflow · DirectComposition · DWM · Patch Diffing · BinDiff · WinDbg · Heap Spray · Empirical Analysis · CVE-2024-30051


लेखक

Annais Molina (devianntsec) — साइबर सुरक्षा में मास्टर छात्र

GitHub LinkedIn Email


आभार

  • Ricardo Narvaja (Fortra/CoreSecurity) — मूल PoC और रिवर्स इंजीनियरिंग राइटअप
  • Kaspersky GReAT — मूल भेद्यता खोज और जिम्मेदार प्रकटीकरण
  • Microsoft MSRC — पैच KB5037771 (मई 2024)

लाइसेंस

MIT लाइसेंस — LICENSE देखें


कानूनी अस्वीकरण

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

© 2026 Annais Molina · साइबर सुरक्षा में मास्टर थीसिस
UCAM Universidad Católica San Antonio de Murcia · Campus Internacional de Ciberseguridad
टूल डाउनलोड करें
पहलूविवरण
पैच डिफ़िंग (Patch diffing)पूर्ण BinDiff विश्लेषण जो CCommandBuffer::Initialize को सटीक भेद्यता स्थान के रूप में पहचानता है (14,062 मिलान किए गए फ़ंक्शनों में वैश्विक 0.98 की तुलना में समानता स्कोर 0.32)
WinDbg गतिशील विश्लेषणसभी 4 हुकों, आकार फ़ील्ड अधिलेखन और पेलोड निर्माण का चरण-दर-चरण सत्यापन
अनुभवजन्य हीप स्प्रे विश्लेषणऔपचारिक सांख्यिकीय परीक्षणों के साथ दो RAM कॉन्फ़िगरेशन (8,192 MB और 4,096 MB) में 50 नियंत्रित सत्र
सांख्यिकीय निष्कर्षMann-Whitney U (p = 0.031) और Welch का t-परीक्षण (p = 0.011) RAM प्रभाव की पुष्टि करते हैं; देखे गए माध्य ~64 प्रयासों के सैद्धांतिक अनुमान से 12.9–19× बेहतर हैं
पेलोड DLL पथ केंद्रीकृतहार्डकोडेड पथ को #define PAYLOAD_DLL_PATH प्रीप्रोसेसर स्थिरांक में निकाला गया
सत्र लॉगिंगप्रत्येक सत्र का पूर्ण टाइमस्टैम्प्ड लॉग %TEMP%\cve_30051_log.txt में लिखा जाता है
शैक्षणिक दस्तावेज़ीकरणमूल कारण, 50-सत्र हीप स्प्रे विश्लेषण और CVE समयरेखा
मीट्रिकमान
वैश्विक समानता0.98
आत्मविश्वास0.99
मिलान किए गए फ़ंक्शन14,062 (99.1%)
CCommandBuffer::Initialize समानता0.32
मूल ब्लॉक — भेद्य संस्करण4
मूल ब्लॉक — पैच किया गया संस्करण20 (16 सत्यापन ब्लॉक जोड़े गए)
1
B4,096 MB25241
ब्लॉकRAMमाध्य प्रयासमानक विचलन95% CIसिद्धांत (64) के सापेक्ष कारक
A8,192 MB3.3751.135[2.896; 3.854]≈ 19× तेज़
B4,096 MB4.9582.645[3.841; 6.076]≈ 12.9× तेज़
H₀ को अस्वीकार करता है
आर्टिफ़ैक्टस्थानस्थिरतापहचान उपकरण
dwm.exe की चाइल्ड प्रक्रिया cmd.exeसुरक्षा इवेंट लॉगहाँ (यदि प्रक्रिया ऑडिटिंग सक्रिय है)इवेंट ID 4688
dwm.exe तक पहुँचने वाली बाहरी प्रक्रियाSysmonहाँSysmon इवेंट ID 10
असफल प्रयासों पर dwm.exe क्रैशएप्लिकेशन इवेंट लॉगहाँइवेंट ID 1000
डिस्क पर पेलोड DLL s11.dllC:\Users\Public\Documents\केवल पहले ~5 सेकंडSHA-256 मॉनिटरिंग
CCommandBuffer::Initialize में पूर्णांक विभाजन बग, पैच डिफ़िंग पद्धति
हीप स्प्रे विश्लेषण50-सत्र अनुभवजन्य डेटा, कच्चा सत्र डेटा, सांख्यिकीय परीक्षण
CVE समयरेखाखोज, प्रकटीकरण और पैच कालक्रम