🚨 EXPLOIT PoC — केवल सुरक्षा अनुसंधान, भेद्यता विश्लेषण और रक्षात्मक उद्देश्यों के लिए
🚨 PoC DE EXPLOIT — SOLO PARA INVESTIGACIÓN DE SEGURIDAD, ANÁLISIS DE VULNERABILIDADES Y FINES DEFENSIVOS
🌐 भाषाएँ / भाषाएँ
🇪🇸 स्पेनिश में दस्तावेज़ीकरण
विवरण
CVE-2025-60709 विंडोज CLFS.sys (सामान्य लॉग फ़ाइल सिस्टम) ड्राइवर में एक स्थानीय विशेषाधिकार वृद्धि (LPE) भेद्यता है। यह एक हमलावर को स्थानीय कोड निष्पादन के साथ मानक उपयोगकर्ता से NT AUTHORITY\SYSTEM तक बढ़ाने की अनुमति देता है, CLFS कंटेनर पार्सिंग में बफर ओवरफ्लो के माध्यम से, कर्नेल मेमोरी में एक मनमाना लेखन प्रिमिटिव प्राप्त करता है।
इस रिपॉजिटरी में दो कार्यान्वयन शामिल हैं:
- CVE-2025-60709.c — C में मूल कार्यान्वयन (देशी विंडोज API तक सीधी पहुंच)
- CVE-2025-60709.go — Go पोर्ट (प्रदर्शन/शैक्षिक संस्करण — वास्तविक भेद्यताओं का शोषण नहीं करता)
🎯 भेद्यता विवरण
🏗️ रिपॉजिटरी संरचना
CVE-2025-60709/
├── CVE-2025-60709.c (5.3 KB, 157 पंक्तियाँ) — मूल C शोषण
├── CVE-2025-60709.go (9.2 KB, 285 पंक्तियाँ) — Go पोर्ट (शैक्षिक डेमो)
└── README.txt (4.2 KB, 132 पंक्तियाँ) — मूल दस्तावेज़ीकरण
🔬 विस्तृत तकनीकी विश्लेषण
पूर्ण शोषण प्रवाह
[1] रक्षा चोरी
├─ KillETW() → ntdll में EtwEventWrite को RET (0xC3) से पैच करता है
└─ KillAMSI() → amsi.dll में AmsiScanBuffer को RET (0xC3) से पैच करता है
[2] हीप ग्रूमिंग (मेमोरी तैयारी)
└─ GroomLookaside()
├─ 4096 फ़ाइलें बनाता है: C:\Windows\Temp\groom_00000.blf
├─ प्रत्येक के लिए CreateLogFile() + AddLogContainer() कॉल करता है
└─ लुकअसाइड सूचियों को समाप्त करता है → पूर्वानुमेय हीप लेआउट की गारंटी देता है
[3] मनमाना लेखन प्रिमिटिव — ClfsArbWrite(पता, मान)
├─ दूषित CLFS बफर बनाता है (0x102010 बाइट्स)
│ ├─ +0x00 पर मान्य CLFS हस्ताक्षर: 0x0201
│ ├─ +0x14 पर सेक्टर आकार शिफ्ट: 2
│ ├─ +0x28 पर पहला क्लाइंट क्षेत्र: 0x100
│ ├─ +0x100 पर अतिरिक्त बड़ा cbRecord: 0xFF00 (64 KB > वास्तविक डेटा)
│ ├─ +0x9A8 पर छाया क्षेत्र मार्कर: 0x13371337
│ └─ ऑफसेट (0xFF00 + 0x100) पर नकली CClfsContainerContext:
│ ├─ pContainer = TargetAddress - 0x10
│ └─ cbContainer = मान (लिखने के लिए डेटा)
├─ सही CLFS चेकसम की गणना करता है (ड्राइवर मान्य करता है)
├─ दूषित कंटेनर लिखता है → C:\Windows\Temp\evil.blf
├─ evil.blf की ओर इशारा करते हुए लॉग बनाता है
├─ ClfsReadRestartArea() कॉल करता है → कर्नेल पार्सिंग ट्रिगर करता है
└─ ड्राइवर बफर को ओवरफ्लो करता है → पते पर मान लिखता है ✓
[4] सिस्टम टोकन चोरी
├─ PsInitialSystemProcess के माध्यम से SYSTEM प्रक्रिया का EPROCESS पढ़ता है
└─ EPROCESS + EPROCESS_TOKEN (ऑफसेट 0x4c0) पर टोकन निकालता है
[5] विशेषाधिकार वृद्धि
└─ ClfsArbWrite(CurrentEprocess + 0x4c0, SystemToken)
└─ वर्तमान प्रक्रिया टोकन को SYSTEM टोकन से अधिलेखित करता है ✓
[6] C2 पेलोड निष्पादन
├─ VirtualAlloc(PAGE_EXECUTE_READWRITE)
├─ 1789 बाइट शेलकोड बीकन कॉपी करता है
├─ CreateThread() → NT AUTHORITY\SYSTEM के रूप में चलता है
└─ बीकन C2: IPv6 + DoH → Gmail ड्राफ्ट फ़ॉलबैक
└─ sRDI + नींद अस्पष्टता + ETW/AMSI पहले से पैच किए गए
[7] स्थायित्व
└─ Sleep(INFINITE) → प्रक्रिया SYSTEM टोकन बनाए रखती है
EPROCESS ऑफसेट (विंडोज 11 24H2 बिल्ड 26100.3485+)
⚠️ ये ऑफसेट विंडोज बिल्ड के बीच भिन्न होते हैं। अन्य संस्करणों के लिए अद्यतन करने की आवश्यकता है।
CLFS बफर ओवरफ्लो तंत्र
वैध CLFS कंटेनर:
[हेडर 0x100 बाइट्स][रिकॉर्ड: cbRecord बाइट्स वास्तविक डेटा]
दूषित कंटेनर (evil.blf):
[मान्य हेडर][cbRecord=0xFF00 → कर्नेल 65,280 बाइट्स पढ़ता है]
↓
कर्नेल ओवरफ्लो → नकली CClfsContainerContext तक पहुंचता है
↓
pContainer = TargetKernelAddress - 0x10
cbContainer = ValueToWrite
↓
ड्राइवर नकली संरचना का उपयोग करता है → ValueToWrite को TargetKernelAddress पर लिखता है
मुख्य फ़ंक्शन — CVE-2025-60709.c
C बनाम Go अंतर
संकलन निर्देश
C संस्करण (Visual Studio Build Tools + Windows SDK आवश्यक):
cl /O1 /MT /link ntdll.lib advapi32.lib clfsw32.lib CVE-2025-60709.c
Go संस्करण (विंडोज x64 पर Go 1.19+ आवश्यक):
go build -ldflags="-s -w" -o CVE-2025-60709.exe CVE-2025-60709.go
🛡️ शमन और पहचान
विंडोज शमन
YARA नियम
rule CVE_2025_60709_CLFS_LPE {
meta:
description = "Detects CVE-2025-60709 CLFS LPE exploit"
author = "KONDORDEVSECURITYCORP"
date = "2026-03"
cve = "CVE-2025-60709"
severity = "critical"
strings:
$clfs_sig = { 01 02 00 00 }
$magic = { 37 13 37 13 }
$evil_file = "evil.blf" ascii wide
$groom_file = "groom_" ascii wide
$etw_func = "EtwEventWrite" ascii wide
$amsi_func = "AmsiScanBuffer" ascii wide
$token_off = { C0 04 00 00 } // EPROCESS_TOKEN = 0x4C0
condition:
3 of them
}
IOCs — सिस्टम कलाकृतियाँ
व्यवहारिक पहचान
फ़ाइल: C:\Windows\Temp\ में *.blf का बड़े पैमाने पर निर्माण (सेकंड में > 100)
फ़ाइल: C:\Windows\Temp\evil.blf का निर्माण
प्रक्रिया: REALTIME_PRIORITY प्रक्रिया + ClfsReadRestartArea कॉल
मेमोरी: PAGE_EXECUTE_READWRITE पर लेखन + तत्काल CreateThread
API: EtwEventWrite या AmsiScanBuffer पर VirtualProtect
कर्नेल: उपयोगकर्ता-मोड से PsInitialSystemProcess तक पहुंच
त्वरित सत्यापन
# ग्रूमिंग फ़ाइलों की जाँच करें
Get-ChildItem C:\Windows\Temp -Filter "groom_*.blf" | Measure-Object
# शोषण फ़ाइल की जाँच करें
Test-Path C:\Windows\Temp\evil.blf
# ntdll अखंडता की जाँच करें (ETW पैच)
Get-AuthenticodeSignature (Get-Process -Name notepad | Select -First 1).Path
🇬🇧 अंग्रेज़ी दस्तावेज़ीकरण
विवरण
CVE-2025-60709 विंडोज CLFS.sys (सामान्य लॉग फ़ाइल सिस्टम) ड्राइवर में एक स्थानीय विशेषाधिकार वृद्धि (LPE) भेद्यता है। यह एक हमलावर को स्थानीय कोड निष्पादन के साथ मानक उपयोगकर्ता से NT AUTHORITY\SYSTEM तक बढ़ाने की अनुमति देता है, CLFS कंटेनर पार्सिंग में बफर ओवरफ्लो के माध्यम से, कर्नेल मेमोरी में एक मनमाना लेखन प्रिमिटिव प्राप्त करता है।
इस रिपॉजिटरी में दो कार्यान्वयन शामिल हैं:
- CVE-2025-60709.c — C में मूल कार्यान्वयन (देशी विंडोज API तक सीधी पहुंच)
- CVE-2025-60709.go — Go पोर्ट (प्रदर्शन/शैक्षिक संस्करण — वास्तविक भेद्यताओं का शोषण नहीं करता)
🎯 भेद्यता विवरण
🔬 तकनीकी विश्लेषण
शोषण प्रवाह
[1] रक्षा चोरी
├─ KillETW() → ntdll में EtwEventWrite को RET (0xC3) से पैच करता है
└─ KillAMSI() → amsi.dll में AmsiScanBuffer को RET (0xC3) से पैच करता है
[2] हीप ग्रूमिंग
└─ GroomLookaside()
├─ 4096 फ़ाइलें बनाता है: C:\Windows\Temp\groom_00000.blf
├─ प्रत्येक के लिए CreateLogFile() + AddLogContainer() कॉल करता है
└─ लुकअसाइड सूचियों को समाप्त करता है → पूर्वानुमेय हीप लेआउट की गारंटी देता है
[3] मनमाना लेखन प्रिमिटिव — ClfsArbWrite(पता, मान)
├─ दूषित CLFS बफर बनाता है (0x102010 बाइट्स)
│ ├─ +0x00 पर मान्य CLFS हस्ताक्षर: 0x0201
│ ├─ अतिरिक्त बड़ा cbRecord +0x100 पर: 0xFF00 (65,280 बाइट्स)
│ ├─ +0x9A8 पर छाया क्षेत्र मार्कर: 0x13371337
│ └─ ऑफसेट (0xFF00 + 0x100) पर नकली CClfsContainerContext:
│ ├─ pContainer = TargetAddress - 0x10
│ └─ cbContainer = मान (लिखने के लिए डेटा)
├─ मान्य CLFS चेकसम की गणना करता है (ड्राइवर मान्य करता है)
├─ दूषित कंटेनर लिखता है → C:\Windows\Temp\evil.blf
├─ evil.blf की ओर इशारा करते हुए लॉग बनाता है
├─ ClfsReadRestartArea() कॉल करता है → कर्नेल पार्सिंग ट्रिगर करता है
└─ ड्राइवर बफर को ओवरफ्लो करता है → पते पर मान लिखता है ✓
[4] सिस्टम टोकन चोरी
├─ PsInitialSystemProcess के माध्यम से SYSTEM प्रक्रिया का EPROCESS पढ़ता है
└─ EPROCESS + 0x4C0 पर टोकन निकालता है
[5] विशेषाधिकार वृद्धि
└─ ClfsArbWrite(CurrentEprocess + 0x4C0, SystemToken)
└─ वर्तमान प्रक्रिया टोकन को SYSTEM टोकन से अधिलेखित करता है ✓
[6] C2 पेलोड निष्पादन
├─ VirtualAlloc(PAGE_EXECUTE_READWRITE)
├─ 1789-बाइट शेलकोड बीकन कॉपी करता है
├─ CreateThread() → NT AUTHORITY\SYSTEM के रूप में चलता है
└─ बीकन: IPv6 + DoH C2 → Gmail ड्राफ्ट फ़ॉलबैक
└─ sRDI + नींद अस्पष्टता + ETW/AMSI पहले से पैच किए गए
[7] स्थायित्व
└─ Sleep(INFINITE) → प्रक्रिया SYSTEM टोकन बनाए रखती है
EPROCESS ऑफसेट (विंडोज 11 24H2 बिल्ड 26100.3485+)
⚠️ ये ऑफसेट विंडोज बिल्ड के बीच भिन्न होते हैं। अन्य संस्करणों के लिए अद्यतन किया जाना चाहिए।
CLFS बफर ओवरफ्लो तंत्र
वैध CLFS कंटेनर:
[0x100 बाइट हेडर][रिकॉर्ड: cbRecord बाइट्स वास्तविक डेटा]
दूषित कंटेनर (evil.blf):
[मान्य हेडर][cbRecord=0xFF00 → कर्नेल 65,280 बाइट्स पढ़ता है]
↓
कर्नेल ओवरफ्लो → नकली CClfsContainerContext तक पहुंचता है
↓
pContainer = TargetKernelAddress - 0x10
cbContainer = ValueToWrite
↓
ड्राइवर नकली संरचना का उपयोग करता है → ValueToWrite को TargetKernelAddress पर लिखता है
मुख्य फ़ंक्शन — CVE-2025-60709.c
C बनाम Go अंतर
निर्माण निर्देश
C संस्करण (Visual Studio Build Tools + Windows SDK आवश्यक):
cl /O1 /MT /link ntdll.lib advapi32.lib clfsw32.lib CVE-2025-60709.c
Go संस्करण (विंडोज x64 पर Go 1.19+ आवश्यक):
go build -ldflags="-s -w" -o CVE-2025-60709.exe CVE-2025-60709.go
🛡️ शमन और पहचान
विंडोज शमन
YARA नियम
rule CVE_2025_60709_CLFS_LPE {
meta:
description = "Detects CVE-2025-60709 CLFS LPE exploit"
author = "KONDORDEVSECURITYCORP"
date = "2026-03"
cve = "CVE-2025-60709"
severity = "critical"
strings:
$evil_file = "evil.blf" ascii wide
$groom_file = "groom_" ascii wide
$etw_func = "EtwEventWrite" ascii wide
$amsi_func = "AmsiScanBuffer" ascii wide
$magic = { 37 13 37 13 }
$token_off = { C0 04 00 00 }
condition:
3 of them
}
IOCs — सिस्टम कलाकृतियाँ
व्यवहारिक पहचान
फ़ाइल: C:\Windows\Temp\ में *.blf का बड़े पैमाने पर निर्माण (सेकंड में > 100)
फ़ाइल: C:\Windows\Temp\evil.blf का निर्माण
प्रक्रिया: REALTIME_PRIORITY प्रक्रिया + ClfsReadRestartArea कॉल
मेमोरी: PAGE_EXECUTE_READWRITE पर लेखन + तत्काल CreateThread
API: EtwEventWrite या AmsiScanBuffer पर VirtualProtect
कर्नेल: उपयोगकर्ता-मोड से PsInitialSystemProcess तक पहुंच
त्वरित सत्यापन
# ग्रूमिंग फ़ाइलों की जाँच करें
Get-ChildItem C:\Windows\Temp -Filter "groom_*.blf" | Measure-Object
# शोषण फ़ाइल की जाँच करें
Test-Path C:\Windows\Temp\evil.blf
📚 तकनीकी संदर्भ / तकनीकी संदर्भ
⚠️ कानूनी सूचना / कानूनी सूचना
EN: This exploit PoC is published for security research, vulnerability analysis, threat intelligence, and defensive purposes ONLY. Using this code against systems without explicit written authorization is illegal and may violate the CFAA, Computer Misuse Act, and equivalent laws. Authors assume no liability for misuse.
ES: Este PoC de exploit se publica únicamente para investigación de seguridad, análisis de vulnerabilidades, inteligencia de amenazas y fines defensivos. Usar este código contra sistemas sin autorización escrita explícita es ilegal y puede violar el CFAA, Computer Misuse Act y legislación equivalente. Los autores no asumen responsabilidad por el uso indebido.