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 — Exploit em Rust para CVE-2026-31431, uma primitiva de escrita no page-cache do kernel Linux via splice AF_ALG, permitindo escalonamento de privilégios para root por meio de patch em /etc/passwd ou execução de shellcode. | Kitploit
Ferramentas/GitHubGitHub/boos4721/copyfail-rs
Escalada de PrivilégiosFrameworks de ExploraçãoAnálise de VulnerabilidadesExploraçãoAprendizado e EducaçãoDesenvolvimento de PayloadsExploração de Binários
GitHubboos4721/copyfail-rs

copyfail-rs

Exploit em Rust para CVE-2026-31431, uma primitiva de escrita no page-cache do kernel Linux via splice AF_ALG, permitindo escalonamento de privilégios para root por meio de patch em /etc/passwd ou execução de shellcode.

Ver Repositório
35há 4 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

Implementação em Rust do CVE-2026-31431 (Copy Fail) — uma primitiva de escrita no page cache do kernel Linux via splice do AF_ALG.

中文文档 / README em Chinês

CVE-2026-31431

A implementação de algif_aead do kernel Linux permite que um usuário sem privilégios escreva dados arbitrários no page cache de qualquer arquivo legível por meio da syscall splice(). O algoritmo AEAD authencesn escreve seqno_lo (bytes 4-7 do AAD controlados pelo usuário) no scatterlist de destino no offset assoclen + cryptlen, o que — quando encadeado a páginas do page cache via splice() — resulta em uma escrita arbitrária de 4 bytes. O conteúdo no disco permanece inalterado, mas todos os leitores subsequentes veem dados corrompidos no page cache.

Kernels afetados: Linux < 6.12.23, < 6.13.11, < 6.14.2

Recursos

Modos de Escalação

1. --uid — Altera o campo UID do usuário atual para 0000 em /etc/passwd via escrita no page cache. Após a modificação, su <nome_de_usuário> com sua própria senha abre um shell root. A ferramenta tenta limpar o page cache após a autenticação e antes de iniciar o shell, o que reduz a chance de o SSH continuar vendo a conta como UID 0. Nenhuma modificação de senha do root é necessária. Funciona para qualquer UID de 4 dígitos (1000-9999).

2. --escalate — Modifica a linha do root em /etc/passwd via escrita no page cache: root:x:0:0:root:... → root::0:0:root :.... O campo de comentário é preenchido com espaços para manter o comprimento da linha idêntico. Após a modificação, su root funciona sem senha.

3. --set-password — Primeiro escala privilégios (remove a senha do root), depois lê a nova senha do stdin e a aplica com chpasswd.

4. Modo padrão (sem flags) — Sobrescreve o page cache do binário su com payloads de shellcode específicos da arquitetura (x86_64, x86, aarch64) e, em seguida, executa su para obter um shell root.

Compilação

root@kitploit:~
cargo build
cargo build --release
cargo test
cargo clippy

Uso

root@kitploit:~
./copyfail-rs --check
./copyfail-rs --uid
./copyfail-rs --escalate
printf '%s\n' 'minhasenha' | ./copyfail-rs --set-password
./copyfail-rs --backup /tmp/su.bak
./copyfail-rs --exec /bin/bash

Recuperação

As modificações no page cache são voláteis — limpar o cache restaura o conteúdo original do disco:

root@kitploit:~
echo 3 > /proc/sys/vm/drop_caches

Testado Em

Documentação

  • Início Rápido
  • Princípio da Vulnerabilidade
  • Demonstração
  • Defesa e Mitigação

Licença

Este projeto é fornecido apenas para testes de segurança autorizados e fins educacionais.

Baixar ferramenta
FlagDescrição
--checkPré-verificação segura: inspeciona o alvo su resolvido e sai
--escalateModifica /etc/passwd no page cache para remover a senha do root e, em seguida, executa su root
--set-passwordEscala privilégios primeiro, depois lê uma nova senha de root do stdin e a aplica via chpasswd
--uidAltera o UID do usuário atual para 0 em /etc/passwd e, em seguida, executa su <nome_de_usuário>
--backup <caminho>Faz backup do binário su antes de sobrescrevê-lo
--exec <caminho>Executa um comando específico como root após a sobrescrita
SOKernelResultado
Ubuntu 22.04.2 LTS6.8.0-87-generic--escalate aprovado, --set-password aprovado, --uid aprovado
Ubuntu 22.04.2 LTS6.8.0-107-generic--escalate aprovado, --uid aprovado
Ubuntu 25.106.17.0-5-genericsplice EINVAL, kernel corrigido
Ubuntu 25.106.17.0-8-generic--uid aprovado
Alpine Linux edge6.19.12Exploit executa, escrita no page cache bloqueada pela correção do kernel