Когда sudo разрешает запуск Python-скрипта с правами root, главная опасность может крыться не в самом скрипте, а в тех каталогах, которые он подключает. Writable-директория с плагинами становится идеальной точкой атаки для повышения привилегий.
Маршрут атаки на машине SmartHire начинается с веб-приложения. Далее находится поддомен с MLflow. Небезопасная загрузка pickle-моделей позволяет выполнить произвольные команды. Из полученного шелла можно добраться до прав суперпользователя.
Задача — получить права root на машине SmartHire из Hack The Box. Сложность средняя, ОС — Linux.
Разведка
Сканирование портов
Добавляем IP-адрес машины в /etc/hosts:
10.129.69.239 smarthire.htb
Запускаем сканирование портов. При помощи Nmap можно провести двухэтапное сканирование: сначала быстрая проверка всех портов, затем детальный анализ открытых портов со встроенными скриптами.
Результат показывает два открытых порта:
- 22 — OpenSSH 8.9p1
- 80 — Nginx 1.18.0
На веб-сервере работает сайт с формой авторизации.
Точка входа
На главной странице ничего интересного. Переходим к сканированию каталогов инструментом feroxbuster, чтобы найти скрытые директории и функции.
При запуске указываем URL, глубину сканирования, количество потоков и словарь. Удобнее всего использовать словари из набора SecLists.
