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
CVE-2026-31431 — PoC em Rust para uma vulnerabilidade de escalonamento local de privilégios no kernel Linux, explorando a Crypto API e o splice para sobrescrever o cache de páginas e modificar o UID em /etc/passwd para obter acesso root. | Kitploit
Ferramentas/GitHubGitHub/g01d3nw01f/cve-2026-31431
Escalada de PrivilégiosFrameworks de ExploraçãoExploraçãoExploração de Binários
GitHubg01d3nw01f/cve-2026-31431

CVE-2026-31431

PoC em Rust para uma vulnerabilidade de escalonamento local de privilégios no kernel Linux, explorando a Crypto API e o splice para sobrescrever o cache de páginas e modificar o UID em /etc/passwd para obter acesso root.

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

CVE-2026-31431 LPE PoC (Implementação em Rust)

Este projeto é uma Prova de Conceito (PoC) implementada em Rust para uma vulnerabilidade de escalonamento local de privilégios (LPE) (simulando CVE-2026-31431). Ele demonstra como manipular o cache de páginas do kernel Linux explorando a Crypto API.[cite: 1, 2]

[!CAUTION] Este código é apenas para fins educacionais e de pesquisa ética em segurança. O uso não autorizado desta ferramenta contra sistemas sem consentimento prévio explícito é ilegal. O autor não assume nenhuma responsabilidade por uso indevido ou danos causados por este programa.

Visão Geral

A ferramenta explora uma vulnerabilidade relacionada à interface AF_ALG (interface criptográfica do kernel) e à chamada de sistema splice.[cite: 2] Ela permite que um usuário sem privilégios sobrescreva 4 bytes do cache de páginas de um arquivo somente leitura—especificamente visando o campo UID em /etc/passwd para alterá-lo temporariamente para 0000 (root).[cite: 1, 2]

Como Funciona

  • Identificação do Alvo: O programa analisa main.rs para encontrar o deslocamento exato do arquivo onde está o UID do usuário atual dentro de /etc/passwd.[cite: 1, 2]
  • Aquecimento do Cache de Páginas: Ele lê o arquivo alvo para garantir que a página relevante seja carregada no cache de páginas do kernel.[cite: 2]
  • Manipulação de Memória:
    • Ele inicializa um socket usando AF_ALG com o algoritmo authencesn(hmac(sha256),cbc(aes)).[cite: 2]
    • Ao elaborar cuidadosamente os parâmetros de setsockopt e usar splice, ele redireciona os dados do arquivo através do pipeline criptográfico.[cite: 2]
    • A vulnerabilidade permite que o processo de "descriptografia" sobrescreva os dados originais do cache de páginas com os 4 bytes desejados (0000).[cite: 2]
  • Escalonamento de Privilégios:
    • Se a flag --shell for fornecida, ele executa su <user>, que é bem-sucedido porque o sistema agora vê o UID do usuário como 0 no /etc/passwd em cache.[cite: 1]
    • Caso contrário, ele remove o cache de páginas corrompido usando POSIX_FADV_DONTNEED para restaurar a integridade do sistema.[cite: 1]

Pré-requisitos

  • SO: Linux (especificamente versões vulneráveis a este comportamento da Crypto API).
  • Linguagem: Rust (Edição 2024).[cite: 3]
  • Dependências: libc e nix (com os recursos fs, socket, zerocopy e user).[cite: 3]

Uso

Compilação

root@kitploit:~
cargo build --release

Execução

Testar a correção do cache de páginas sem abrir um shell:

root@kitploit:~
./target/release/cve-2026-31431

Tentar escalar para um shell root:

root@kitploit:~
./target/release/cve-2026-31431 --shell

Estrutura do Projeto

  • main.rs: Orquestra o ataque, lida com os argumentos da CLI e executa o comando final do shell.[cite: 1]
  • modules.rs: Contém a lógica central da exploração, incluindo a manipulação do socket AF_ALG e a busca do deslocamento do UID.[cite: 2]
  • Cargo.toml: Define os metadados do projeto e as dependências de crates externas.[cite: 3]

Referências Técnicas

  • Arquivos envolvidos: main.rs, modules.rs, Cargo.toml[cite: 1, 2, 3]
  • Chamadas de Sistema Principais: socket, bind, sendmsg, splice, posix_fadvise.[cite: 1, 2]
Baixar ferramenta