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-2017-7184 — Exploit de prueba de concepto para escalada local de privilegios en CVE-2017-7184, un desbordamiento de pila XFRM netlink del kernel de Linux. Demuestra abuso de espacios de nombres y ROP del kernel para obtener root sin sudo. | Kitploit
Herramientas/GitHubGitHub/grish-pradhan/cve-2017-7184
Escalada de PrivilegiosAnálisis de VulnerabilidadesExplotaciónAprendizaje y EducaciónExplotación de Binarios
GitHubgrish-pradhan/cve-2017-7184

CVE-2017-7184

Exploit de prueba de concepto para escalada local de privilegios en CVE-2017-7184, un desbordamiento de pila XFRM netlink del kernel de Linux. Demuestra abuso de espacios de nombres y ROP del kernel para obtener root sin sudo.

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
Ver Repositorio
hace 7 mesesAún no revisado

CVE-2017-7184 – Escalada de Privilegios en el Kernel de Linux XFRM (Sin Sudo)

Resumen

Este repositorio contiene un exploit de prueba de concepto para escalada de privilegios local de la CVE-2017-7184, una vulnerabilidad del kernel de Linux en el subsistema XFRM (IPsec) de netlink.

El exploit demuestra cómo un usuario sin privilegios puede obtener root real (UID 0) mediante:

  1. Crear un espacio de nombres de usuario + red sin privilegios

  2. Obtener CAP_NET_ADMIN dentro del espacio de nombres

  3. Provocar un desbordamiento de pila del kernel en el manejo de netlink XFRM

  4. Ejecutar una cadena ROP del kernel para llamar a:

    • prepare_kernel_cred(NULL)
    • commit_creds()
  5. Volver de forma segura al espacio de usuario con privilegios root completos

No se requiere sudo.


Detalles de la Vulnerabilidad


Estrategia de Explotación (Nivel Alto)

  1. Espacio de nombres de usuario sin privilegios

    • Usa unshare(CLONE_NEWUSER | CLONE_NEWNET)
    • Mapea el usuario actual → UID 0 dentro del espacio de nombres
    • Otorga CAP_NET_ADMIN sin sudo
  2. Abuso de XFRM Netlink

    • Crea un socket NETLINK_XFRM
    • Envía un mensaje malformado XFRM_MSG_NEWSA
    • Provoca un desbordamiento de pila del kernel mediante atributos de tamaño excesivo
  3. Ejecución ROP del Kernel

    • Sobrescribe la pila del kernel
    • Ejecuta una cadena ROP controlada
    • Eleva las credenciales en el contexto del kernel
  4. Retorno al Espacio de Usuario

    • Usa swapgs; iretq
    • Abre una shell root interactiva

Requisitos

  • Kernel de Linux vulnerable (probado en 4.8.0-36-generic)
  • unprivileged_userns_clone = 1
  • Símbolos del kernel disponibles o offsets conocidos
  • gcc con soporte para pthread

Comprueba el soporte de espacios de nombres:

root@kitploit:~
cat /proc/sys/kernel/unprivileged_userns_clone

Salida esperada:

root@kitploit:~
1

Compilación

root@kitploit:~
gcc exploit.c -o exploit -pthread

Ejecución

root@kitploit:~
./exploit

No uses sudo.

Si tiene éxito, obtendrás una shell root real:

root@kitploit:~
uid=0(root) gid=0(root) groups=0(root)

Resolución de Direcciones del Kernel

El exploit intenta:

  1. Filtrar símbolos de /proc/kallsyms

  2. Si está restringido, usar offsets hardcodeados para:

    • commit_creds
    • prepare_kernel_cred
    • la base del kernel

⚠️ Los gadgets ROP y los offsets son específicos de la versión del kernel. Debes ajustarlos para otras compilaciones.


Resultados Esperados

Exploit Completamente Exitoso

  • UID = 0
  • GID = 0
  • Shell root interactiva

Éxito Parcial (Sigue Vulnerable)

  • La creación del espacio de nombres funciona
  • La creación del socket XFRM tiene éxito
  • El payload de desbordamiento se envía
  • Caída del kernel o ausencia de escalada de privilegios

Esto todavía confirma que el sistema es vulnerable.


Limitaciones

  • Gadgets ROP hardcodeados (específicos del kernel)
  • Sin bypass de KASLR más allá de kallsyms
  • Sin bypass de SMEP/SMAP para kernels endurecidos
  • No es fiable en kernels modernos

Mitigación

  • Actualizar el kernel a una versión parcheada
  • Deshabilitar los espacios de nombres de usuario sin privilegios:
root@kitploit:~
sysctl -w kernel.unprivileged_userns_clone=0
  • Activar KASLR, SMEP, SMAP
  • Restringir las capacidades de netlink

Aviso Legal

Este código se proporciona únicamente con fines educativos y de investigación en seguridad.

  • No lo uses en sistemas que no te pertenezcan o para los que no tengas permiso de prueba
  • El autor no asume ninguna responsabilidad por el mal uso o los daños
  • Está pensado para aprender técnicas de explotación del kernel

Referencias

  • CVE-2017-7184
  • Subsistema XFRM del Kernel de Linux
  • Escalada de privilegios mediante espacios de nombres de usuario
  • ROP en el kernel y explotación de commit_creds
Descargar herramienta
CampoValor
CVECVE-2017-7184
ComponenteLinux Kernel – XFRM Netlink
Tipo de errorDesbordamiento de pila del kernel
ImpactoEscalada de privilegios local
Vector de ataqueLocal (usuario sin privilegios)
Clase de exploitAbuso de espacios de nombres + ROP
Primeras versiones afectadasNúcleos de Linux ≤ 4.8
Corregido enParches del kernel publicados en 2017