Share
## https://sploitus.com/exploit?id=604FE2D9-5FE2-5363-9995-8F0C41B72269
# Expoitation-de-la-vuln-rabilit-CVE-2022-22965
La vulnérabilité CVE-2022-22965, connue sous le nom de Spring4Shell, est une faille d'exécution de code à distance (RCE) dans le framework Java Spring Core, présente dans les versions antérieures à 5.3.18 et 5.2.20. Cette vulnérabilité permet à un attaquant d'injecter du code et de l'exécuter à distance sur un serveur vulnérable en exploitant une mauvaise configuration des journaux Tomcat. Elle a été découverte en mars 2022 et affecte les applications activeMQ, Spring MVC et Spring WebFlux fonctionnant avec une version de JDK >= 9.

![image](https://github.com/user-attachments/assets/e2d9e885-b6e8-4ad2-a10d-3b8b3aa8fa8d)

On se rassure déjà si on a une version de JDK >= 9, si non on l'avtive :

![image](https://github.com/user-attachments/assets/283ef800-2da1-4d1f-a2b9-83277bdefd41)

PrĂ©requis ✔
Les modules requests et BeautifulSoup sont nécessaires pour que l'exploit fonctionne. On les installe avec :

    pip3 install bs4
    pip3 install requests


Scan du réseau 

  ![image](https://github.com/user-attachments/assets/09d66090-48c4-4eaf-a630-b4c58b65a5d0)

  Ici, on a bien le service activeQM version 5.17.3 en Ă©coute.

Dans notre stratégie d'exploit nous utliserons un script python développé nommé spring4shell.py joint à ce projet.

Objectif de ce script :
Ce script Python permet d'exploiter la faille CVE-2022-22965 en modifiant les paramÚtres de journalisation de Tomcat pour injecter un webshell dans les fichiers journaux, permettant ainsi l'exécution de commandes distantes sur le serveur compromis.

Explication du Code Python

      Configuration des sorties terminal :
          La classe settings adapte l'affichage dans le terminal en fonction des options choisies, avec des couleurs pour diffĂ©rencier les messages d’information, d’avertissement, et d’erreur.
      Génération des variables aléatoires :
          Les fonctions filename() et password() génÚrent des chaßnes hexadécimales aléatoires pour sécuriser le nom du fichier et le mot de passe du webshell.
      Exploitation de la vulnérabilité :
          Le script envoie des requĂȘtes pour modifier les paramĂštres de journalisation de Tomcat, en injectant des fragments de code JSP via les journaux. En configurant les journaux pour Ă©crire dans le rĂ©pertoire webapps/ROOT, chaque entrĂ©e devient interprĂ©table comme du code JSP.
          Le fichier de journal injecté agit alors comme un webshell accessible via un navigateur pour exécuter des commandes.
      Interaction avec le Webshell :
          La classe terminal ouvre une interface interactive permettant d'envoyer des commandes au serveur compromis. Les commandes sont envoyées en paramÚtre cmd, et les réponses sont affichées dans le terminal.

 AprÚs exécution du script, un lien vers le webshell est fourni :
Via la commande :

    python3 spring4shell.py http://172.17.0.1

   ![image](https://github.com/user-attachments/assets/9df5b81d-4cf6-4727-9b48-fba1ddff3c63)

   On optiens un accÚs direct au shell de notre serveur activemq afin d'exécuter toutes les commandes qu'on souhaite.

   Fin de l'exploit !!!