Hack The Box — прохождение Postman. Redis и WebMin

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.
image

Продолжаю публикацию решений отправленных на дорешивание машин с площадки HackTheBox. Надеюсь, что это поможет хоть кому-то развиваться в области ИБ. В данной статье нам придется проэксплуатировать уязвимости в Redis и WebMin, а также подобрать пароль к зашифрованному ключу RSA.

Подключение к лаборатории осуществляется через VPN. Рекомендуется не подключаться с рабочего компьютера или с хоста, где имеются важные для вас данные, так как Вы попадаете в частную сеть с людьми, которые что-то да умеют в области ИБ :)

Организационная информация
Специально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и компьютерной безопасности, я буду писать и рассказывать о следующих категориях:

  • 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

Далее нужно собрать больше информации об известных портах. Для того используем nmap с параметром -А.
nmap -A postman.htb -p22,80,6379,10000

image

Как следует из отчета nmap на хосте работает SSH и веб-сервер. Так же на 6379 порте работает redis. Redis – это высокопроизводительная БД с открытым исходным кодом, которая хранит данные в памяти, доступ к которым осуществляется по ключу доступа. И порт 100000 отведен для Webmin — это программный комплекс, позволяющий администрировать операционную систему через веб-интерфейс.

Далее ищем информацию о redis 4.0.9 и MiniServ 1.910. Для redis был найден эксплоит, позволяющий аутентифицироваться на хосте, зная имя пользователя.

image

В случае WebMin мы можем получить RCE.

image

Но так как для WebMin нам необходимы аутентификационные данные, то начинаем с redis.

Entry Point



Скачав и запустив эксплоит, увидим, что он требует адрес хоста и имя пользователя.

image

Так как redis — это служба, то она работает под пользователем службы “redis”.

image

Но эксплоит отрабатывает неудачно. Давайте разбираться в чем дело. Если кратко — то данный эксплоит генерирует ssh ключи и размещает публичный в домашнюю директорию пользователя. Потом подключается по SSH с приватным ключом. Но вот в чем дело, при обращении он ищет пользователя в стандартной домашней директории home, a мы работаем с пользователем службы, чья домашняя директория будет располагаться в /var/lib.

image

Изменим команду cmd4, на нашу правильную домашнюю дирректорию и запустим эксплоит.

image

И мы попали на хост.

USER



Теперь, не зная куда идти дальше, мы должны собрать по максимуму информации с хоста и проанализировать ее. В этом помогут скрипты перечисления, к примеру, LinEnum.

Я просто скопировал его на хост, присвоил права на запуск и выполнил.

image

Далее нам нужно просмотреть кучу информации и найти то, что выбивается из нормы. И мы находим.

image

При поиске бэкапов был обнаружен приватный ssh ключ. Причем его владельцем является пользователь Matt, а права на файл позволяют нам его читать.

image

Копируем ключ к себе на рабочую машину. Как видим ключ зашифрован, поэтому при подключении у нас попросят пароль.

image

Нам нужно узнать пароль. Сделать это можно пробрутив ключ с помощью того же John’а. Для начал перегоним его в нужный формат с помощью ssh2john.

image

Данный вывод нужно сохранить в файл и отдать на перебор.

image

И очень быстро находим пароль. Но подключиться по ssh ни по ключу, ни по паролю не вышло. Вспомнив про redis и команду su, входим в систему как Matt.

image

ROOT


Снова поискав что-нибудь интересное, вспоминаем про MiniServ, для которой нужны аутентификационные данные. Еще хорошо то, что данный эксплоит присутствует в Metasploit. Можно посмотреть подробную информацию о нем.

image

Теперь выбираем эксплоит для использования и задаем основные опции.

image

Мы в системы с полными правами.

Вы можете присоединиться к нам в Telegram. Давайте соберем сообщество, в котором будут люди, разбирающиеся во многих сферах ИТ, тогда мы всегда сможем помочь друг другу по любым вопросам ИТ и ИБ.
Источник: https://habr.com/ru/post/492384/


Интересные статьи

Интересные статьи

Статья о том, как упорядочить найм1. Информируем о вакансии2. Ведём до найма3. Автоматизируем скучное4. Оформляем и выводим на работу5. Отчитываемся по итогам6. Помогаем с адаптацией...
Продолжаю публикацию решений отправленных на дорешивание машин с площадки HackTheBox. В данной статье реверсим два Java приложения, при этом изменяем и рекомпилируем клиент, для...
Привет, Хабр! На HackQuest перед конференцией ZeroNight 2019 было одно занимательное задание. Я не сдал решение вовремя, но свою порцию острых ощущений получил. Я считаю, вам будет интерес...
«Битрикс» — кошмар на костылях. Эта популярная характеристика системы среди разработчиков и продвиженцев ныне утратила свою актуальность.
Сегодня мы поговорим о перспективах становления Битрикс-разработчика и об этапах этого пути. Статья не претендует на абсолютную истину, но даёт жизненные ориентиры.