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
CTF-CVE-2022-0847 — Desafío CTF que implementa el exploit CVE-2022-0847 (Dirty Pipe) para sobrescribir archivos de solo lectura. Incluye scripts de configuración, pistas y verificación para la práctica de explotación del kernel. | Kitploit
Herramientas/GitHubGitHub/justinye377/ctf-cve-2022-0847
Escalada de PrivilegiosExplotaciónCTFAprendizaje y EducaciónExplotación de BinariosLabs y Práctica
GitHubjustinye377/ctf-cve-2022-0847

CTF-CVE-2022-0847

Desafío CTF que implementa el exploit CVE-2022-0847 (Dirty Pipe) para sobrescribir archivos de solo lectura. Incluye scripts de configuración, pistas y verificación para la práctica de explotación del kernel.

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
1hace 1 añoAún no revisado

Despliegue de Dirty Pipe

Para este desafío, quieres sobrescribir el archivo de solo lectura "cat.txt" usando el exploit CVE-2022-0847 Hay muchas formas de hacerlo usando el exploit

Dependencias

  • Kernel de Linux versión 5.8 o posterior (vulnerable)
  • gcc (GNU Compiler Collection) para compilar el código del exploit

Configuración inicial

  1. Configurar un entorno vulnerable:
  • Para usuarios de Linux:
    • Usa una distribución de Linux con versión de kernel 5.8 o superior, pero inferior a las versiones parcheadas:
    • Las versiones parcheadas incluyen 5.16.11, 5.15.25 y 5.10.102.
    • Verifica la versión del kernel en tu sistema ejecutando: uname -r
    • Si tu kernel ya está parcheado, es posible que necesites degradar o usar una instalación de Linux diferente para cumplir con los criterios vulnerables.
  • Para usuarios de Windows:
    • Instalar una máquina virtual:
      • Descarga e instala una máquina virtual como Oracle VM VirtualBox o VMware.
    • Descargar una distribución de Linux vulnerable:
      • Visita los Archivos de Kali Linux para descargar una versión anterior de Kali Linux.
      • Las versiones sugeridas incluyen cualquier lanzamiento con un kernel 5.8 - 5.15 (por ejemplo, Kali 2021.1).
    • Alternativamente, otras distribuciones de Linux con versiones de kernel compatibles funcionarán (por ejemplo, versiones anteriores de Ubuntu o Debian).
  • Configurar la MV:
    • Crea una nueva máquina virtual en VirtualBox:
    • Asigna al menos 2 GB de RAM y 10 GB de espacio en disco.
    • Usa el archivo ISO descargado para instalar la distribución de Linux.
    • Después de la instalación, confirma la versión del kernel ejecutando: uname -r
  • Instalar herramientas necesarias:
    • Después de configurar el entorno, asegúrate de que las siguientes herramientas estén instaladas:
      • gcc: Necesario para compilar el código del exploit.
      • make: Para compilar proyectos si es necesario.
      • Actualiza tu gestor de paquetes e instala las herramientas: sudo apt update sudo apt install gcc make -y

Iniciando el desafío

  1. Iniciar: ¡Asegúrate de verificar la versión del kernel! Usando este enlace de github(https://github.com/basharkey/CVE-2022-0847-dirty-pipe-checker.git)

Verifica que el archivo cat.txt es de solo lectura

Las limitaciones son: el atacante debe tener permisos de lectura (porque necesita splice() una página en un pipe) el desplazamiento no debe estar en un límite de página (porque al menos un byte de esa página debe haber sido empalmado en el pipe) la escritura no puede cruzar un límite de página (porque se crearía un nuevo búfer anónimo para el resto) el archivo no puede redimensionarse (porque el pipe tiene su propia gestión de llenado de páginas y no le dice al caché de páginas cuántos datos se han añadido)

  1. Implementar el exploit:
  • Crear un pipe.
  • Llenar el pipe con datos arbitrarios (para establecer el flag PIPE_BUF_FLAG_CAN_MERGE en todas las entradas del anillo).
  • Vaciar el pipe (dejando el flag establecido en todas las instancias de struct pipe_buffer en el anillo struct pipe_inode_info).
  • Empalmar datos del archivo destino (abierto con O_RDONLY) en el pipe justo antes del desplazamiento objetivo.
  • Escribir datos arbitrarios en el pipe; estos datos sobrescribirán la página del archivo en caché en lugar de crear un nuevo struct pipe_buffer anónimo porque PIPE_BUF_FLAG_CAN_MERGE está establecido.
  • Sobrescribir el cat.txt, cambiar I'm a cat 1444 a I'm a dog 2025
  • Usar check_cat.sh para comprobar si funciona o no chmod +x check_cat.sh ./check_cat.sh

Regeneración del desafío

Usa lo siguiente chmod +x cat_generate.sh ./cat_generate.sh

Publicación del desafío

Las pistas están en hints.txt

Descargar herramienta