В этой статье я покажу, как прой­ти машину Reel2 с пло­щад­ки Hack The Box, и на ее при­мере мы поз­накомим­ся с век­торами ата­ки на Outlook Web App, научим­ся генери­ровать спи­сок паролей из инфы о поль­зовате­ле, порабо­таем с WS-Management и поищем уяз­вимос­ти в нас­трой­ках Just Enough Administration (JEA). Заод­но я покажу, как собирать учет­ные дан­ные на хос­те, перенап­равлять тра­фик при­ложе­ния и делать шелл с помощью базы дан­ных.

warning

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

 

Разведка

 

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

Ма­шина Reel2 име­ет IP-адрес 10.10.10.210 — я добав­лю его в /etc/hosts, что­бы мож­но было обра­щать­ся к хос­ту по име­ни.

10.10.10.210 reel2.htb

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

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

В резуль­тате ска­ниро­вания име­ем сле­дующий спи­сок откры­тых пор­тов:

  • порт 80 — веб‑сер­вер Microsoft IIS 8.5;
  • порт 443 — обыч­но еще один порт веб‑сер­вера, но с исполь­зовани­ем SSL;
  • порт 5985 — этот порт отве­чает за служ­бу уда­лен­ного управле­ния WinRM;
  • пор­ты 6001...6021 — не инте­ресу­ют;
  • порт 8080 — веб‑сер­вер Apache.

Ес­тес­твен­но, начина­ем с веб‑сер­вера. Так, при обра­щении к кор­невому катало­гу веб‑сер­вера нас встре­чает стар­товая стра­ница IIS.

Стартовая страница Microsoft IIS
Стар­товая стра­ница Microsoft IIS
 

Перебор каталогов

У IIS есть нес­коль­ко дефол­тных катало­гов (к при­меру, /owa — Microsoft Outlook), но все рав­но сто­ит прос­каниро­вать дос­тупные катало­ги. Для это­го мож­но исполь­зовать широко извес­тные прог­раммы dirsearch и DIRB, но я обыч­но исполь­зую более быс­трый gobuster. При запус­ке исполь­зуем сле­дующие парамет­ры:

  • dir — ска­ниро­вание дирек­торий и фай­лов;
  • -k — не про­верять SSL-сер­тификат;
  • -t [] — количес­тво потоков;
  • -u [] — URL-адрес для ска­ниро­вания;
  • -x [] — инте­ресу­ющие рас­ширения фай­лов, перечис­ленные через запятую;
  • -w [] — сло­варь для перебо­ра;
  • —timeout [] — вре­мя ожи­дания отве­та.
gobuster dir -t 128 -u https://reel2.htb/ -k -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt -x html,php,aspx --timeout 30s
Обнаруженные подкаталоги и файлы на https://reel2.htb
Об­наружен­ные под­катало­ги и фай­лы на https://reel2.htb

В резуль­тате находим каталог owa.

Панель авторизации Outlook Web App
Па­нель авто­риза­ции Outlook Web App

На IIS мы наш­ли все что мог­ли, а так как поль­зователь­ских веб‑при­ложе­ний не обна­руже­но, то перехо­дим на веб‑сер­вер Apache.

 

OSINT

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

Панель авторизации Wallstant
Па­нель авто­риза­ции Wallstant

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

Домашняя страница авторизованного пользователя
До­маш­няя стра­ница авто­ризо­ван­ного поль­зовате­ля

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

Профиль пользователя sven
Про­филь поль­зовате­ля sven

Соз­дадим для него спи­сок воз­можных логинов. Ком­бинируя все воз­можные сочета­ния име­ни Sven Svensson, мы можем соз­дать сле­дующий спи­сок.

Список имен учетных записей
Спи­сок имен учет­ных записей

Для соз­дания паролей я поп­робовал ути­литу bopscrk. Суть прог­рамм такого рода в том, что мы скар­мли­ваем им раз­ные сло­вари, пос­ледова­тель­нос­ти сим­волов или даже пра­вила сос­тавле­ния паролей, а они генери­руют сло­варь для бру­та. Как вид­но на скрин­шоте ниже, я ука­зал зна­чение сле­дующих парамет­ров:

  • ми­нималь­ная дли­на пароля — 6;
  • пер­вое имя — sven;
  • вто­рое имя — svensson;
  • ре­леван­тные сло­ва через запятую — this, 2020, summer, hot;
  • ис­поль­зовать leet-транс­крип­цию (ког­да, к при­меру, бук­ва е заменя­ется на циф­ру 3, g — на 9 и так далее) — отка­зыва­емся;
  • ис­поль­зовать транс­крип­цию в раз­ных регис­трах — да;
  • ко­личес­тво слов для ком­биниро­вания — 3.

В ито­ге мы получа­ем сло­варь, содер­жащий 9204 вари­анта пароля!

Результат работы утилиты bopscrk
Ре­зуль­тат работы ути­литы bopscrk

В резуль­тате мы получи­ли два фай­ла для перебо­ра учет­ных дан­ных поль­зовате­ля — с логина­ми и с пароля­ми.

 

Точка входа

 

Брутфорс OWA

Ес­ли не зна­ешь, что исполь­зовать для бру­та, бери на замет­ку отличное средс­тво — SprayingToolkit. Этот тул­кит вклю­чает в себя нес­коль­ко модулей. Нам нужен модуль Atomizer, который исполь­зует­ся для бру­та Lync, OWA и IMAP. Запус­каем со сле­дующи­ми парамет­рами:

  • owa — для перебо­ра Outlook Web App;
  • reel2.htb — кор­невой для катало­га /owa адрес;
  • ~/tmp/bopscrk/tmp.txt — спи­сок паролей;
  • ~/tmp/user.txt — спи­сок логинов;
  • -i [H:M:S] — вре­мен­ной интервал меж­ду зап­росами;
  • -t [] — количес­тво потоков.
python3 atomizer.py owa reel2.htb ~/tmp/bopscrk/tmp.txt ~/tmp/user.txt -i 0:0:1 -t 64
Результат работы утилиты atomizer
Ре­зуль­тат работы ути­литы atomizer

Пе­ребор занима­ет некото­рое вре­мя, но все же находим вер­ную пару учет­ных дан­ных. Atomizer сох­ранит все най­ден­ные учет­ные дан­ные в файл owa_valid_accounts.txt.

Outlook Web App после успешной авторизации
Outlook Web App пос­ле успешной авто­риза­ции

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.


Оставить мнение