Содержание статьи
По пути получим первую сессию через уязвимый pgAdmin, найдем учетные данные в окружении, перехватим пароль LDAP из панели самообслуживания паролей, прочитаем пароль управляемой сервисной учетной записи и в финале используем права на центр сертификации Active Directory для получения доступа администратора домена. Будет весело!
Наша конечная цель — получить права суперпользователя на машине Fries с учебной площадки Hack The Box. Уровень задания — сложный, операционная система — Windows.
warning
Подключаться к машинам с HTB рекомендуется с применением средств анонимизации и виртуализации. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Разведка
Сканирование портов
Добавляем IP-адрес машины в /:
10.129.244.72 fries.htb
На этот раз, помимо IP-адреса машины, нам выдали еще и какие‑то учетные данные.

Запускаем сканирование портов.
Справка: сканирование портов
Сканирование портов — стандартный первый шаг при любой атаке. Оно позволяет атакующему узнать, какие службы на хосте принимают соединение. На основе этой информации он выбирает следующий шаг к получению точки входа.
Самый известный инструмент для сканирования — это Nmap. Улучшить результаты его работы ты можешь при помощи такого скрипта:
#!/bin/bashports=$(nmap -p- --min-rate=500 $1 | grep ^[0-9] | cut -d '/' -f 1 | tr '' ',' | sed s/,$//)nmap -p$ports -A $1Он действует в два этапа. На первом выполняется обычное быстрое сканирование, на втором — более тщательное, с использованием встроенных скриптов (опция -A).
Подробнее про работу с Nmap читай в статье «Nmap с самого начала. Осваиваем разведку и сканирование сети».

Сканер нашел 16 открытых портов:
- 22 — служба OpenSSH 8.9p1;
- 80 (HTTP) — веб‑сервер Nginx 1.18.0;
- 88 — Kerberos;
- 135 — Microsoft RPC;
- 139 — служба сеансов NetBIOS, NetLogon;
- 389 — LDAP;
- 443 (HTTPS) — веб‑сервер Nginx 1.18.0;
- 445 — SMB;
- 464 — служба смены пароля Kerberos;
- 593 (HTTP-RPC-EPMAP) — используется в службах DCOM и Microsoft Exchange;
- 636 — LDAP с шифрованием SSL или TLS;
- 2179 — неопознанная служба;
- 3268 (LDAP) — для доступа к глобальному каталогу с клиента к контроллеру домена;
- 3269 (LDAPS) — для доступа к глобальному каталогу с клиента к контроллеру домена через защищенное соединение;
- 5985 — WinRM;
- 9389 — веб‑службы AD DS.
Первым делом проверяем выданные учетные данные в домене.
nxc smb fries.htb -u 'd.cooper' -p 'D4LE11maan!!'
Выясняем, что учетная запись относится к какому‑то сайту.

Точка входа
На порте 443 настроен редирект на адрес pwm., поэтому обновим запись в файле / и откроем новый сайт.
10.129.244.72 dc01 dc01.fries.htb pwm.fries.htb fries.htb

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

Нам уже известно несколько доменов, так что попробуем перебором найти еще. Для сканирования поддоменов используем ffuf.
Справка: сканирование веба c ffuf
Одно из первых действий при тестировании безопасности веб‑приложения — это сканирование методом перебора каталогов, чтобы найти скрытую информацию и недоступные обычным посетителям функции. Для этого можно использовать программы вроде dirsearch и DIRB.
Я предпочитаю легкий и очень быстрый ffuf. При запуске указываем следующие параметры:
-u— URL;-w— словарь (я использую словари из набора SecLists);-t— количество потоков;-fc— исключить из результата ответы с кодом 403;-H— HTTP-заголовок.
Место перебора помечаем словом FUZZ.
Подробнее о веб‑фаззинге читай в статье «Веб‑фаззинг с самого начала. Учимся перебирать каталоги и искать скрытые файлы на сайтах».
Задаем параметры и запускаем:
ffuf -u 'http://fries.htb/' -H 'Host: FUZZ.fries.htb' -w subdomains-bitquark-top100000.txt -t 128
В вывод попадают все варианты из списка, поэтому отфильтруем результаты по коду ответа (параметр -fc).
ffuf -u 'http://fries.htb/' -H 'Host: FUZZ.fries.htb' -w subdomains-bitquark-top100000.txt -t 128 -fc 302
Так мы находим еще один поддомен — code, поэтому снова обновляем запись в /. По новому адресу нас встречает GitLab.
10.129.244.72 dc01 dc01.fries.htb pwm.fries.htb code.fries.htb fries.htb

Выданные учетные данные подходят и здесь. Нам доступен один репозиторий.

В описании репозитория находим еще один поддомен — db-mgmt05., поэтому обновляем запись в /.
10.129.244.72 dc01.fries.htb pwm.fries.htb code.fries.htb db-mgmt05.fries.htb fries.htb

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

На новом домене нас встречает pgAdmin.

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