Содержание статьи
warning
Подключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Разведка
Сканирование портов
Машина Reel2 имеет IP-адрес 10.10.10.210 — я добавлю его в /
, чтобы можно было обращаться к хосту по имени.
10.10.10.210 reel2.htb
Любая атака начинается со сканирования открытых на хосте портов. Это необходимо для того, чтобы узнать, какие службы принимают соединение. Исходя из полученной информации, мы будем выбирать путь для получения точки входа и опоры. Я это делаю с помощью следующего скрипта, который использует утилиту Nmap и принимает один аргумент — адрес сканируемого хоста. Сначала он выполняет быстрое сканирование портов, затем сканирует найденные порты с использованием имеющихся скриптов.
#!/bin/bashports=$(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.

Перебор каталогов
У IIS есть несколько дефолтных каталогов (к примеру, /
— 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

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

На IIS мы нашли все что могли, а так как пользовательских веб‑приложений не обнаружено, то переходим на веб‑сервер Apache.
OSINT
Порт 8080 вызывает больший интерес, так как на этом сайте мы можем зарегистрироваться, а это даст доступ к дополнительным функциям.

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

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

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

Для создания паролей я попробовал утилиту bopscrk. Суть программ такого рода в том, что мы скармливаем им разные словари, последовательности символов или даже правила составления паролей, а они генерируют словарь для брута. Как видно на скриншоте ниже, я указал значение следующих параметров:
- минимальная длина пароля — 6;
- первое имя — sven;
- второе имя — svensson;
- релевантные слова через запятую — this, 2020, summer, hot;
- использовать leet-транскрипцию (когда, к примеру, буква е заменяется на цифру 3, g — на 9 и так далее) — отказываемся;
- использовать транскрипцию в разных регистрах — да;
- количество слов для комбинирования — 3.
В итоге мы получаем словарь, содержащий 9204 варианта пароля!

В результате мы получили два файла для перебора учетных данных пользователя — с логинами и с паролями.
Точка входа
Брутфорс 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 сохранит все найденные учетные данные в файл owa_valid_accounts.
.

Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»