Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
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-2021-38304-PoC — CVE-2021-38304 Prueba de concepto | Kitploit
Herramientas/GitHubGitHub/philsajdak/cve-2021-38304-poc
Forensia de MemoriaAnálisis de VulnerabilidadesExplotaciónAprendizaje y EducaciónExplotación de Binarios
GitHubphilsajdak/cve-2021-38304-poc

CVE-2021-38304-PoC

CVE-2021-38304 Prueba de concepto

Ver Repositorio
4hace 1 añoAú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-2021-38304 Prueba de Concepto

Resumen

Este repositorio contiene una prueba de concepto para una vulnerabilidad de seguridad crítica en versiones antiguas del controlador nipalk.sys de National Instruments. La vulnerabilidad permite la ejecución arbitraria de código y la divulgación de memoria en modo kernel. Está destinada únicamente para investigación personal.

Descripción

El controlador nipalk.sys maneja de manera inadecuada los punteros proporcionados por el usuario durante el procesamiento de una solicitud IOCTL específica. Esta falla permite a un atacante proporcionar un puntero a función que el controlador llamará en contexto de kernel con parámetros controlados.

Puntos clave

  • Control del Puntero a Función: El controlador llama a un puntero a función proporcionado por el usuario sin una validación adecuada.
  • Control de Parámetros: El atacante puede controlar los registros RCX y RDX durante la llamada a la función.
  • Divulgación de Memoria: Al llamar a funciones como RtlCopyMemory, un atacante puede leer memoria arbitraria del kernel.
  • Denegación de Servicio (DoS): Pasar un puntero a función inválido provoca un fallo del sistema debido a la falta de validación de entrada del controlador.

Causa Raíz

La vulnerabilidad surge del fallo del controlador al validar los punteros proporcionados por las aplicaciones en modo usuario. Durante el procesamiento del IOCTL 0xABCD03C4, el controlador recupera un puntero a función de una estructura controlada por el usuario y lo invoca sin las comprobaciones adecuadas:

root@kitploit:~
0045561e 48 8b 01        MOV        RAX,qword ptr [param_1]
00455621 49 8b 52 18     MOV        irp,qword ptr [R10 + 0x18]
00455625 ff 50 08        CALL       qword ptr [RAX + 0x8]
  • El puntero a función en [RAX + 8] se ejecuta en contexto de kernel.
  • Los parámetros RCX y RDX son controlados por el usuario.

Ejemplo de Salida

  • Fuga de Memoria Exitosa:
root@kitploit:~
[+] Starting exploit
[+] Memory allocated
[+] Values before IOCTL:
   exploit->dummy: 00000000001b0000
   exploit->function_pointer: fffff8017ea21300
[+] Device opened successfully
[+] Sending IOCTL
[+] Values after IOCTL:
   exploit->dummy: 7208f88349c18b48
   exploit->function_pointer: ffff7710f8834937
[+] DeviceIoControl succeeded. Bytes returned: 8
[+] Buffer Output: 1769472
[!] WARNING: exploit->dummy has changed!
[!] WARNING: exploit->function_pointer has changed!
[+] Exploit finished

Aviso Legal

Esta PoC está destinada únicamente para fines educativos.

Descargar herramienta