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 — Exploit de escalada de privilégios no kernel para CVE-2026-31431, abusando da interface AF_ALG para sobrescrever /bin/su e gerar um shell root. Inclui implementação em C e guia de resolução de problemas. | Kitploit
Ferramentas/GitHubGitHub/0xshe/cve-2026-31431
Escalada de PrivilégiosFrameworks de ExploraçãoExploraçãoAprendizado e EducaçãoExploração de Binários
GitHub0xshe/cve-2026-31431

CVE-2026-31431

Exploit de escalada de privilégios no kernel para CVE-2026-31431, abusando da interface AF_ALG para sobrescrever /bin/su e gerar um shell root. Inclui implementação em C e guia de resolução de problemas.

Ver Repositório
4020há 3 mesesRevisado pelo Kitploit

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

Autor: 0xShe

Idioma / 语言

  • English: https://github.com/0xShe/CVE-2026-31431/blob/main/README.md
  • 中文: https://github.com/0xShe/CVE-2026-31431/blob/main/README-CN.md 1

Guia da Ferramenta de Escalação de Privilégios no Kernel CVE-2026-31431

0x01 Início Rápido

Alguns ambientes alvo não possuem Python instalado, por isso esta lógica de escalação de privilégios foi reescrita em C.

  1. Compilar

Execute o seguinte comando na sua máquina Linux ou WSL (o uso de -static é recomendado para evitar problemas de versão do GLIBC):

root@kitploit:~
gcc -static exploit.c -o exploit

2. Implantar e Executar

Envie o binário gerado para a máquina alvo:

root@kitploit:~
chmod +x exploit
./exploit

Se o exploit for bem-sucedido, o programa executará automaticamente o su e abrirá um shell root diretamente, sem exigir senha.


0x02 Lógica de Escalação de Privilégios: Como Funciona?

Este exploit abusa de uma falha lógica na interface AF_ALG do kernel Linux (Kernel Crypto API).

  1. Criar um Socket Criptográfico O programa cria um socket AEAD (Autenticação de Criptografia com Dados Associados) usando socket(AF_ALG, ...).

  2. Injeção de Memória (Splice) Ao aproveitar a chamada de sistema splice do Linux, dados de um descritor de arquivo (neste caso /bin/su) podem ser redirecionados diretamente para o buffer criptográfico do kernel.

  3. Sobrescrita do Payload Usando offsets de memória específicos, o exploit substitui parte da lógica de autenticação do /bin/su por um payload de escalação de privilégios (um programa ELF mínimo que executa /bin/sh).

  4. Acionar a Escalação de Privilégios Após o kernel concluir a série de operações criptográficas, o processo su em memória já foi adulterado. Quando system("su") é finalmente executado, o sistema na verdade executa o payload do shell root modificado.


0x03 Guia de Solução de Problemas: Por Que Ainda Pede Senha?

Durante a depuração, se o programa exibir Exploit finished, mas executar o su ainda exigir senha, o problema geralmente é causado por um dos seguintes detalhes.

  1. O Sinalizador Crítico MSG_MORE

Este é o ponto de falha mais comum. A chamada sendmsg deve incluir o sinalizador MSG_MORE.

  • Motivo: Este sinalizador informa ao kernel que mais dados estão por vir e impede que o buffer criptográfico seja finalizado cedo demais.

  • Consequência: Sem este sinalizador, o kernel fecha imediatamente o contexto criptográfico atual. Como resultado, a injeção splice subsequente não consegue entrar no buffer correto do kernel, tornando a sobrescrita impossível.

  1. Comprimento dos Dados Associados (Assoclen)

O kernel é extremamente rigoroso quanto a alinhamento e verificações de comprimento para dados associados AEAD.

  • Armadilha: Se ASSOCLEN no código C estiver definido como 4 bytes enquanto o kernel espera 8 bytes (ou vice-versa), o kernel pode lançar um erro de argumento inválido ou ignorar silenciosamente toda a lógica de injeção.
  1. Redefinição do Offset do Arquivo

Durante o loop que modifica o /bin/su, cada operação splice deve começar a ler a partir do offset 0.

  • Armadilha: Se off_su não for explicitamente redefinido para 0, o splice se comporta de forma semelhante ao read() e continua avançando o ponteiro do arquivo. Na segunda iteração, os dados injetados ficam desalinhados, o que pode corromper o su ou quebrar a lógica do exploit.
  1. Patches do Kernel

Alguns sistemas podem já ter patches de segurança silenciosos aplicados. Isso foi confirmado durante testes em várias máquinas — certos alvos já haviam recebido correções não oficiais ou backports.


0x04 Notas

  • Versão do Kernel: Esta vulnerabilidade afeta principalmente kernels Linux 5.x iniciais (como a versão inicial do Ubuntu 20.04). Se o kernel já foi corrigido, este método não funcionará mais.

  • Diferenças de Caminho: Diferentes distribuições Linux podem armazenar o su em locais distintos (/bin/su ou /usr/bin/su). O código tenta detectar o caminho correto automaticamente, mas se nenhum dos dois existir, verifique manualmente usando which su e modifique o código de acordo.

  • Aviso Legal: Este artigo destina-se estritamente a fins de pesquisa técnica e educacional. Não o utilize para atividades ilegais. Os usuários são os únicos responsáveis por quaisquer consequências legais resultantes do uso indevido da ferramenta.

Baixar ferramenta