![image](https://habrastorage.org/webt/wh/sv/nf/whsvnf--j9jflusba-yolyagtqk.png)
Продолжаю публикацию решений отправленных на дорешивание машин с площадки HackTheBox. Надеюсь, что это поможет хоть кому-то развиваться в области ИБ. В данной статье нам придется проэксплуатировать уязвимости в Redis и WebMin, а также подобрать пароль к зашифрованному ключу RSA.
Подключение к лаборатории осуществляется через VPN. Рекомендуется не подключаться с рабочего компьютера или с хоста, где имеются важные для вас данные, так как Вы попадаете в частную сеть с людьми, которые что-то да умеют в области ИБ :)
Организационная информация
Специально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и компьютерной безопасности, я буду писать и рассказывать о следующих категориях:
Вдобавок к этому я поделюсь своим опытом в компьютерной криминалистике, анализе малвари и прошивок, атаках на беспроводные сети и локальные вычислительные сети, проведении пентестов и написании эксплоитов.
Чтобы вы могли узнавать о новых статьях, программном обеспечении и другой информации, я создал канал в Telegram и группу для обсуждения любых вопросов в области ИиКБ. Также ваши личные просьбы, вопросы, предложения и рекомендации рассмотрю лично и отвечу всем.
Вся информация представлена исключительно в образовательных целях. Автор этого документа не несёт никакой ответственности за любой ущерб, причиненный кому-либо в результате использования знаний и методов, полученных в результате изучения данного документа.
- PWN;
- криптография (Crypto);
- cетевые технологии (Network);
- реверс (Reverse Engineering);
- стеганография (Stegano);
- поиск и эксплуатация WEB-уязвимостей.
Вдобавок к этому я поделюсь своим опытом в компьютерной криминалистике, анализе малвари и прошивок, атаках на беспроводные сети и локальные вычислительные сети, проведении пентестов и написании эксплоитов.
Чтобы вы могли узнавать о новых статьях, программном обеспечении и другой информации, я создал канал в Telegram и группу для обсуждения любых вопросов в области ИиКБ. Также ваши личные просьбы, вопросы, предложения и рекомендации рассмотрю лично и отвечу всем.
Вся информация представлена исключительно в образовательных целях. Автор этого документа не несёт никакой ответственности за любой ущерб, причиненный кому-либо в результате использования знаний и методов, полученных в результате изучения данного документа.
Recon
Данная машина имеет IP адрес 10.10.10.160, который я добавляю в /etc/hosts.
10.10.10.160 postman.htb
Первым делом сканируем открытые порты. Так как сканировать все порты nmap’ом долго, то я сначала сделаю это с помощью masscan. Мы сканируем все TCP и UDP порты с интерфейса tun0 со скоростью 500 пакетов в секунду.
masscan -e tun0 -p1-65535,U:1-65535 10.10.10.160 --rate=500
![image](https://habrastorage.org/webt/uc/zl/im/uczlim6qzyp6lgtrgjhmbemdnsy.png)
Далее нужно собрать больше информации об известных портах. Для того используем nmap с параметром -А.
nmap -A postman.htb -p22,80,6379,10000
![image](https://habrastorage.org/webt/lx/5q/oc/lx5qocr3ppfakapjdzsvv_nexho.png)
Как следует из отчета nmap на хосте работает SSH и веб-сервер. Так же на 6379 порте работает redis. Redis – это высокопроизводительная БД с открытым исходным кодом, которая хранит данные в памяти, доступ к которым осуществляется по ключу доступа. И порт 10000 отведен для Webmin — это программный комплекс, позволяющий администрировать операционную систему через веб-интерфейс.
Далее ищем информацию о redis 4.0.9 и MiniServ 1.910. Для redis был найден эксплоит, позволяющий аутентифицироваться на хосте, зная имя пользователя.
![image](https://habrastorage.org/webt/jt/uc/8l/jtuc8llwcdggg6kyos9s5kboaw4.png)
В случае WebMin мы можем получить RCE.
![image](https://habrastorage.org/webt/wl/3x/gk/wl3xgkndyd6oy4ia51umgqutxuk.png)
Но так как для WebMin нам необходимы аутентификационные данные, то начинаем с redis.
Entry Point
Скачав и запустив эксплоит, увидим, что он требует адрес хоста и имя пользователя.
![image](https://habrastorage.org/webt/vh/wy/rt/vhwyrtwdvowkbc_2-zpfujce3oe.png)
Так как redis — это служба, то она работает под пользователем службы “redis”.
![image](https://habrastorage.org/webt/bs/r7/ny/bsr7nystpygov4t-yrw9lz3afgk.png)
Но эксплоит отрабатывает неудачно. Давайте разбираться в чем дело. Если кратко — то данный эксплоит генерирует ssh ключи и размещает публичный в домашнюю директорию пользователя. Потом подключается по SSH с приватным ключом. Но вот в чем дело, при обращении он ищет пользователя в стандартной домашней директории home, a мы работаем с пользователем службы, чья домашняя директория будет располагаться в /var/lib.
![image](https://habrastorage.org/webt/de/ct/r5/dectr5iaq7nxsvexlisa8wk7vcu.png)
Изменим команду cmd4, на нашу правильную домашнюю дирректорию и запустим эксплоит.
![image](https://habrastorage.org/webt/lv/_s/u8/lv_su8k2uqch7qcr8gnexp_eby0.png)
И мы попали на хост.
USER
Теперь, не зная куда идти дальше, мы должны собрать по максимуму информации с хоста и проанализировать ее. В этом помогут скрипты перечисления, к примеру, LinEnum.
Я просто скопировал его на хост, присвоил права на запуск и выполнил.
![image](https://habrastorage.org/webt/re/2p/yp/re2pypcl_jiy-f11j0evpudpyp8.png)
Далее нам нужно просмотреть кучу информации и найти то, что выбивается из нормы. И мы находим.
![image](https://habrastorage.org/webt/pm/hf/cs/pmhfcshxm8w-sergrakiuwhk1fc.png)
При поиске бэкапов был обнаружен приватный ssh ключ. Причем его владельцем является пользователь Matt, а права на файл позволяют нам его читать.
![image](https://habrastorage.org/webt/ih/fe/eh/ihfeeh_uvodjdg7iyadnh7sohxy.png)
Копируем ключ к себе на рабочую машину. Как видим ключ зашифрован, поэтому при подключении у нас попросят пароль.
![image](https://habrastorage.org/webt/cc/d6/ok/ccd6okhydioruaylidw2tu9j__k.png)
Нам нужно узнать пароль. Сделать это можно пробрутив ключ с помощью того же John’а. Для начал перегоним его в нужный формат с помощью ssh2john.
![image](https://habrastorage.org/webt/xe/iq/9m/xeiq9mohnkilt2a-eyzsaiqv95w.png)
Данный вывод нужно сохранить в файл и отдать на перебор.
![image](https://habrastorage.org/webt/ty/go/d4/tygod4a6yo8tpkzojbdgodjchuy.png)
И очень быстро находим пароль. Но подключиться по ssh ни по ключу, ни по паролю не вышло. Вспомнив про redis и команду su, входим в систему как Matt.
![image](https://habrastorage.org/webt/fl/bq/hr/flbqhrdglubvran6edjdb5al0m0.png)
ROOT
Снова поискав что-нибудь интересное, вспоминаем про MiniServ, для которой нужны аутентификационные данные. Еще хорошо то, что данный эксплоит присутствует в Metasploit. Можно посмотреть подробную информацию о нем.
![image](https://habrastorage.org/webt/a6/tb/jt/a6tbjt2dssc9pigav2_ncbrp7qm.png)
Теперь выбираем эксплоит для использования и задаем основные опции.
![image](https://habrastorage.org/webt/6d/pq/q2/6dpqq2remi8fzwclizdj3a5cif8.png)
Мы в системы с полными правами.
Вы можете присоединиться к нам в Telegram. Давайте соберем сообщество, в котором будут люди, разбирающиеся во многих сферах ИТ, тогда мы всегда сможем помочь друг другу по любым вопросам ИТ и ИБ.