
Script di exploit Python per CVE-2024-23897 (RCE di Jenkins) con un laboratorio vulnerabile automatizzato basato su Docker per test di sicurezza controllati e formazione.
CVE-2024-23897 è una vulnerabilità critica scoperta in Jenkins, un popolare strumento di integrazione continua. Questa vulnerabilità consente l'esecuzione remota di comandi (RCE) sul server Jenkins a causa della mancanza di adeguate restrizioni sulle funzioni di accesso e connessione ai nodi.
CVE-ID: CVE-2024-23897Tipo: Esecuzione Remota di Codice (RCE)Impatto: Un attaccante non autenticato può inviare richieste appositamente create che consentono l'esecuzione di comandi arbitrari sul server Jenkins, portando a un compromesso del sistema.Affetti: Versioni di Jenkins precedenti alla correzione di questa CVE.jenkins-cli.jar, che consente la comunicazione tra Jenkins e i suoi nodi.Jenkins.Jenkins all'ultima versione disponibile che ha corretto questa vulnerabilità.Questo script in Python sfrutta la vulnerabilità CVE-2024-23897 su server Jenkins obsoleti. Lo script interagisce con il server Jenkins ed esegue comandi arbitrari utilizzando il file jenkins-cli.jar.
Python 3.xrequests e subprocess installate nell'ambiente di esecuzione.Jenkins vulnerabile.Scarica il file jenkins-cli.jar` dal server Jenkins.Connetti il nodo Jenkins utilizzando il file scaricato ed esegui comandi malevoli sul server remoto.Esegui azioni specifiche come la lettura di file arbitrari sul server.Installazione delle dipendenze: Assicurati di avere Python 3 e la libreria requests installati. Puoi installarla usando pip:pip3 install requests
Utilizzo dello script: Scarica il file dello script di exploit ed eseguilo dal terminale:
python3 cve-2024-23897.py
Lo script ti chiederà di inserire i seguenti parametri:
Indirizzo IP del server Jenkins: L'IP dove Jenkins è in esecuzione.Porta del server Jenkins: La porta su cui Jenkins è in ascolto (default è 8080).Percorso del file da leggere: Il percorso del file a cui vuoi accedere sul server vulnerabile (ad esempio, /etc/passwd).Lo script scaricherà il file jenkins-cli.jar dal server Jenkins e quindi eseguirà i comandi definiti nel file che hai indicato come parametro.
Per testare la vulnerabilità in un ambiente controllato, abbiamo incluso un laboratorio vulnerabile basato su Docker. Dovrai solo decomprimere il file ZIP sulla tua macchina Kali Linux, eseguire il file .sh e distribuire l'ambiente Docker per effettuare il test.
Scarica il LAB .tar: Per prima cosa, decomprimi il file contenente il laboratorio vulnerabile:
Esegui lo script di distribuzione: All'interno di una cartella, dovrai avere i 2 file, uno dei quali è auto_mount.sh. Questo script è progettato per distribuire automaticamente l'ambiente Docker vulnerabile e il laboratorio in TAR che dovrai passare come parametro. Eseguilo con:
bash auto_mount.sh cve-2024-23897.tar
Lo script prenderà il file compresso Docker .tar come parametro per lanciare il container vulnerabile e testare lo sfruttamento della vulnerabilità.
Connettiti al server Jenkins: Una volta che l'ambiente Docker è in esecuzione, potrai connetterti al server Jenkins dalla tua macchina Kali Linux. L'interfaccia di Jenkins sarà disponibile all'indirizzo IP e alla porta configurati nel container.
Esegui lo script di exploit: Ora che il server Jenkins vulnerabile è in esecuzione, puoi eseguire lo script di exploit sulla macchina Kali e provare l'esecuzione remota di codice su Jenkins.
Python per sfruttare la vulnerabilità CVE-2024-23897.Docker vulnerabile.Docker compresso per avviare il server Jenkins vulnerabile.Sviluppato da: d1se0
Contatto: [email protected]