Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2025-60709 — Windows CLFS LPE exploit PoC для исследований в области безопасности | Kitploit
Инструменты/GitHubGitHub/kondordevsecuritycorp/cve-2025-60709
Оборонительные ИнструментыПовышение привилегийАнализ уязвимостейЭксплуатацияОбучение и ОбразованиеРазработка Полезной НагрузкиЭксплуатация Бинарных Файлов
GitHubkondordevsecuritycorp/cve-2025-60709

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →

CVE-2025-60709

Windows CLFS LPE exploit PoC для исследований в области безопасности

Репозиторий
25 месяцев назадЕщё не проверено
Поделиться

CVE Type Target Component C Go Research


🚨 EXPLOIT PoC — ТОЛЬКО ДЛЯ ИССЛЕДОВАНИЙ БЕЗОПАСНОСТИ, АНАЛИЗА УЯЗВИМОСТЕЙ И ЗАЩИТНЫХ ЦЕЛЕЙ

🚨 EXPLOIT PoC — ТОЛЬКО ДЛЯ ИССЛЕДОВАНИЙ БЕЗОПАСНОСТИ, АНАЛИЗА УЯЗВИМОСТЕЙ И ЗАЩИТНЫХ ЦЕЛЕЙ


🌐 Языки / Languages

  • 🇷🇺 Русский
  • 🇷🇺 Русский

🇷🇺 Документация на русском

Описание

CVE-2025-60709 — это уязвимость локального повышения привилегий (LPE) в драйвере CLFS.sys (Common Log File System) Windows. Она позволяет атакующему с локальным выполнением кода повысить привилегии от стандартного пользователя до NT AUTHORITY\SYSTEM через переполнение буфера при разборе контейнеров CLFS, получая примитив произвольной записи в память ядра.

Этот репозиторий содержит две реализации:

  • CVE-2025-60709.c — Оригинальная реализация на C (прямой доступ к нативным API Windows)
  • CVE-2025-60709.go — Порт на Go (демонстрационная/обучающая версия — НЕ эксплуатирует реальные уязвимости)

🎯 Детали уязвимости

ПолеДеталь
CVE IDCVE-2025-60709
ТипЛокальное повышение привилегий (LPE)
КомпонентCLFS.sys (драйвер Common Log File System)
Целевая ОСWindows 11 24H2 (сборка 26100.3485+)
АрхитектураТолько x64
ВекторПереполнение буфера при разборе контейнера CLFS
ВоздействиеПовышение до NT AUTHORITY\SYSTEM
Предварительные условияЛокальное выполнение кода (стандартный пользователь)

🏗️ Структура репозитория

root@kitploit:~
CVE-2025-60709/
├── CVE-2025-60709.c    (5.3 КБ, 157 строк) — Оригинальный эксплойт на C
├── CVE-2025-60709.go   (9.2 КБ, 285 строк) — Порт на Go (демо, обучающая)
└── README.txt          (4.2 КБ, 132 строки) — Оригинальная документация

🔬 Подробный технический анализ

Полный поток эксплуатации

root@kitploit:~
┌─────────────────────────────────────────────────────────────┐
│                    CVE-2025-60709 LPE                       │
└─────────────────────────────────────────────────────────────┘

[1] ОБХОД ЗАЩИТЫ
    ├─ KillETW()   → Патчит EtwEventWrite в ntdll с помощью RET (0xC3)
    └─ KillAMSI()  → Патчит AmsiScanBuffer в amsi.dll с помощью RET (0xC3)

[2] HEAP GROOMING (подготовка памяти)
    └─ GroomLookaside()
       ├─ Создаёт 4096 файлов: C:\Windows\Temp\groom_00000.blf
       ├─ Вызывает CreateLogFile() + AddLogContainer() для каждого
       └─ Истощает lookaside списки → гарантирует предсказуемый макет кучи

[3] ПРИМИТИВ ПРОИЗВОЛЬНОЙ ЗАПИСИ — ClfsArbWrite(Address, Value)
    ├─ Создаёт неправильно сформированный буфер CLFS (0x102010 байт)
    │    ├─ Действительная подпись CLFS в +0x00: 0x0201
    │    ├─ Oversized cbRecord в +0x100: 0xFF00 (65 280 байт)
    │    ├─ Маркер теневой зоны в +0x9A8: 0x13371337
    │    └─ Поддельный CClfsContainerContext по смещению (0xFF00 + 0x100):
    │         ├─ pContainer  = TargetAddress - 0x10
    │         └─ cbContainer = Value (записываемые данные)
    ├─ Вычисляет корректную контрольную сумму CLFS (драйвер проверяет)
    ├─ Записывает неправильный контейнер → C:\Windows\Temp\evil.blf
    ├─ Создаёт журнал, указывающий на evil.blf
    ├─ Вызывает ClfsReadRestartArea() → запускает разбор в ядре
    └─ Драйвер переполняет буфер → записывает Value по адресу Address ✓

[4] КРАЖА ТОКЕНА SYSTEM
    ├─ Читает EPROCESS процесса SYSTEM через PsInitialSystemProcess
    └─ Извлекает токен по адресу EPROCESS + 0x4C0

[5] ПОВЫШЕНИЕ ПРИВИЛЕГИЙ
    └─ ClfsArbWrite(CurrentEprocess + 0x4C0, SystemToken)
       └─ Перезаписывает токен текущего процесса токеном SYSTEM ✓

[6] ЗАПУСК ПОЛЕЗНОЙ НАГРУЗКИ C2
    ├─ VirtualAlloc(PAGE_EXECUTE_READWRITE)
    ├─ Копирует 1789-байтовый shellcode beacon
    ├─ CreateThread() → выполняется как NT AUTHORITY\SYSTEM
    └─ Beacon: IPv6 + DoH C2 → резервный канал Gmail drafts
       └─ sRDI + обфускация сна + ETW/AMSI уже пропатчены

[7] ПЕРСИСТЕНТНОСТЬ
    └─ Sleep(INFINITE) → процесс сохраняет токен SYSTEM

Смещения EPROCESS (Windows 11 24H2 сборка 26100.3485+)

ПолеСмещениеОписание
EPROCESS_TOKEN0x4C0Токен безопасности процесса
EPROCESS_PID0x440Идентификатор процесса (PID)
EPROCESS_LINKS0x448Связанный список активных процессов
EPROCESS_NAME0x5A8Имя процесса (ImageFileName)

⚠️ Эти смещения различаются между сборками Windows. Требуется обновление для других версий.


Механизм переполнения буфера в CLFS

root@kitploit:~
Легитимный контейнер CLFS:
  [Заголовок 0x100 байт][Запись: cbRecord байт реальных данных]

Неправильный контейнер (evil.blf):
  [Действительный заголовок][cbRecord=0xFF00 → ядро читает 65 280 байт]
                        ↓
  Переполнение в ядре → достигает поддельного CClfsContainerContext
                        ↓
  pContainer  = TargetKernelAddress - 0x10
  cbContainer = ValueToWrite
                        ↓
  Драйвер использует поддельную структуру → записывает ValueToWrite по адресу TargetKernelAddress

Ключевые функции — CVE-2025-60709.c

ФункцияНазначение
GetKernelBase()ZwQuerySystemInformation(SystemModuleInformation) → база ntoskrnl.exe
KillETW()VirtualProtect + перезапись EtwEventWrite в ntdll.dll с 0xC3 (RET)
KillAMSI()Загрузка amsi.dll + перезапись AmsiScanBuffer с 0xC3 (RET)
GroomLookaside()Создание 4096 журналов CLFS для истощения lookaside списков → детерминированная куча
ClfsArbWrite()Ядро эксплойта — примитив произвольной записи в память ядра
main()Оркестровка атаки: ETW→AMSI→groom→кража токена→arb write→beacon

Различия C и Go

АспектВерсия CВерсия Go
ТипРабочий эксплойт (согласно документации)Только обучающая демонстрация
APIПрямой доступ (ntdll, clfsw32, advapi32)Обёртки syscall.NewLazyDLL()
Контрольная сумма CLFSПолный алгоритмУпрощённый заполнитель
Ядерные адресаРеальныеЖёстко заданный заполнитель (0x123456)
Полезная нагрузка C2Шеллкод 1789 байтТестовые байты NOP (0x90)
Ожидаемый результатПовышение до SYSTEMСообщение "Arb write failed (yeah)"

Компиляция

Версия C (требуется Visual Studio Build Tools + Windows SDK):

root@kitploit:~
cl /O1 /MT /link ntdll.lib advapi32.lib clfsw32.lib CVE-2025-60709.c

Версия Go (требуется Go 1.19+ на Windows x64):

root@kitploit:~
go build -ldflags="-s -w" -o CVE-2025-60709.exe CVE-2025-60709.go

🛡️ Смягчения и обнаружение

Смягчения Windows

СмягчениеЭффективность
HVCI (Защита целостности кода под гипервизором)Высокая — предотвращает запись в память ядра
kCFI (Целостность потока управления ядра)Высокая — затрудняет цепочки ROP/JOP
CFG (Защита потока управления)Средняя — затрудняет выполнение шеллкода
Защитник WindowsСредняя — обнаруживает известные техники
Обновление WindowsВысокая — официальный патч устраняет уязвимость

Правило YARA

root@kitploit:~
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\evil.blf
Неправильный журнал\\.\C:\Windows\Temp\evil_log
Файлы groomingC:\Windows\Temp\groom_00000.blf … groom_04095.blf
ПроцессАномальный приоритет REALTIME_PRIORITY_CLASS

Поведенческое обнаружение

root@kitploit:~
ФАЙЛ:    Массовое создание *.blf в C:\Windows\Temp\ (> 100 за секунды)
ФАЙЛ:    Создание C:\Windows\Temp\evil.blf
ПРОЦЕСС: Процесс в режиме REALTIME_PRIORITY + вызовы ClfsReadRestartArea
ПАМЯТЬ:  Запись в PAGE_EXECUTE_READWRITE + немедленный CreateThread
API:     VirtualProtect над EtwEventWrite или AmsiScanBuffer
ЯДРО:    Доступ к PsInitialSystemProcess из пользовательского режима

Быстрая проверка

root@kitploit:~
# Проверить файлы grooming
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 — это уязвимость локального повышения привилегий (LPE) в драйвере CLFS.sys (Common Log File System) Windows. Она позволяет атакующему с локальным выполнением кода повысить привилегии от стандартного пользователя до NT AUTHORITY\SYSTEM через переполнение буфера при разборе контейнеров CLFS, получая примитив произвольной записи в память ядра.

Этот репозиторий содержит две реализации:

  • CVE-2025-60709.c — Оригинальная реализация на C (прямой доступ к нативным API Windows)
  • CVE-2025-60709.go — Порт на Go (демонстрационная/обучающая версия — НЕ эксплуатирует реальные уязвимости)

🎯 Детали уязвимости

ПолеДеталь
CVE IDCVE-2025-60709
ТипЛокальное повышение привилегий (LPE)
КомпонентCLFS.sys (драйвер Common Log File System)
Целевая ОСWindows 11 24H2 (сборка 26100.3485+)
АрхитектураТолько x64
ВекторПереполнение буфера при разборе контейнера CLFS
ВоздействиеПовышение до NT AUTHORITY\SYSTEM
Предварительные условияЛокальное выполнение кода (стандартный пользователь)

🔬 Технический анализ

Поток эксплуатации

root@kitploit:~
[1] ОБХОД ЗАЩИТЫ
    ├─ KillETW()   → Патчит EtwEventWrite в ntdll с помощью RET (0xC3)
    └─ KillAMSI()  → Патчит AmsiScanBuffer в amsi.dll с помощью RET (0xC3)

[2] HEAP GROOMING
    └─ GroomLookaside()
       ├─ Создаёт 4096 файлов: C:\Windows\Temp\groom_00000.blf
       ├─ Вызывает CreateLogFile() + AddLogContainer() для каждого
       └─ Истощает lookaside списки → гарантирует предсказуемый макет кучи

[3] ПРИМИТИВ ПРОИЗВОЛЬНОЙ ЗАПИСИ — ClfsArbWrite(Address, Value)
    ├─ Создаёт неправильно сформированный буфер CLFS (0x102010 байт)
    │    ├─ Действительная подпись CLFS в +0x00: 0x0201
    │    ├─ Oversized cbRecord в +0x100: 0xFF00 (65 280 байт)
    │    ├─ Маркер теневой зоны в +0x9A8: 0x13371337
    │    └─ Поддельный CClfsContainerContext по смещению (0xFF00 + 0x100):
    │         ├─ pContainer  = TargetAddress - 0x10
    │         └─ cbContainer = Value (записываемые данные)
    ├─ Вычисляет корректную контрольную сумму CLFS (драйвер проверяет)
    ├─ Записывает неправильный контейнер → C:\Windows\Temp\evil.blf
    ├─ Создаёт журнал, указывающий на evil.blf
    ├─ Вызывает ClfsReadRestartArea() → запускает разбор в ядре
    └─ Драйвер переполняет буфер → записывает Value по адресу Address ✓

[4] КРАЖА ТОКЕНА SYSTEM
    ├─ Читает EPROCESS процесса SYSTEM через PsInitialSystemProcess
    └─ Извлекает токен по адресу EPROCESS + 0x4C0

[5] ПОВЫШЕНИЕ ПРИВИЛЕГИЙ
    └─ ClfsArbWrite(CurrentEprocess + 0x4C0, SystemToken)
       └─ Перезаписывает токен текущего процесса токеном SYSTEM ✓

[6] ЗАПУСК ПОЛЕЗНОЙ НАГРУЗКИ C2
    ├─ VirtualAlloc(PAGE_EXECUTE_READWRITE)
    ├─ Копирует 1789-байтовый shellcode beacon
    ├─ CreateThread() → выполняется как NT AUTHORITY\SYSTEM
    └─ Beacon: IPv6 + DoH C2 → резервный канал Gmail drafts
       └─ sRDI + обфускация сна + ETW/AMSI уже пропатчены

[7] ПЕРСИСТЕНТНОСТЬ
    └─ Sleep(INFINITE) → процесс сохраняет токен SYSTEM

Смещения EPROCESS (Windows 11 24H2 сборка 26100.3485+)

ПолеСмещениеОписание
EPROCESS_TOKEN0x4C0Токен безопасности процесса
EPROCESS_PID0x440Идентификатор процесса
EPROCESS_LINKS0x448Связанный список активных процессов
EPROCESS_NAME0x5A8Имя процесса (ImageFileName)

⚠️ Эти смещения различаются между сборками Windows. Должны быть обновлены для других версий.


Механизм переполнения буфера в CLFS

root@kitploit:~
Легитимный контейнер CLFS:
  [Заголовок 0x100 байт][Запись: cbRecord байт реальных данных]

Неправильный контейнер (evil.blf):
  [Действительный заголовок][cbRecord=0xFF00 → ядро читает 65 280 байт]
                        ↓
  Переполнение в ядре → достигает поддельного CClfsContainerContext
                        ↓
  pContainer  = TargetKernelAddress - 0x10
  cbContainer = ValueToWrite
                        ↓
  Драйвер использует поддельную структуру → записывает ValueToWrite по адресу TargetKernelAddress

Ключевые функции — CVE-2025-60709.c

ФункцияНазначение
GetKernelBase()ZwQuerySystemInformation(SystemModuleInformation) → база ntoskrnl.exe
KillETW()VirtualProtect + перезапись EtwEventWrite в ntdll.dll с 0xC3 (RET)
KillAMSI()Загрузка amsi.dll + перезапись AmsiScanBuffer с 0xC3 (RET)
GroomLookaside()Создание 4096 журналов CLFS для истощения lookaside списков → детерминированная куча
ClfsArbWrite()Ядро эксплойта — примитив произвольной записи в память ядра
main()Оркестровка: ETW→AMSI→groom→кража токена→arb write→beacon

Различия C и Go

АспектВерсия CВерсия Go
ТипРабочий эксплойт (согласно документации)Только обучающая демонстрация
APIПрямой доступ (ntdll, clfsw32, advapi32)Обёртки syscall.NewLazyDLL()
Контрольная сумма CLFSПолный алгоритмУпрощённый заполнитель
Ядерные адресаРеальныеЖёстко заданный заполнитель (0x123456)
Полезная нагрузка C21789-байтовый шеллкодБайты NOP (0x90)
Ожидаемый результатПовышение до SYSTEMСообщение "Arb write failed (yeah)"

Инструкции по сборке

Версия C (требуется Visual Studio Build Tools + Windows SDK):

root@kitploit:~
cl /O1 /MT /link ntdll.lib advapi32.lib clfsw32.lib CVE-2025-60709.c

Версия Go (требуется Go 1.19+ на Windows x64):

root@kitploit:~
go build -ldflags="-s -w" -o CVE-2025-60709.exe CVE-2025-60709.go

🛡️ Смягчения и обнаружение

Смягчения Windows

СмягчениеЭффективность
HVCI (Защита целостности кода под гипервизором)Высокая — предотвращает запись в память ядра
kCFI (Целостность потока управления ядра)Высокая — блокирует цепочки ROP/JOP
CFG (Защита потока управления)Средняя — затрудняет выполнение шеллкода
Защитник WindowsСредняя — обнаруживает известные техники
Обновление WindowsВысокая — официальный патч устраняет уязвимость

Правило YARA

root@kitploit:~
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\evil.blf
Неправильный журнал\\.\C:\Windows\Temp\evil_log
Файлы groomingC:\Windows\Temp\groom_00000.blf … groom_04095.blf
ПроцессАномальный приоритет REALTIME_PRIORITY_CLASS

Поведенческое обнаружение

root@kitploit:~
ФАЙЛ:    Массовое создание *.blf в C:\Windows\Temp\ (> 100 за секунды)
ФАЙЛ:    Создание C:\Windows\Temp\evil.blf
ПРОЦЕСС: Процесс в режиме REALTIME_PRIORITY + вызовы ClfsReadRestartArea
ПАМЯТЬ:  Запись в PAGE_EXECUTE_READWRITE + немедленный CreateThread
API:     VirtualProtect над EtwEventWrite или AmsiScanBuffer
ЯДРО:    Доступ к PsInitialSystemProcess из пользовательского режима

Быстрая проверка

root@kitploit:~
# Проверить файлы grooming
Get-ChildItem C:\Windows\Temp -Filter "groom_*.blf" | Measure-Object

# Проверить файл эксплойта
Test-Path C:\Windows\Temp\evil.blf

📚 Технические ссылки / Technical References

  • Common Log File System (CLFS) Architecture — Microsoft Docs
  • EPROCESS Structure Analysis — Windows Internals
  • Lookaside List Heap Grooming Techniques
  • Windows Kernel Exploitation — Token Stealing
  • HVCI and Virtualization Based Security — Microsoft

⚠️ Юридическое уведомление / Legal Notice

RU: Данный PoC эксплойта публикуется только для исследований безопасности, анализа уязвимостей, разведки угроз и защитных целей. Использование этого кода против систем без явного письменного разрешения незаконно и может нарушать CFAA, Computer Misuse Act и аналогичные законы. Авторы не несут ответственности за неправомерное использование.

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.


GitHub Telegram

Скачать инструмент