Категория > Новости > HTB Delivery. Крадем данные чата Mattermost и применяем правила hashcat - «Новости»

HTB Delivery. Крадем данные чата Mattermost и применяем правила hashcat - «Новости»


12-06-2021, 06:58. Автор: Fane
Hack The Box. Мы поуп­ражня­емся в базовых тех­никах взло­ма, получим дос­туп к Mattermost с помощью Support Ticket System, а потом будем ломать пароли, задавая кас­томные пра­вила в hashcat.

Под­клю­чать­ся к машинам с HTB рекомен­дует­ся толь­ко через VPN. Не делай это­го с компь­юте­ров, где есть важ­ные для тебя дан­ные, так как ты ока­жешь­ся в общей сети с дру­гими учас­тни­ками.



Читайте также:   Офіційний сайт нашого інтернет-магазину пропонує увазі цінителів стильних аксесуарів оригінальні наручні годинники Tissot (Тіссот), які виробляються в Швейцарії. Tissot — це компанія, що перебуває в авангарді годинникового сегмента світового ринку только у нас - Купить часы Tissot по доступным ценам ...

Разведка


 

Сканирование портов


IP-адрес Delivery — 10.10.10.222, я добав­лю его в /etc/hosts, что­бы мож­но было обра­щать­ся к хос­ту по име­ни. Строч­ка, которую нуж­но добавить в файл, будет выг­лядеть вот так:


10.10.10.222 delivery.htb

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


Я это делаю с помощью сле­дующе­го скрип­та, который исполь­зует ути­литу Nmap. Он при­нима­ет один аргу­мент — адрес ска­ниру­емо­го хос­та. Сна­чала скрипт про­изво­дит обыч­ное быс­трое ска­ниро­вание, а затем все най­ден­ные пор­ты ска­ниру­ются с исполь­зовани­ем уста­нов­ленных скрип­тов для Nmap.


ports=$(nmap -p- --min-rate=500 $1 | grep^[0-9] cut -d '/' -f 1 | tr 'n' ',' | sed s/,$//)nmap -p$ports -A $1
Ре­зуль­тат работы скрип­та

Так я обна­ружил три откры­тых пор­та:



  • порт 22 — служ­ба SSH;

  • порт 80 — веб‑сер­вер nginx 1.14.2;

  • порт 8065 — веб‑сер­вер, но пока не уста­нов­лено какой.


SSH в начале решения машины тро­гать нет смыс­ла: там нужен пароль, а у нас его нет. Переби­рать логины и пароли (то есть брут­форсить учет­ные дан­ные) при решении задачек — пос­леднее дело, навер­няка есть более эле­ган­тный метод добыть учет­ку.


По­это­му откры­ваем бра­узер и заходим на сайт номер один, то есть тот, что работа­ет на 80-м пор­те. Нам нуж­но не толь­ко искать потен­циаль­ные точ­ки вхо­да и уяз­вимос­ти, но и собирать всю сопутс­тву­ющую информа­цию: име­на поль­зовате­лей, вер­сии ПО, на котором работа­ет сайт, и так далее.


Глав­ная стра­ница сай­та сра­зу приг­лаша­ет нас перей­ти в раз­дел Contact Us. Там мы находим две ссыл­ки.


HTB Delivery. Крадем данные чата Mattermost и применяем правила hashcat - «Новости»
Стра­ница Contact Us 

Сканирование веба


Пер­вая ссыл­ка, обоз­начен­ная как HelpDesk, дает нам новый под­домен helpdesk.delivery.htb, который сра­зу сто­ит добавить в файл /etc/hosts. Тут нас ждет сис­тема под­дер­жки, осно­ван­ная на тикетах.


10.10.10.222 helpdesk.delivery.htb
Глав­ная стра­ница helpdesk.delivery.htb

Это при­ложе­ние, которое собира­ет и отсле­жива­ет все обра­щения в служ­бу под­дер­жки из раз­ных источни­ков, к при­меру по телефо­ну или по элек­трон­ной поч­те. Незави­симо от спо­соба обра­щения зап­рос будет зарегис­три­рован в еди­ной сис­теме. При каж­дом новом обра­щении соз­дает­ся заяв­ка, а к ней прик­репля­ются дан­ные о кли­ентах и инци­ден­тах. Дос­туп к такой сис­теме может быть очень полезен, но пока что пой­дем даль­ше.


Вто­рая ссыл­ка, с тек­стом MatterMost server, при­водит на тот самый непонят­ный порт 8065, о котором мы узна­ли на ста­дии ска­ниро­вания. Там нас сра­зу встре­чает фор­ма авто­риза­ции Mattermost с воз­можностью регис­тра­ции и вос­ста­нов­ления пароля.


Фор­ма авто­риза­ции Mattermost

Mattermost — это инте­рак­тивный онлай­новый чат с откры­тым исходным кодом, с воз­можностью обме­на фай­лами, сво­им поис­ком и интегра­циями. Он раз­работан как внут­ренний чат для орга­низа­ций и в основном позици­они­рует­ся как опен­сор­сная аль­тер­натива Slack и Microsoft Teams. Заполу­чив дос­туп к такому чату, мы смо­жем узнать полез­ную информа­цию и получить сох­ранен­ные там фай­лы.


 

Точка входа


При регис­тра­ции у нас зап­рашива­ют адрес элек­трон­ной поч­ты для под­твержде­ния регис­тра­ции. Поэто­му мы не можем ука­зать несущес­тву­ющий адрес.


Пос­коль­ку мы уже зна­ем о сущес­тво­вании сис­темы заявок, сто­ит поп­робовать ее исполь­зовать. Бла­го нам дос­тупны опции соз­дания заяв­ки и про­вер­ки ее ста­туса. Перехо­дим на вклад­ку Open a New Ticket в сис­теме заявок и ука­зыва­ем необ­ходимые для ее соз­дания дан­ные: адрес элек­трон­ной поч­ты (конеч­но же, несущес­тву­ющий), имя поль­зовате­ля, а так­же опи­сание сво­ей проб­лемы (любой текст).


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


Фор­ма офор­мле­ния новой заяв­ки
Ин­форма­цион­ное сооб­щение о при­нятой заяв­ке

Так как при прос­мотре ста­туса тикета отоб­ража­ется исто­рия обра­щений, мы можем исполь­зовать дан­ный нам адрес элек­трон­ной поч­ты при регис­тра­ции. Тог­да в заяв­ке мы смо­жем уви­деть прис­ланную на дан­ный адрес ссыл­ку для под­твержде­ния регис­тра­ции. Давай так и сде­лаем: регис­три­руем­ся в Mattermost, а затем получа­ем ста­тус заяв­ки.


Фор­ма регис­тра­ции Mattermost
По­луче­ние ста­туса заяв­ки в HelpDesk
Со­обще­ние об успешной регис­тра­ции

Как и пред­полага­лось, мы получа­ем сооб­щение об успешной регис­тра­ции в информа­ции о заяв­ке. В сооб­щении есть ссыл­ка для под­твержде­ния, перей­дя по которой мы ста­нем пол­ноправ­ным поль­зовате­лем чата Mattermost.


Фор­ма авто­риза­ции Mattermost c сооб­щени­ем об успешной верифи­кации 

Закрепление


Смот­рим дос­тупные сооб­щения и сре­ди них находим учет­ные дан­ные для сер­вера. С най­ден­ными учет­ными дан­ными успешно под­клю­чаем­ся к хос­ту по SSH.


Чат Mattermost

Так мы получи­ли флаг поль­зовате­ля.


Флаг поль­зовате­ля 

Локальное повышение привилегий


 

Дампинг учетных данных


Так как на хос­те раз­вернут веб‑сер­вер, а на нем работа­ет аж целое веб‑при­ложе­ние, пер­вое наше дей­ствие — поп­робовать получить какие‑либо учет­ные дан­ные поль­зовате­лей это­го при­ложе­ния. Высока веро­ятность, что эти учет­ные дан­ные подой­дут и для локаль­ных поль­зовате­лей тоже. Обыч­но такие дан­ные хра­нят­ся либо в кон­фигах, либо в базе дан­ных. Mattermost хра­нит учет­ные дан­ные поль­зовате­лей в базе дан­ных MySQL, а учет­ные дан­ные для под­клю­чения к базе находят­ся в фай­ле кон­фигура­ций /opt/mattermost/config/config.json в раз­деле SqlSettings по клю­чу DataSource.



Перейти обратно к новости