НОВОСТИ Hack The Box — прохождение Postman. Redis и WebMin

BDFINFO2.0
Оффлайн
Регистрация
14.05.16
Сообщения
11.398
Реакции
501
Репутация
0
whsvnf--j9jflusba-yolyagtqk.png


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

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

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

  • PWN;
  • криптография (Crypto);
  • cетевые технологии (Network);
  • реверс (Reverse Engineering);
  • стеганография (Stegano);
  • поиск и эксплуатация WEB-уязвимостей.

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

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

Вся информация представлена исключительно в образовательных целях. Автор этого документа не несёт никакой ответственности за любой ущерб, причиненный кому-либо в результате использования знаний и методов, полученных в результате изучения данного документа.

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

uczlim6qzyp6lgtrgjhmbemdnsy.png


Далее нужно собрать больше информации об известных портах. Для того используем nmap с параметром -А.

nmap -A postman.htb -p22,80,6379,10000

lx5qocr3ppfakapjdzsvv_nexho.png


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

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

jtuc8llwcdggg6kyos9s5kboaw4.png


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

wl3xgkndyd6oy4ia51umgqutxuk.png


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

Entry Point



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

vhwyrtwdvowkbc_2-zpfujce3oe.png


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

bsr7nystpygov4t-yrw9lz3afgk.png


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

dectr5iaq7nxsvexlisa8wk7vcu.png


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

lv_su8k2uqch7qcr8gnexp_eby0.png


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

USER



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

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

re2pypcl_jiy-f11j0evpudpyp8.png


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

pmhfcshxm8w-sergrakiuwhk1fc.png


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

ihfeeh_uvodjdg7iyadnh7sohxy.png


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

ccd6okhydioruaylidw2tu9j__k.png


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

xeiq9mohnkilt2a-eyzsaiqv95w.png


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

tygod4a6yo8tpkzojbdgodjchuy.png


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

flbqhrdglubvran6edjdb5al0m0.png


ROOT


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

a6tbjt2dssc9pigav2_ncbrp7qm.png


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

6dpqq2remi8fzwclizdj3a5cif8.png


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

Вы можете присоединиться к нам в . Давайте соберем сообщество, в котором будут люди, разбирающиеся во многих сферах ИТ, тогда мы всегда сможем помочь друг другу по любым вопросам ИТ и ИБ.
 
Сверху Снизу