Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
poc-CVE-2024-23897 — CVE-2024-23897 : Jenkins : Lecture de fichier arbitraire menant à une exécution de code à distance (RCE) | Kitploit
Outils/GitHubGitHub/vmc8ll/poc-cve-2024-23897
Analyse des VulnérabilitésExploitationExploitation d'Applications WebCollecte d'InformationsTests d'IntrusionRed TeamingDéveloppement de Charges Utiles
GitHubvmc8ll/poc-cve-2024-23897

poc-CVE-2024-23897

CVE-2024-23897 : Jenkins : Lecture de fichier arbitraire menant à une exécution de code à distance (RCE)

Voir le dépôt
2il y a 6 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

poc-CVE-2024-23897

CVE-2024-23897 : Jenkins Lecture Arbitraire de Fichiers Menant à une Exécution de Code à Distance (RCE) 🎯 Produits et Versions Affectés

root@kitploit:~
Produit : Jenkins (serveur d'intégration continue/livraison continue)

Versions : Jenkins 2.441 et versions antérieures, Jenkins LTS 2.426.2 et versions antérieures

Corrigé dans : Jenkins 2.442, Jenkins LTS 2.426.3

📝 Description

CVE-2024-23897 est une vulnérabilité critique dans Jenkins qui permet à des attaquants non authentifiés de lire des fichiers arbitraires sur le système de fichiers du contrôleur Jenkins. La vulnérabilité existe parce que Jenkins ne désactive pas une fonctionnalité de son analyseur de commandes CLI qui remplace un caractère '@' suivi d'un chemin de fichier par le contenu du fichier.

Cette faille peut mener à une exécution de code à distance (RCE) lorsqu'elle est combinée avec d'autres techniques, ce qui la rend particulièrement dangereuse pour les organisations utilisant Jenkins dans leurs pipelines CI/CD. 🔍 Détails de la Vulnérabilité Cause Racine

La vulnérabilité provient de la fonction expandAtFiles() dans la classe org.kohsuke.args4j.CmdLineParser. Lors de l'analyse des arguments CLI, si l'analyseur rencontre un symbole '@' suivi d'un chemin de fichier, il lit et développe le contenu de ce fichier. Vecteur d'Attaque

Les attaquants peuvent exploiter cette vulnérabilité en utilisant l'interface CLI de Jenkins sans authentification : bash

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

Analyse Technique Limitations de la Lecture de Fichiers

root@kitploit:~
Sans authentification : Seules les 3 premières lignes du fichier peuvent être lues (selon la commande CLI)

Avec la permission 'Overall/Read' : Le contenu complet du fichier peut être lu

Fichiers binaires : Peuvent être extraits mais peuvent être affectés par des problèmes d'encodage (Windows-1252 sur Windows donne de meilleurs résultats que UTF-8 sur Linux)

Expansion de la Surface d'Attaque

Une fois la lecture de fichier réalisée, les attaquants peuvent passer à des attaques plus graves :

root@kitploit:~
Extraire les identifiants :

    Lire /var/jenkins_home/credentials.xml pour les identifiants chiffrés

    Lire /var/jenkins_home/secrets/master.key et hudson.util.Secret pour le déchiffrement

    Déchiffrer les identifiants en utilisant la console de scripts Jenkins : println(Hudson.util.Secret.fromString("{XXX=}").getPlainText())

Forger des cookies 'Remember-me' :

    Obtenir un accès administratif en forgeant des cookies d'authentification

Exécuter du code arbitraire :

    Atteindre RCE via les vecteurs Resource Root URL, XSS ou CSRF

💥 Impact Impact Immédiat

root@kitploit:~
Confidentialité : Divulgation complète de tous les fichiers sur le serveur Jenkins (code source, identifiants, clés SSH, jetons)

Intégrité : Les attaquants peuvent modifier les builds, pipelines et configurations

Disponibilité : Potentiel de déni de service ou de déploiement de ransomware

Exploitation dans le Monde Réel

Cette vulnérabilité a été activement exploitée dans la nature :

root@kitploit:~
Ajoutée au catalogue des vulnérabilités connues exploitées (KEV) de la CISA

Utilisée par des gangs de ransomware (RansomEXX) pour compromettre des infrastructures

Exploitée par l'acteur malveillant IntelBroker pour voler des dépôts GitHub et compromettre des fournisseurs de services IT

🔧 Détection Indicateurs de Compromission

Les tentatives d'exploitation réussies peuvent être détectées via :

Modèles de requêtes HTTP : text

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

Exemples de Charges Utiles Typiques :

root@kitploit:~
@/etc/passwd

@/var/jenkins_home/secrets/initialAdminPassword

@/etc/os-release

Requête de Détection Splunk text

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

🛡️ Atténuation Correctif Officiel

Mettez à jour vers les versions patchées :

root@kitploit:~
Jenkins ≥ 2.442

Jenkins LTS ≥ 2.426.3

Atténuation Temporaire

Si un patch immédiat n'est pas possible :

root@kitploit:~
Désactiver l'accès à l'interface CLI de Jenkins

Définir la propriété système Java : hudson.cli.CLICommand.allowAtSyntax=false

Restreindre l'accès réseau à l'interface administrateur de Jenkins

Implémenter des règles WAF pour bloquer les requêtes contenant des motifs @/

🔗 Références

root@kitploit:~
Entrée NVD

Avis de Sécurité Jenkins

Catalogue KEV de la CISA

Recherche Splunk

Page CVE de Tenable 
📦 Construction et Exécution

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

🎯 Exemples d'Utilisation 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

⚙️ Fonctionnement

root@kitploit:~
Initialisation de session : Génère un identifiant de session unique de 20 octets

Construction de la charge utile : Construit une charge utile binaire avec la structure help @/chemin/vers/fichier

Phase d'envoi : Envoie la charge utile au point de terminaison CLI Jenkins

Phase de récupération : Récupère le contenu du fichier à partir de la réponse

Sortie : Affiche le contenu du fichier ou un message d'erreur

📊 Fonctionnalités

root@kitploit:~
Implémentation pure en Go - Aucune dépendance externe

Multi-plateforme - Fonctionne sur Windows, Linux, macOS

Délais d'attente configurables - Ajustables pour les réseaux lents

Gestion d'erreurs propre - Messages d'erreur détaillés

Binaire sûr - Gère à la fois les fichiers texte et binaires

⚠️ Notes Importantes

root@kitploit:~
À des fins éducatives uniquement - Utiliser uniquement sur des systèmes que vous possédez ou pour lesquels vous avez la permission de tester

Lectures non authentifiées - Sans authentification, seules les ~3 premières lignes sont lisibles

Fichiers binaires - Peuvent être affectés par des problèmes d'encodage (utiliser une cible Windows pour une meilleure extraction binaire)
Télécharger l’outil