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-2017-7184 — Exploit de prova de conceito para escalonamento local de privilégios da CVE-2017-7184, um estouro de pilha do netlink XFRM do kernel Linux. Demonstra abuso de namespace e ROP no kernel para obter root sem sudo. | Kitploit
Ferramentas/GitHubGitHub/grish-pradhan/cve-2017-7184
Escalada de PrivilégiosAnálise de VulnerabilidadesExploraçãoAprendizado e EducaçãoExploração de Binários
GitHubgrish-pradhan/cve-2017-7184

CVE-2017-7184

Exploit de prova de conceito para escalonamento local de privilégios da CVE-2017-7184, um estouro de pilha do netlink XFRM do kernel Linux. Demonstra abuso de namespace e ROP no kernel para obter root sem sudo.

Ver Repositório
há 7 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-2017-7184 – Escalação de Privilégios no Kernel Linux XFRM (Sem Sudo)

Visão Geral

Este repositório contém um exploit de prova de conceito para escalação local de privilégios para CVE-2017-7184, uma vulnerabilidade do kernel Linux no subsistema netlink XFRM (IPsec).

O exploit demonstra como um usuário sem privilégios pode obter root real (UID 0) através de:

  1. Criando um namespace de usuário + rede sem privilégios

  2. Obtendo CAP_NET_ADMIN dentro do namespace

  3. Disparando um estouro de pilha do kernel no tratamento do netlink XFRM

  4. Executando uma chain ROP no kernel para chamar:

    • prepare_kernel_cred(NULL)
    • commit_creds()
  5. Retornando com segurança ao userland com privilégios totais de root

Nenhum sudo é necessário.


Detalhes da Vulnerabilidade


Estratégia de Exploração (Visão Geral)

  1. Namespace de Usuário sem Privilégios

    • Usa unshare(CLONE_NEWUSER | CLONE_NEWNET)
    • Mapeia o usuário atual → UID 0 dentro do namespace
    • Concede CAP_NET_ADMIN sem sudo
  2. Abuso do Netlink XFRM

    • Cria um socket NETLINK_XFRM
    • Envia uma mensagem XFRM_MSG_NEWSA malformada
    • Dispara um estouro de pilha do kernel por meio de atributos superdimensionados
  3. Execução de ROP no Kernel

    • Sobrescreve a pilha do kernel
    • Executa uma chain ROP controlada
    • Eleva credenciais no contexto do kernel
  4. Retorno ao Userland

    • Usa swapgs; iretq
    • Abre um shell root interativo

Requisitos

  • Kernel Linux vulnerável (testado em 4.8.0-36-generic)
  • unprivileged_userns_clone = 1
  • Símbolos do kernel disponíveis ou offsets conhecidos
  • gcc com suporte a pthread

Verifique o suporte a namespaces:

root@kitploit:~
cat /proc/sys/kernel/unprivileged_userns_clone

Saída esperada:

root@kitploit:~
1

Compilação

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

Execução

root@kitploit:~
./exploit

Não use sudo.

Se for bem-sucedido, você obterá um shell root real:

root@kitploit:~
uid=0(root) gid=0(root) groups=0(root)

Resolução de Endereços do Kernel

O exploit tenta:

  1. Vazar símbolos de /proc/kallsyms

  2. Se for restrito, recorrer a offsets fixos (hardcoded) para:

    • commit_creds
    • prepare_kernel_cred
    • base do kernel

⚠️ Gadgets ROP e offsets são específicos da versão do kernel. Você deve ajustá-los para outras compilações.


Resultados Esperados

Exploit Totalmente Bem-Sucedido

  • UID = 0
  • GID = 0
  • Shell root interativo

Sucesso Parcial (Ainda Vulnerável)

  • A criação do namespace funciona
  • A criação do socket XFRM é bem-sucedida
  • Payload de overflow enviado
  • Queda do kernel ou nenhuma escalação de privilégios

Isso ainda confirma que o sistema está vulnerável.


Limitações

  • Gadgets ROP fixos (hardcoded, específicos do kernel)
  • Sem bypass de KASLR além do kallsyms
  • Sem bypass de SMEP/SMAP para kernels endurecidos
  • Não confiável em kernels modernos

Mitigação

  • Atualizar o kernel para a versão corrigida
  • Desativar namespaces de usuário sem privilégios:
root@kitploit:~
sysctl -w kernel.unprivileged_userns_clone=0
  • Ativar KASLR, SMEP, SMAP
  • Restringir capabilities de netlink

Isenção de Responsabilidade

Este código é fornecido apenas para fins educacionais e de pesquisa em segurança.

  • Não use em sistemas que você não possui ou para os quais não tem permissão de teste
  • O autor não assume nenhuma responsabilidade por uso indevido ou danos
  • Destinado ao aprendizado de técnicas de exploração de kernel

Referências

  • CVE-2017-7184
  • Subsistema XFRM do Kernel Linux
  • Escalação de Privilégios em Namespaces de Usuário
  • ROP no kernel e exploração de commit_creds
Baixar ferramenta
CampoValor
CVECVE-2017-7184
ComponenteKernel Linux – Netlink XFRM
Tipo de BugEstouro de Pilha do Kernel
ImpactoEscalação Local de Privilégios
Vetor de AtaqueLocal (usuário sem privilégios)
Classe do ExploitAbuso de namespace + ROP
Primeiro AfetadoKernels Linux ≤ 4.8
Corrigido EmPatches do kernel lançados em 2017