
Script de exploit em Python para CVE-2024-23897 (RCE no Jenkins) com laboratório vulnerável automatizado baseado em Docker para testes de segurança controlados e educação.
CVE-2024-23897 é uma vulnerabilidade crítica descoberta no Jenkins, uma ferramenta popular de integração contínua. Essa vulnerabilidade permite a execução remota de comandos (RCE) no servidor Jenkins devido à falta de restrições adequadas no acesso a nós e funções de conexão.
CVE-ID: CVE-2024-23897Tipo: Execução Remota de Código (RCE)Impacto: Um atacante não autenticado pode enviar requisições especialmente elaboradas que permitem a execução de comandos arbitrários no servidor Jenkins, levando ao comprometimento do sistema.Afetado: Jenkins versões anteriores à correção desta CVE.jenkins-cli.jar, que permite a comunicação entre Jenkins e seus nós.Jenkins.Jenkins para a versão mais recente disponível que tenha corrigido essa vulnerabilidade.Este script Python explora a vulnerabilidade CVE-2024-23897 em servidores Jenkins desatualizados. O script interage com o servidor Jenkins e executa comandos arbitrários usando o arquivo jenkins-cli.jar.
Python 3.xrequests e subprocess instaladas no ambiente de execução.Jenkins vulnerável.Baixar o arquivo jenkins-cli.jar` do servidor Jenkins.Conectar o nó Jenkins usando o arquivo baixado e executar comandos maliciosos no servidor remoto.Executar ações específicas, como ler arquivos arbitrários no servidor.Instalando dependências: Certifique-se de ter Python 3 e a biblioteca requests instalados. Você pode instalá-la usando pip:pip3 install requests
Uso do Script: Baixe o arquivo do script de exploração e execute-o a partir do terminal:
python3 cve-2024-23897.py
O script solicitará que você insira os seguintes parâmetros:
Endereço IP do Servidor Jenkins: O IP onde o Jenkins está em execução.Porta do Servidor Jenkins: A porta em que o Jenkins está ouvindo (o padrão é 8080).Caminho para ler arquivo: O caminho do arquivo que você deseja acessar no servidor vulnerável (por exemplo, /etc/passwd).O script baixará o arquivo jenkins-cli.jar do servidor Jenkins e, em seguida, executará os comandos definidos no arquivo que você indicou como parâmetro.
Para testar a vulnerabilidade em um ambiente controlado, incluímos um laboratório vulnerável baseado em Docker. Você só precisará descompactar o arquivo ZIP na sua máquina Kali Linux, executar o arquivo .sh e implantar o ambiente Docker para realizar o teste.
Baixe o LAB .tar: Primeiro, descompacte o arquivo contendo o laboratório vulnerável:
Execute o script de implantação: Dentro de uma pasta, você precisará ter os 2 arquivos, um deles é o auto_mount.sh. Este script foi projetado para implantar automaticamente o ambiente Docker vulnerável e o laboratório em TAR que você deverá passar como parâmetro. Execute-o com:
bash auto_mount.sh cve-2024-23897.tar
O script receberá o arquivo Docker .tar compactado como parâmetro para iniciar o contêiner vulnerável e testar a exploração da vulnerabilidade.
Conecte-se ao servidor Jenkins: Assim que o ambiente Docker estiver em execução, você poderá se conectar ao servidor Jenkins a partir da sua máquina Kali Linux. A interface do Jenkins estará disponível no endereço IP e na porta configurados no contêiner.
Execute o Script de Exploração: Agora que o servidor Jenkins vulnerável está em execução, você pode executar o script de exploração na máquina Kali e tentar a execução remota de código no Jenkins.
Python para explorar a vulnerabilidade CVE-2024-23897.Docker vulnerável.Docker compactado para subir o servidor Jenkins vulnerável.Desenvolvido por: d1se0
Contato: [email protected]