Когда 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.