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
copy-fail-zig — Implementación en Zig del LPE de Linux Copy Fail (CVE-2026-31431) que proporciona un binario independiente para explotar la vulnerabilidad con fines de investigación de seguridad y detección defensiva, incluyendo inyección de shellcode y comprobaciones de vulnerabilidad del sistema. | Kitploit
Herramientas/GitHubGitHub/emmmmllll/copy-fail-zig
Escalada de PrivilegiosFrameworks de ExploitsAnálisis de VulnerabilidadesExplotaciónExplotación de Binarios
GitHubemmmmllll/copy-fail-zig

copy-fail-zig

Ver Repositorio
1hace 3 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 →

Acerca de

Implementación en Zig del LPE de Linux Copy Fail (CVE-2026-31431) que proporciona un binario independiente para explotar la vulnerabilidad con fines de investigación de seguridad y detección defensiva, incluyendo inyección de shellcode y comprobaciones de vulnerabilidad del sistema.

Compartir

Implementación en Zig de Copy Fail (CVE-2026-31431)

Implementación en Zig de la prueba de concepto de 732 bytes para el LPE de Linux Copy Fail (CVE-2026-31431), divulgado por Theori / Xint el 29 de abril de 2026. El análisis técnico se puede encontrar en copy.fail.

Esta implementación no tiene dependencias en tiempo de ejecución y se puede ejecutar como un binario independiente.

Compilación

Para compilar el exploit se requiere la versión 0.16.0 o superior de zig, que se puede instalar desde ziglang.org. Para compilar el exploit, ejecute el siguiente comando en la terminal:

root@kitploit:~
zig build

Opcionalmente, se puede compilar de forma cruzada para un objetivo diferente p. ej.

root@kitploit:~
zig build -Dcpu=baseline -Dtarget=aarch64-linux-musl -Doptimize=ReleaseSmall

o con cargas útiles sin comprimir

root@kitploit:~
zig build -Dcompress=false

Uso

ejecute el binario compilado o use zig para ejecutarlo

root@kitploit:~
zig-out/bin/copyfail
O BIEN
zig build run
root@kitploit:~
$ zig-out/bin/copyfail
Uso:
  run     <ruta> <datos> [desplazamiento] [-- args...] - Escribe datos en el ejecutable en el desplazamiento dado (por defecto 0) y lo ejecuta
  sudo    <ruta_suid>   [comando...]          - Ejecuta un comando como root escribiendo shellcode en un binario suid.
                                                (el primer argumento del comando debe ser la ruta completa al programa a ejecutar)
  modify  <ruta> <datos> [desplazamiento]              - Escribe datos en el archivo en el desplazamiento dado (por defecto 0)
  reset   <ruta>                              - Restablece el archivo a su estado original
  help                                        - Muestra este mensaje

El ejecutable se puede ejecutar con diferentes comandos:

run primero escribe los datos proporcionados en el desplazamiento dado (por defecto 0) en el ejecutable en la ruta proporcionada y luego lo ejecuta. Una vez finalizada la ejecución, el archivo se restablece a su estado original mediante posix_fadvise.

Ejemplo:

root@kitploit:~
copyfail run /ruta/al/ejecutable $(cat shellcode_bin) -- /bin/sh

sudo escribe el shellcode incluido en un binario suid y lo ejecuta para ejecutar un comando como root. El código fuente del shellcode se puede encontrar en payloads/sudo.zig. El primer argumento del comando debe ser la ruta completa al programa, ya que el shellcode no busca el programa a ejecutar. Una vez finalizada la ejecución, el archivo se restablece como en el comando run.

Ejemplo:

root@kitploit:~
$ copyfail sudo /usr/bin/su /usr/bin/whoami
root

modify escribe los datos proporcionados en el desplazamiento dado (por defecto 0) en el archivo en la ruta proporcionada, sin ejecutarlo. Después de la modificación, el archivo NO se restablece. Use el comando reset para restablecerlo.

Ejemplo:

root@kitploit:~
copyfail modify /ruta/al/archivo "Mi nuevo contenido" 1337

reset restablece el archivo en la ruta proporcionada a su estado original mediante posix_fadvise. Esto descarta la página en caché y leerá el contenido del disco cuando se acceda de nuevo.

Ejemplo:

root@kitploit:~
copyfail reset /ruta/al/archivo

is_vulnerable comprueba si el sistema es vulnerable creando un archivo temporal, escribiendo datos de prueba en él y leyéndolos de nuevo para ver si los datos se corrompieron.

Ejemplo:

root@kitploit:~
$ copyfail is_vulnerable
advertencia: El sistema es vulnerable
O BIEN
información: El sistema no es vulnerable

help imprime el mensaje de uso.

Kernels afectados (de copy-fail-c)

root@kitploit:~
límite inferior:    torvalds/linux 72548b093ee3   agosto de 2017, v4.14
                                        (reestructuración de iov_iter de AF_ALG que
                                         introdujo la primitiva de escritura de páginas
                                         de archivo mediante splice en la lista
                                         dispersa de AEAD)

límite superior:  torvalds/linux a664bf3d603d   abril de 2026, mainline
                                        (revierte la optimización in-place de algif_aead
                                         de 2017; separa las listas dispersas de origen
                                         y destino para que las páginas de caché de página
                                         ya no puedan ser un destino criptográfico
                                         escribible)

En medio: todos los kernels de las principales distribuciones que no aplicaron el backport de la corrección. Ubuntu, RHEL, SUSE, Amazon Linux y Debian fueron todos confirmados como vulnerables en sus kernels de imagen de nube estándar en el momento de la divulgación. Los backports a nivel de distribución comenzaron a implementarse alrededor del 2026-04-29 junto con la divulgación pública. Para verificar si un kernel objetivo está dentro de la ventana, compruebe si a664bf3d603d (o su backport específico de la distribución) está presente en el registro git del kernel o en el registro de cambios de la distribución.

Licencia y créditos

Descubrimiento y divulgación original de CVE-2026-31431: Theori / Xint. Análisis técnico público en copy.fail.

Esta implementación en zig: Emmmmllll [email protected]

El compilador zig y la biblioteca estándar: Zig Software Foundation bajo términos MIT https://codeberg.org/ziglang/zig.

El exploit y la carga útil se publican con fines de investigación de seguridad y detección defensiva. El uso contra sistemas que no posee o para los que no tiene autorización explícita para probar es problema suyo, no del autor.

Descargar herramienta