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
dirtypipe — Exploit de DirtyPipe (CVE-2022-0847) escrito en Rust | Kitploit
Herramientas/GitHubGitHub/morgenm/dirtypipe
Escalada de PrivilegiosExplotaciónShellcodeAprendizaje y EducaciónDesarrollo de PayloadsExplotación de Binarios
GitHubmorgenm/dirtypipe

dirtypipe

Exploit de DirtyPipe (CVE-2022-0847) escrito en Rust

Ver Repositorio
1hace 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
Sitio web

DESCARGO DE RESPONSABILIDAD

Este código es solo con fines educativos y de investigación.

No lo utilices en sistemas que no poseas o para los que no tengas permiso de prueba.

El autor no se hace responsable de ningún uso indebido, daño o consecuencia legal derivada del uso de este código.

DirtyPipe (CVE-2022-0847)

Consulta el writeup de este exploit en mi blog. Esta es una implementación del exploit DirtyPipe (CVE-2022-0847) que escribí en Rust basándome en el writeup de Max Kellermann. El programa te permite sobrescribir archivos específicos o sobrescribir un binario SUID para escalar privilegios.

Características

  • Verificar si la versión del kernel es vulnerable
  • Sobrescribir cualquier archivo con datos provenientes de un archivo de entrada especificado
  • Sobrescribir un binario SUID (por defecto passwd) para obtener root
  • Hacer copia de seguridad de los archivos objetivo en /tmp antes de la explotación

Uso

Sobrescribir un archivo

Primero, crea un archivo de entrada. Los datos dentro de este archivo se usarán para sobrescribir el objetivo. Luego, simplemente ejecuta lo siguiente:

root@kitploit:~
./dirtypipe_exploit -m overwrite -i input.txt -o target_file -b offset

Donde offset es el desplazamiento en bytes desde el cual comenzar a escribir en el archivo. El offset no debe estar en un límite de página y la escritura no puede cruzar un límite de página, debido a la naturaleza de la vulnerabilidad.

SUID para Escalada de Privilegios

El modo SUID reemplazará un binario SUID específico con un payload ELF dado. El ELF suid se proporciona en la release de este repositorio y será utilizado por el exploit a menos que se especifique lo contrario en las opciones. Adicionalmente, puedes generar tu propio payload, o modificar el payload usando el script gen_suid.py de pwntools y el archivo loader.asm. Esta opción se discutirá más abajo. El exploit establece el objetivo como /usr/bin/passwd por defecto.

Ejecuta lo siguiente para reemplazar /usr/bin/passwd con el payload proporcionado (genera un shell como root):

root@kitploit:~
./dirtypipe_exploit -m suid

Luego ejecuta /usr/bin/passwd para obtener un shell de root.

Para generar tu propio payload, sigue estos pasos:

  1. Ejecuta el script gen_suid.py, que usa pwntools para generar un payload (shellcode.bin) que inicia un shell de root. Modifícalo según consideres.
  2. Crea el payload binario ELF ejecutando nasm -f bin -o [NOMBRE_DEL_PAYLOAD] loader.asm. Esto convertirá el archivo shellcode.bin en un ejecutable.
  3. Ejecuta ./dirtypipe_exploit -m suid -i [NOMBRE_DEL_PAYLOAD] -o [ARCHIVO_OBJETIVO].
  4. Ejecuta el objetivo para obtener root.

Agradecimientos al autor de STALKR'S BLOG por la cabecera ELF Tiny de 64 bits (aquí).

Descargar herramienta