Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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 — Copy Fail - CVE-2026-31431 - Implementação em C fortalecida para operações de red team e testes de penetração autorizados. ⚠️ Aviso Legal: Esta ferramenta destina-se exclusivamente a pesquisas de segurança autorizadas, testes de penetração autorizados e análises defensivas. Use em sistemas próprios ou para os quais você tenha permissão explícita por escrito para testar. O acesso não autorizado a sistemas de computador é ilegal. | Kitploit
Ferramentas/GitLabGitLab/toxy4ny/copy-fail
Escalada de PrivilégiosExploraçãoPós-ExploraçãoComando e ControleRed TeamingDesenvolvimento de PayloadsExploração de Binários
GitLabtoxy4ny/copy-fail

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 →

Sobre

Copy Fail - CVE-2026-31431 - Implementação em C fortalecida para operações de red team e testes de penetração autorizados. ⚠️ Aviso Legal: Esta ferramenta destina-se exclusivamente a pesquisas de segurança autorizadas, testes de penetração autorizados e análises defensivas. Use em sistemas próprios ou para os quais você tenha permissão explícita por escrito para testar. O acesso não autorizado a sistemas de computador é ilegal.

COPY-FAIL

Ver RepositórioSite
110há 2 mesesAinda não revisado
Compartilhar

Copy Fail -- CVE-2026-31431

Implementação C endurecida para operações de redteam e testes de penetração autorizados.

⚠️ Aviso Legal: Esta ferramenta destina-se exclusivamente a pesquisas de segurança autorizadas, testes de penetração autorizados e análises defensivas. Utilize apenas em sistemas que você possui ou para os quais tenha permissão explícita por escrito para testar. O acesso não autorizado a sistemas de computador é ilegal.

🚀 Desenvolvimento primário movido para GitLab.
Este repositório é mantido ativamente aqui. Para problemas e contribuições, use o GitLab.


Índice

  • Visão Geral
  • Pesquisa Original
  • Nossas Melhorias
  • Arquitetura
  • Compilação
  • Uso
  • Módulos
  • Segurança Operacional
  • Detecção e Mitigação
  • Créditos
  • Licença

Visão Geral

Este projeto é uma porta C endurecida e pronta para produção do exploit de escalonamento de privilégio local CVE-2026-31431 ("Copy Fail"), originalmente divulgado por Theori e Xint em 29 de abril de 2026.

O proof-of-concept original foi escrito em Python e projetado para demonstração de pesquisa. Esta implementação o transforma em um kit de ferramentas de nível redteam com:

  • Zero artefatos em disco (execução sem arquivos baseada em memfd)
  • Descoberta automática de alvos (enumeração de binários setuid com consciência MAC)
  • Anti-forense (remoção de cache, restauração de timestamps, autodestruição)
  • Controle do operador (execução acionada por sinal com timeouts configuráveis)
  • Compilações estáticas multiplataforma (x86_64, ARM64, RISC-V via musl/zig)

Pesquisa Original

CVE-2026-31431: Copy Fail

AtributoValor
Data de Divulgação29 de abril de 2026
PesquisadoresTheori (Jinoh Kang, Yonghwi Jin, Seunghyun Lee), Xint
Artigohttps://copy.fail/
PoC Originaltheori-io/copy-fail-CVE-2026-31431 (Python)
Porta C (Base)tgies/copy-fail-c por Tony Gies
Kernels AfetadosLinux 4.14 -- 6.14 (antes do commit de correção a664bf3d603d)
SeveridadeCVSS 7,8 (Alta) -- Escalonamento de Privilégio Local

Mecanismo da Vulnerabilidade

A vulnerabilidade reside no subsistema criptográfico AF_ALG do kernel Linux. O template AEAD authencesn implementa uma otimização in-place para descriptografia: quando o texto cifrado é fornecido via splice() a partir do cache de páginas de um arquivo, o kernel reutiliza a mesma página como fonte e destino.

O fluxo de ataque:

  1. Abrir um binário setuid (ex.: /usr/bin/su) como somente leitura
  2. Configurar uma operação AEAD authencesn(hmac(sha256),cbc(aes)) via AF_ALG
  3. Fornecer texto cifrado via splice() a partir do cache de páginas do arquivo alvo
  4. A operação de descriptografia (com falha) sobrescreve 4 bytes da página do cache de páginas antes que a autenticação a rejeite
  5. Repetir para cada janela de 4 bytes da carga útil
  6. Executar execve() no alvo -- o kernel carrega as páginas mutadas do cache, concede credenciais setuid-root
  7. A carga útil pivota para um shell root completo

Insight chave: O inode no disco nunca é modificado. Apenas o cache de páginas na memória é mutado, tornando a detecção forense significativamente mais difícil do que exploits tradicionais de sobrescrita de arquivos.


Nossas Melhorias

Este projeto estende a pesquisa original com endurecimento orientado a redteam em nove módulos.

1. Primitiva de Exploit Endurecida (patch_chunk.c)

CaracterísticaOriginalNossa Implementação
Gerenciamento de socketsSocket novo por chunkReuso de socket (~60% menos syscalls)
VerificaçãoNenhumammap + memcmp com repetição automática (3 tentativas)
Escrita paralelaSequencial apenasParalela baseada em fork (até 16 processos)
Códigos de erroSucesso/falha binárioGranulares: 0=verificado, 1=kernel corrigido, -1=fatal
Alocações de heapmalloc no caminho críticoApenas pilha (sem jitter de alocação)

2. Descoberta Automática de Alvos (target_discovery.c)

  • Varredura em três fases: alvos prioritários → diretórios padrão → varredura profunda
  • Pontuação com consciência MAC: penaliza binários com perfis AppArmor/SELinux
  • 18 alvos prioritários: su, sudo, passwd, pkexec, mount, ping, etc.
  • Cadeia de fallback: se o alvo primário falhar, seleciona automaticamente o próximo melhor candidato
  • Consciência de Snap: ignora /snap (setuid não tradicional)

3. Suite Anti-Forense (anti_forensics.c)

TécnicaPropósito
posix_fadvise(POSIX_FADV_DONTNEED)Evicção do cache de páginas por arquivo
echo 3 > /proc/sys/vm/drop_cachesLimpeza global de cache (pós-root)
utimensat() timestompRestaura atime/mtime original
AutodestruiçãoSobrescreve o binário dropper com zeros antes do exec
Limpeza de memóriavolatile zerando buffers sensíveis

4. Execução Sem Arquivos (memfd_exec.c)

  • memfd_create + fexecve: executar sem caminho no sistema de arquivos
  • Camuflagem: memfd nomeado como kworker, anon_inode, eventfd (se mistura em /proc/$pid/fd/)
  • Fork-e-esqueça: duplo fork para criar processo órfão (PPID=1)
  • Descriptografia em memória: XOR e RC4 descriptografa-depois-executa (carga útil nunca em texto simples no disco)

5. Entrega de Carga Útil Estágio-1 (stage1.c)

CanalFurtividadeVelocidadePrioridade de Fallback
EmbutidoMáximaInstantâneoÚltimo (airgap)
HTTP diretoMédio<1sPrimeiro
System curl/wgetBaixo1-3sSegundo (suporte HTTPS)
DNS TXTAltoLentoTerceiro (bypass de firewall)

6. Implante C2 Estágio-2 (stage2_template.c)

  • Loop de reconexão resiliente com backoff exponencial
  • Três distribuições: uniforme, triangular, jitter exponencial
  • Controle por sinal: SIGUSR1 (acionar), SIGUSR2 (status), SIGTERM (desligar)
  • Sinalização DNS: verificação de saúde C2 furtiva antes da conexão TCP
  • Mascaramento de processo: [kworker/N:0] no ps/top

7. Ocultação de Processo (proc_hide.c)

  • Sobrescrita de argv[0]: substituição in-place de /proc/$pid/cmdline
  • prctl(PR_SET_NAME): nomes estilo thread do kernel (limite de 16 bytes)
  • Sanitização de ambiente: limpeza seletiva de SSH_*, AWS_*, TOKEN*, etc.
  • Desvinculação do pai: setsid() + setpgid() para independência do terminal

8. Controle de Acionamento por Sinal (signal_trigger.c)

ModoComportamentoCaso de Uso
trigger_oneshot()Dormir → acionar → executar → sairBate-e-corre
trigger_daemon()Dormir → acionar → executar → loopImplante persistente
trigger_auto()Dormir com fallback de timeoutOperações não supervisionadas

Espera com zero CPU: sigsuspend() em vez de loops de polling.

9. Jitter de Sono (sleep_jitter.c)

  • Três backends RNG: getrandom(2), /dev/urandom, fallback rdtsc
  • Amostragem por rejeição: elimina viés de módulo na distribuição uniforme
  • Compensação de deriva: sleep_scheduled() mantém intervalo médio apesar do jitter
  • Detecção de sandbox: check_sandbox_acceleration() detecta sleep() corrigida

Arquitetura

Baixar ferramenta