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.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2024-51324 — Investigación de tesis de maestría sobre CVE-2024-51324 (BYOVD). Exploit avanzado con 4 modos operativos (SCANNER, LOADER, KILLER, CLEANUP), verificación de drivers mediante SHA-256 y documentación académica completa. La pieza de portafolio cubre la seguridad de los drivers del kernel de Windows, la ingeniería inversa de IOCTL y la explotación Bring Your Own Vulnerable Driver. | Kitploit
Herramientas/GitHubGitHub/devianntsec/cve-2024-51324
Herramientas DefensivasAnálisis de VulnerabilidadesExplotaciónIngeniería InversaAnálisis ForensePruebas de PenetraciónPapers e InvestigaciónAprendizaje y EducaciónRed Teaming

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 →
Explotación de Binarios
GitHubdevianntsec/cve-2024-51324

CVE-2024-51324

Ver Repositorio
110hace 5 mesesAún no revisado

Acerca de

Investigación de tesis de maestría sobre CVE-2024-51324 (BYOVD). Exploit avanzado con 4 modos operativos (SCANNER, LOADER, KILLER, CLEANUP), verificación de drivers mediante SHA-256 y documentación académica completa. La pieza de portafolio cubre la seguridad de los drivers del kernel de Windows, la ingeniería inversa de IOCTL y la explotación Bring Your Own Vulnerable Driver.

Compartir

CVE-2024-51324 — BYOVD: BdApiUtil64.sys · Investigación de Tesis de Máster

Platform Language License: MIT Research CVSS

Bring Your Own Vulnerable Driver (BYOVD) — Antivirus Baidu BdApiUtil64.sys
Tres primitivas de kernel no documentadas: terminación de procesos, eliminación arbitraria de archivos y eliminación de archivos en uso con bypass de SectionObjectPointer
Afecta a: Antivirus Baidu v5.2.3.116083 (BdApiUtil64.sys)


Cargando el controlador vulnerable en el kernel (modo LOADER)

Descripción

Este repositorio contiene mi investigación de Tesis de Máster sobre CVE-2024-51324, una vulnerabilidad Bring Your Own Vulnerable Driver (BYOVD) en el controlador de kernel BdApiUtil64.sys del Antivirus Baidu.

El registro NVD asigna una puntuación base CVSS v3.1 de 3.8 (Baja) con el vector AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:N y CWE-269 (Gestión inadecuada de privilegios). Esta puntuación no refleja la realidad del ataque local documentada en esta investigación: una vez que el controlador es cargado por un administrador (un paso único alcanzable mediante ingeniería social o cualquier escalada de privilegios local), cualquier proceso posterior — incluidos los procesos en espacio aislado o de usuario estándar — puede enviar IOCTLs sin comprobaciones de privilegios adicionales. Una puntuación CVSS v3.1 evaluada por el investigador de 7.8 (Alta) con el vector AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H refleja con mayor precisión la realidad de la explotación posterior a la carga. Ambas puntuaciones se analizan en la documentación técnica.

El controlador crea el objeto de dispositivo \Device\BdApiUtil con SecurityDescriptor = NULL, lo que permite que cualquier proceso, independientemente de su nivel de integridad, abra un handle y envíe IOCTLs. El análisis estático mediante Ghidra 11.0.3 revela que el mecanismo interno es más significativo de lo documentado anteriormente: el controlador utiliza PsLookupProcessByProcessId + ObOpenObjectByPointer(KernelMode) en lugar de ZwOpenProcess, omitiendo SeAccessCheck por completo. Se caracterizaron por completo tres primitivas IOCTL, dos de las cuales no cuentan con documentación pública previa.

Mi contribución

AspectoDescripción
Corrección técnicaZwOpenProcess está ausente de la tabla de importaciones; el mecanismo real es PsLookupProcessByProcessId + ObOpenObjectByPointer(KernelMode), que omite SeAccessCheck de forma incondicional
Tres primitivas documentadasTerminación de procesos (0x800024B4), eliminación arbitraria de archivos (0x80002648) y eliminación de archivos en uso con bypass de SectionObjectPointer (0x8000264C) — las dos últimas no tienen documentación pública previa
Cuatro modos de operaciónLOADER, KILLER, SCANNER y CLEANUP — gestión completa del ciclo de vida
Verificación SHA-256Hash del controlador verificado antes de cualquier intento de carga
Pruebas empíricas de PPL10 intentos por categoría de proceso que confirman PPL como la única mitigación en tiempo de ejecución
Análisis forensePersistencia del Evento ID 7045 tras la limpieza; Evento ID 1102 como artefacto autoincriminatorio de borrado de registros
Reglas de detecciónRegla Sigma y configuración de Sysmon (Evento ID 6 por hash + Evento ID 13 por clave de registro)
Reevaluación CVSSDiscrepancia documentada entre la puntuación oficial de NVD (3.8 Baja) y la gravedad de explotación local evaluada por el investigador (7.8 Alta)

Estructura del repositorio

CVE-2024-51324/
├── README.md
├── LICENSE
│
├── drivers/
│   └── BdApiUtil64.sys              # Driver (not distributed)
│
├── exploit/
│   ├── exploit-explanation.md
│   └── byovd_killer.py              # Main exploit — 4 operational modes
│
└── docs/
    ├── screenshots/
    │   ├── 01-byovd-scan.png
    │   ├── 02-byovd-scan-target.png
    │   ├── 03-byovd-load.png
    │   ├── 04-byovd-load-custom.png
    │   ├── 05-kill-name.gif
    │   ├── 06-kill-pid.gif
    │   ├── 07-kill-limit.gif
    │   ├── 08-dry-run.gif
    │   └── 09-byovd-cleanup.png
    │
    └── analysis/
        ├── 01-root-cause.md
        ├── 02-driver-analysis.md    # Full Ghidra RE, three primitives, PPL testing
        └── 03-timeline.md

Inicio rápido

Requisitos previos

  • Windows 10/11 (cualquier compilación)
  • Python 3.6+
  • BdApiUtil64.sys (SHA-256: 47EC51B5F0EDE1E70BD66F3F0152F9EB536D534565DBB7FCC3A05F542DBE4428)
  • Cuenta de administrador (solo modos LOADER y CLEANUP)
  • Cuenta de usuario estándar suficiente para el modo KILLER una vez que el controlador está cargado

Paso 1 — Escanear el sistema

python exploit/byovd_killer.py --scan
python exploit/byovd_killer.py --scan --target lsass.exe

Paso 2 — Cargar el controlador (se requiere administrador)

python exploit/byovd_killer.py --load
python exploit/byovd_killer.py --load --driver C:\path\to\BdApiUtil64.sys
python exploit/byovd_killer.py --load --service-name MyService

Paso 3 — Terminar procesos (no se requiere administrador)

python exploit/byovd_killer.py --kill notepad.exe
python exploit/byovd_killer.py --pid 1234
python exploit/byovd_killer.py --kill notepad.exe --max-instances 2
python exploit/byovd_killer.py --kill notepad.exe --dry-run

Paso 4 — Limpieza (se requiere administrador)

python exploit/byovd_killer.py --cleanup
python exploit/byovd_killer.py --cleanup --service-name MyService

Modos de operación

ModoComandoPrivilegiosDescripción
SCANNER--scanCualquier usuarioInformación de estado del sistema y del controlador
LOADER--loadAdministradorCarga del controlador mediante la creación de un servicio de kernel
KILLER--kill / --pidCualquier usuarioTerminación de procesos mediante IOCTL
CLEANUP--cleanupAdministradorDetención y eliminación del servicio del controlador

Demostraciones

Modo SCANNER — Información del sistema

Modo SCANNER

Modo SCANNER — Búsqueda de proceso objetivo

Objetivo SCANNER

Modo LOADER — Carga del controlador

Modo LOADER

Modo LOADER — Ruta personalizada y nombre de servicio

LOADER personalizado

Modo KILLER — Terminar por nombre de proceso

Terminar por nombre

Modo KILLER — Terminar por PID

Terminar por PID

Descargar herramienta