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
PPPoEject — PoC de escalada local de privilegios en el kernel de Linux para CVE-2026-68121, encadenando PPPoE, FUSE e IP6GRE para corromper la memoria del kernel y obtener root. | Kitploit
Herramientas/GitHubGitHub/manizada/pppoeject
Escalada de PrivilegiosForensia de MemoriaAnálisis de VulnerabilidadesExplotaciónPapers e InvestigaciónDesarrollo de PayloadsExplotación de Binarios
GitHubmanizada/pppoeject

PPPoEject

PoC de escalada local de privilegios en el kernel de Linux para CVE-2026-68121, encadenando PPPoE, FUSE e IP6GRE para corromper la memoria del kernel y obtener root.

Ver Repositorio
hace 13h 13mAú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

PPPoEject (CVE-2026-68121)

Writeup

[!WARNING] El PoC se proporciona únicamente para ayudar a defensores, mantenedores y equipos de seguridad autorizados a validar parches, mitigaciones, detecciones y exposición en sistemas que poseen o están explícitamente autorizados a probar.

Usted es el único responsable de garantizar que su uso de este material sea lícito, autorizado, controlado y se realice en un entorno de prueba aislado.

[!WARNING] Este PoC es destructivo. Corrompe deliberadamente memoria del kernel en vivo. Una sobrescritura mal ubicada puede corromper memoria del kernel no relacionada y colgar/bloquear la máquina.

Ejecútelo solo en una VM desechable/host desechable.

El PoC:

  1. Compila helpers embebidos y localiza la base de texto del kernel aleatorizada con un canal lateral de temporización x86-64 basado en prefetch/RDTSCP
  2. construye un portador AF_PACKET TX-ring que contiene objetos falsos struct file y prepara una fdtable poblada hacia la asignación objetivo
  3. detiene una copia de payload PPPoE en una página FUSE controlada por el atacante, luego añade IP6GRE a un dispositivo team vacío en Fedora o a través de una cadena bonding en Ubuntu
  4. hace que dev_hard_header() reasigne la cabeza del skb, luego usa el puntero obsoleto de la cabecera PPPoE para redirigir una entrada de la fdtable al archivo falso, y
  5. cierra el descriptor redirigido, ejecuta el callback controlado, instala credenciales de root y abre /bin/sh -p.

El PoC asume y apunta a x86-64 para mantener las cosas simples. En teoría, el bug no debería ser específico de arquitectura, pero tendrías que portar mucho (desde filtrar la base del kernel hasta el resto de la cadena).

Requisitos

Enumerando exhaustivamente por completitud:

  • Al menos 4 CPUs disponibles (importante para que los workers del emisor PPPoE, reclamador/portador de fdtable, bloqueador FUSE y orquestador de disparo/liberación realicen trabajo crítico en tiempo con menos interferencia del planificador)
  • Fedora 44 con 6.19.10-300.fc44.x86_64, o Ubuntu 24.04 con 6.8.0-124-generic o 6.8.0-136-generic (puede intentar eliminar estas comprobaciones, pero otras distros/versiones de kernel pueden requerir personalización/preparación por objetivo)
  • Una cuenta ordinaria no root con una entrada en passwd y un directorio home que le pertenezca
  • Una CPU Intel o AMD x86-64 con RDTSCP, KPTI/PTI inactivo, y al menos cuatro CPUs lógicas en la máscara de afinidad del proceso
  • Creación de namespaces de usuario/red sin privilegios con CAP_NET_ADMIN y CAP_NET_RAW dentro de ese namespace
  • Acceso de lectura/escritura a /dev/fuse, más soporte de FUSE, PPPoE, IP6GRE, AF_PACKET/TX-ring, y team en Fedora o soporte de bonding en Ubuntu
  • membarrier privado expedito para diseños seleccionados de bajo orden
  • Dispositivos Dummy y 802.1Q VLAN para diseños seleccionados de alto orden
  • Un límite duro de RLIMIT_NOFILE suficientemente grande para la geometría de portador seleccionada, verificado en tiempo de ejecución y que potencialmente puede requerir hasta 8,192 descriptores

Probado solo con 4GB de RAM y una variedad de recuentos de 4+ CPUs. Otras combinaciones de CPU/memoria pueden necesitar más preparación y/o pueden redirigir la escritura a memoria no relacionada.

Ejecútelo como un usuario sin privilegios con una entrada en passwd. La conversión de Ubuntu puede tardar un rato (por ejemplo, 300+ intentos).

Uso

root@kitploit:~
python3 pppoeject_root_repro.py
Descargar herramienta
  • Cosas varias de espacio de usuario (que las distros probadas en alcance deberían tener mayormente por defecto): Python 3.10+, gcc con libc y cabeceras de desarrollo de Linux UAPI, taskset, unshare, ip, true, y /bin/sh, más aa-exec y el perfil trinity cargado en Ubuntu si se deniega unshare -Urn directo