Содержание статьи
По пути получим первую сессию через уязвимый 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.

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