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
copyfail-rs — Exploit en Rust para CVE-2026-31431, una primitiva de escritura en la caché de páginas del kernel de Linux mediante AF_ALG splice, que permite la escalada de privilegios a root a través de la modificación de /etc/passwd o la ejecución de shellcode. | Kitploit
Herramientas/GitHubGitHub/boos4721/copyfail-rs
Escalada de PrivilegiosFrameworks de ExploitsAnálisis de VulnerabilidadesExplotaciónAprendizaje y EducaciónDesarrollo de PayloadsExplotación de Binarios
GitHubboos4721/copyfail-rs

copyfail-rs

Exploit en Rust para CVE-2026-31431, una primitiva de escritura en la caché de páginas del kernel de Linux mediante AF_ALG splice, que permite la escalada de privilegios a root a través de la modificación de /etc/passwd o la ejecución de shellcode.

Ver Repositorio
35hace 4 mesesAú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

copyfail-rs

Implementación en Rust de CVE-2026-31431 (Copy Fail) — una primitiva de escritura en la caché de páginas del kernel de Linux mediante AF_ALG splice.

中文文档 / Chinese README

CVE-2026-31431

La implementación de algif_aead del kernel de Linux permite a un usuario sin privilegios escribir datos arbitrarios en la caché de páginas de cualquier archivo legible mediante la llamada al sistema splice(). El algoritmo AEAD authencesn escribe seqno_lo (bytes AAD 4-7 controlados por el usuario) en el scatterlist de destino en el desplazamiento assoclen + cryptlen, lo que — al encadenarse a páginas de la caché de páginas mediante splice() — resulta en una escritura arbitraria de 4 bytes. El contenido en disco permanece sin cambios, pero todos los lectores posteriores ven datos corruptos en la caché de páginas.

Kernels afectados: Linux < 6.12.23, < 6.13.11, < 6.14.2

Características

Modos de escalada

1. --uid — Cambia el campo UID del usuario actual a 0000 en /etc/passwd mediante la escritura en la caché de páginas. Después del parcheo, su <nombre_de_usuario> con tu propia contraseña abre un shell root. La herramienta intenta limpiar la caché de páginas después de la autenticación y antes de iniciar el shell, lo que reduce la posibilidad de que SSH siga viendo la cuenta como UID 0. No se requiere modificación de la contraseña de root. Funciona para cualquier UID de 4 dígitos (1000-9999).

2. --escalate — Parchea la línea de root en /etc/passwd mediante la escritura en la caché de páginas: root:x:0:0:root:... → root::0:0:root :.... El campo de comentario se rellena con espacios para mantener la longitud de línea idéntica. Después del parcheo, su root funciona sin contraseña.

3. --set-password — Primero escala (elimina la contraseña de root), luego lee la nueva contraseña desde stdin y la aplica con chpasswd.

4. Modo predeterminado (sin flags) — Sobrescribe la caché de páginas del binario su con payloads de shellcode específicos de la arquitectura (x86_64, x86, aarch64), luego ejecuta su para obtener un shell root.

Compilación

root@kitploit:~
cargo build
cargo build --release
cargo test
cargo clippy

Uso

root@kitploit:~
./copyfail-rs --check
./copyfail-rs --uid
./copyfail-rs --escalate
printf '%s\n' 'mipassword' | ./copyfail-rs --set-password
./copyfail-rs --backup /tmp/su.bak
./copyfail-rs --exec /bin/bash

Recuperación

Las modificaciones en la caché de páginas son volátiles — limpiar la caché restaura el contenido original en disco:

root@kitploit:~
echo 3 > /proc/sys/vm/drop_caches

Verificado en

Documentación

  • Inicio rápido
  • Principio de la vulnerabilidad
  • Demostración
  • Defensa y mitigación

Licencia

Este proyecto se proporciona únicamente con fines de pruebas de seguridad autorizadas y educativos.

Descargar herramienta
FlagDescripción
--checkVerificación previa segura: inspecciona el objetivo su resuelto y sale
--escalateParchea /etc/passwd en la caché de páginas para eliminar la contraseña de root, luego ejecuta su root
--set-passwordEscala primero, luego lee una nueva contraseña de root desde stdin y la aplica mediante chpasswd
--uidCambia el UID del usuario actual a 0 en /etc/passwd, luego ejecuta su <nombre_de_usuario>
--backup <ruta>Realiza una copia de seguridad del binario su antes de sobrescribirlo
--exec <ruta>Ejecuta un comando específico como root después de la sobrescritura
SOKernelResultado
Ubuntu 22.04.2 LTS6.8.0-87-generic--escalate correcto, --set-password correcto, --uid correcto
Ubuntu 22.04.2 LTS6.8.0-107-generic--escalate correcto, --uid correcto
Ubuntu 25.106.17.0-5-genericsplice EINVAL, kernel parcheado
Ubuntu 25.106.17.0-8-generic--uid correcto
Alpine Linux edge6.19.12El exploit se ejecuta, escritura en caché de páginas bloqueada por el parche del kernel