
CVE-2025-61155 — произвольное завершение процессов в GameDriverX64.sys (античит Tower of Fantasy). Оригинальный разбор в IDA Pro, PoC, YARA, IOCs, меры по смягчению.
GameDriverX64.sysПодписанный драйвер античита в режиме ядра — GameDriverX64.sys, поставляемый с Tower of Fantasy (Hotta Studio / Perfect World) — позволяет любому непривилегированному локальному пользователю завершать произвольные процессы, включая PPL-защищенные службы антивируса/EDR. Это примитив, к которому стремятся операторы программ-вымогателей, и он активно используется в реальных атаках операцией Interlock в качестве BYOVD-средства уничтожения EDR.
Этот репозиторий представляет собой полный, воспроизводимый разбор: advisory безопасности, оригинальный анализ обратной разработки в IDA Pro, proof of concept и готовые к использованию средства обнаружения и смягчения.
Исследователи: Gabriel Maciel Ramos · Anthony Sforzin · Gabriel Gomes
Proof of concept, завершающий целевой процесс через драйвер. Встроенный плеер не отображается? Скачать клип.
1. LoadLibrary DLL с именем QmGUI.dll / QmGUI4.dll / gameuirender.dll
└─ проходит проверку только по имени файла в IRP_MJ_CREATE
2. CreateFile("\\.\HtAntiCheatDriver") ← стандартный DACL, любой пользователь может открыть
3. DeviceIoControl(0x222040, {0xFA123456, pid}) ← единственный шлюз — жестко заданное магическое число
4. Драйвер: ZwOpenProcess(GENERIC_ALL) → ZwTerminateProcess
└─ выполняется с PreviousMode == KernelMode → проверка доступа пропущена
└─ убивает ЛЮБОЙ процесс, включая защищенные AV/EDR
Три «ограждения», все обойдены: устройство не имеет ACL только для администраторов, проверка CREATE сравнивает строку имени модуля (подделать ее, загрузив любую DLL с тем же именем), а шлюз IOCTL — это константа, вшитая в бинарник. Убийство затем выполняется в ядре, поэтому защита процесса (PPL) не действует. Полное описание в docs/01-technical-analysis.md.
Анализ в docs/01-technical-analysis.md был выполнен статически в IDA Pro 9.4 + Hex-Rays на подписанном уязвимом образце (SHA-256 9DDAE4…3C9F1E, см. sample/SAMPLE.md). Каждый адрес, константа и декомпилированный фрагмент в этом репозитории были взяты непосредственно из бинарника и независимо подтверждают публичные сообщения об инструментарии, используемом в реальных атаках.
docs/04-mitigation.md.detection/.0x222040, завершение процессов из ядра) — docs/03-detection.md.Только для защитной безопасности, разработки средств обнаружения, образования и исследований. Используйте proof of concept только на системах, которыми вы владеете или на тестирование которых у вас есть разрешение. См. SECURITY.md. Бинарник уязвимого драйвера намеренно не включен.
| Драйвер | GameDriverX64.sys (KMDF), версии <= 7.23.4.7 |
| Поставщик | Hotta Studio / Perfect World — внутренние PwrdDriver / HtDriver2.0 |
| Подписант | Fedeen Games Limited (действительный Authenticode) |
| Устройство | \\.\HtAntiCheatDriver |
| Примитив | IOCTL 0x222040, магическое число 0xFA123456 → ZwTerminateProcess в контексте ядра |
| Требуемые привилегии | Не требуется ничего, кроме стандартного локального пользователя |
| Воздействие | Завершение любого процесса, включая PPL AV/EDR → BYOVD-средство уничтожения EDR |
| CVSS 3.1 | 5.5 Medium · AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
| Статус | Опубликован, эксплуатируется в реальных атаках (Interlock, Reynolds) |
| Путь | Содержимое |
|---|
advisory.md | Официальный advisory безопасности |
docs/01-technical-analysis.md | Оригинальный разбор обратной разработки в IDA Pro |
docs/02-exploitation.md | Эксплойт-цепочка и описание PoC |
docs/03-detection.md | Как обнаружить драйвер и его использование |
docs/04-mitigation.md | Блокировка и удаление с помощью HVCI / WDAC |
docs/05-in-the-wild.md | Использование Interlock / BYOVD и хронология |
poc/poc.cpp | Минимальный proof of concept |
detection/cve-2025-61155.yar | Правила YARA |
detection/iocs.md | Индикаторы компрометации |
sample/SAMPLE.md | Идентификация образца и происхождение (бинарник не загружен) |
NEWS.md | Текущий журнал событий |
SECURITY.md | Политика ответственного использования и контакты |