Monitored (2026)

Тэги:

  • SNMP

  • Nagios XI API & CVE-2023–40931 (SQL Injection)

  • Symbolic links PrivEsc

Разведка

Результат сканирования TCP-портов:

При переходе на 80 порт http://10.129.230.96/ идёт редирект на nagios.monitored.htb. Соответствующие записи были добавлены в /etc/hosts:

После чего был получен доступ к поддомену:

На нем располагается мониторинговая платформа Nagios XI. С помощью кнопки "Access Nagios XI" происходит перенаправление на страницу авторизации - https://nagios.monitored.htb/nagiosxi/login.php?redirect=/nagiosxi/index.php%3f&noauth=1:

Далее были просканированы UDP-порты:

Поскольку SNMP-порт открыт можно было попытаться извлечь из него информацию с помощью snmpbulkwalk:

В выводе было обнаружено имя пользователя и пароль. При вводе данных на странице авторизации выводиться уже другое сообщение:

Было использовано API Nagios XI для получения auth_token:

Чтобы в дальнейшем авторизоваться в сервисе с помощью следующего URL -https://nagios.monitored.htb/nagiosxi/login.php?token=257ddcf6819f2d6559f94b4bc530b9eb30ef30f8:

После авторизации был обнаружено, что Nagios XI версии 5.11.0. Для неё есть эксплоит на SQL Injectionarrow-up-right.

Чтобы подтвердить уязвимость нужно сформировать следующий GET-запрос:

Получение первоначального доступа - nagios (CVE-2023–40931, Admin Panel Reverse Shell)

Чтобы проэксплуатировать уязвимость в автоматическом режиме можно использовать sqlmap:

База данных information_schema в mysql создается по умолчанию, а nagiosxi была создана уже мониторинговой платформой. С помощью той же утилиты sqlmap была извлечена вся необходимая информация для дальнейшего продвижения.

  • Извлечение списка таблиц:

  • Излечение данных из таблицы xi_users:

В дампе таблицы было два API-ключа. Используя ключ nagiosadmin, можно было создать любого другого пользователя с правами администратора:

Далее можно авторизоваться в сервисе. Поскольку использовался простой пароль при создании нового пользователя, то система попросила его сменить:

После чего доступ к панели администратора был открыт:

С помощью этой панели можно было получить удаленный доступ, используя команды (Configure -> Core Config Manager):

Переход в меню команд (Configure -> Core Config Manager -> Commands -> Commands):

Пэйлоад для команды можно сгенерировать через Reverse Shell Generatorarrow-up-right:

Далее можно добавить свою команду с полезной нагрузкой:

Чтобы её запустить, нужно зайти во вкладку Hosts (Core Config Manager -> Monitoring -> Hosts):

И выбрать localhost:

Затем выбрать свою команду из списка:

И нажать Run Check Command:

На листенер придет реверс шелл:

Повышение привилегий - root (Замена файла на символьную ссылку в скрипте)

С помощью sudo -l были обнаружены команды, которые может выполнять пользователь nagios от лица суперпользователя:

При изучении скрипта getprofile.sh было обнаружено, что во время выполнения в phpmailer.log записываются последние 100 строк файла /usr/local/nagiosxi/tmp/phpmailer.log. Его можно изменить и указать символическую ссылку на /root/.ssh/id_rsa:

Удаление файла, создание символической ссылки и запуск скрипта:

Далее полученный архив был распакован:

И прочитан файл phpmailer.log с содержимым id_rsa суперпользователя:

С помощью него можно подключиться к хосту через SSH предварительно задав ему права только на чтение и запись владельцу (600):

Last updated