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-5123 — exploit del kernel de Linux | Kitploit
Herramientas/GitHubGitHub/floatingguy/cve-2017-5123
Escalada de PrivilegiosAnálisis de VulnerabilidadesExplotaciónAprendizaje y EducaciónExplotación de Binarios
GitHubfloatingguy/cve-2017-5123

CVE-2017-5123

exploit del kernel de Linux

Ver Repositorio
1444hace 8 añosAú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-2017-5123

Escalada de privilegios en Linux explotando la llamada al sistema waitid. El exploit es presentado por @XeR_0x2A y @chaign_c de HexpressoTeam únicamente con fines educativos.
El error fue introducido el 21 de mayo de 2017 y corregido el 9 de octubre de 2017; se sabe que 4.14.0-rc4+ es vulnerable.

asciicast

Si tienes un nivel de escritor de exploits principiante/intermedio, te animamos a explotarlo tú mismo antes de leer nuestra implementación. Es un muy buen ejercicio con una primitiva de explotación sencilla (escritura arbitraria en memoria del kernel modificable).
También retamos a @LiveOverflow a que lo intente.

Aquí está la descripción:

oss-security:
Hola,

Chris Salls descubrió que cuando se reestructuró la llamada al sistema waitid() en el kernel de Linux
v4.13, accidentalmente dejó de verificar que el
argumento entrante apuntara al espacio de usuario. Esto permitió
a atacantes locales escribir directamente en la memoria del kernel, lo que podría llevar a
una escalada de privilegios.

Introducido por este commit:
https://git.kernel.org/linus/4c48abe91be03d191d0c20cc755877da2cb35622

Corregido con este commit en el árbol principal:
https://git.kernel.org/linus/96ca579a1ecc943b75beba58bebb0356f6cc4b51

Esto debería estar corregido en la versión -stable (en el futuro v4.13.7) pronto:
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/log/?h=linux-4.13.y

Gracias,

¡Spoiler!

waitid:
waitid -- esperar a que un proceso hijo cambie de estado.

root@kitploit:~
int waitid(idtype_t idtype, id_t id, siginfo_t *infop, int options);

El kernel no comprueba si infop es un puntero del kernel o del espacio de usuario, por lo que podemos sobrescribir la memoria de cualquier página de memoria del kernel con permisos de escritura. La parte divertida es que solo controlamos parcialmente lo que se escribe.
Hay más de mil formas de explotar esto. Decidimos convertir esta primitiva de escritura en una desreferencia de puntero nulo. Sobrescribimos la variable have_canfork_callback en la sección .BSS del kernel. Establecer esta variable a cualquier valor distinto de 0 (verdadero) hará que un callback no configurado (nulo) sea "llamado en una nueva tarea antes de que el proceso sea expuesto".

Gracias a Chris Salls y @kees_cook por compartir el CVE.

Primer exploit del kernel de Linux "del mundo real" de
@XeR_0x2A y
@chaign_c de
HexpressoTeam.

[email protected]
[email protected]

2017-10-22

Descargar herramienta