
CVE-2025-61155 — arbitrary process termination in GameDriverX64.sys (Tower of Fantasy anti-cheat). Original IDA Pro teardown, PoC, YARA, IOCs, mitigation.
GameDriverX64.sysUm driver anti-trapaça de modo kernel assinado — GameDriverX64.sys, distribuído com
Tower of Fantasy (Hotta Studio / Perfect World) — permite que qualquer usuário
local não privilegiado termine processos arbitrários, incluindo serviços de antivírus/EDR
protegidos por PPL. É o tipo de primitiva que operadores de ransomware buscam,
e está sendo ativamente abusado na natureza pela operação Interlock
como um BYOVD matador de EDR.
Este repositório é uma análise completa e reproduzível: o aviso de segurança, uma análise original de engenharia reversa com IDA Pro, uma prova de conceito e conteúdo de detecção e mitigação pronto para uso.
Pesquisadores: Gabriel Maciel Ramos · Anthony Sforzin · Gabriel Gomes
Prova de conceito terminando um processo alvo através do driver. O player embutido não está renderizando? Baixe o clipe.
1. LoadLibrary a DLL named QmGUI.dll / QmGUI4.dll / gameuirender.dll
└─ passa a "verificação" apenas do nome do arquivo em IRP_MJ_CREATE
2. CreateFile("\\.\HtAntiCheatDriver") ← DACL padrão, qualquer usuário pode abrir
3. DeviceIoControl(0x222040, {0xFA123456, pid}) ← única barreira é um magic embutido
4. Driver: ZwOpenProcess(GENERIC_ALL) → ZwTerminateProcess
└─ executa com PreviousMode == KernelMode → verificação de acesso ignorada
└─ mata QUALQUER processo, incluindo AV/EDR protegidos
Três "barreiras", todas derrotadas: o dispositivo não tem ACL restrita a administradores, a verificação
CREATE compara uma string de nome de módulo (forje-a carregando qualquer DLL de mesmo nome),
e a porta IOCTL é uma constante inserida no binário. A eliminação então é executada no
kernel, então a proteção de processo (PPL) não se aplica. Explicação completa em
docs/01-technical-analysis.md.
A análise em docs/01-technical-analysis.md
foi produzida estaticamente no IDA Pro 9.4 + Hex-Rays contra a amostra
vulnerável e legitimamente assinada
(SHA-256 9DDAE4…3C9F1E, veja sample/SAMPLE.md). Cada
endereço, constante e trecho descompilado neste repositório foi extraído diretamente do
binário e corrobora independentemente os relatos públicos sobre as ferramentas usadas na natureza.
docs/04-mitigation.md.detection/.0x222040, eliminações de processos
originadas no kernel) — docs/03-detection.md.Apenas para segurança defensiva, engenharia de detecção, educação e pesquisa. Use a
prova de conceito apenas em sistemas que você possui ou está autorizado a testar. Veja
SECURITY.md. O binário do driver vulnerável intencionalmente não está
incluído.
| Driver | GameDriverX64.sys (KMDF), versões <= 7.23.4.7 |
| Fornecedor | Hotta Studio / Perfect World — interno PwrdDriver / HtDriver2.0 |
| Assinante | Fedeen Games Limited (Authenticode válido) |
| Dispositivo | \\.\HtAntiCheatDriver |
| Primitiva | IOCTL 0x222040, magic 0xFA123456 → ZwTerminateProcess no contexto do kernel |
| Privilégios necessários | Nenhum além de um usuário local padrão |
| Impacto | Termina qualquer processo, incl. AV/EDR protegido por PPL → BYOVD matador de EDR |
| CVSS 3.1 | 5.5 Medium · AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
| Status | Publicado, explorado na natureza (Interlock, Reynolds) |
| Caminho | Conteúdo |
|---|
advisory.md | Aviso de segurança formal |
docs/01-technical-analysis.md | Análise de engenharia reversa original com IDA Pro |
docs/02-exploitation.md | Cadeia de exploração e explicação da PoC |
docs/03-detection.md | Como detectar o driver e seu abuso |
docs/04-mitigation.md | Bloqueio e remoção por HVCI / WDAC |
docs/05-in-the-wild.md | Uso e cronologia do Interlock / BYOVD |
poc/poc.cpp | Prova de conceito mínima |
detection/cve-2025-61155.yar | Regras YARA |
detection/iocs.md | Indicadores de comprometimento |
sample/SAMPLE.md | Identidade e proveniência da amostra (binário não incluído) |
NEWS.md | Registro contínuo de desenvolvimentos |
SECURITY.md | Política de uso responsável e contato |