Содержание статьи
- Разведка
- Сканирование портов
- Точка входа
- LDAP Injection
- Точка опоры
- Продвижение
- Пользователь jdoe
- Пользователь wsmith
- Повышение привилегий
В этом райтапе я покажу, как писать свою DLL для перехвата API-функции и получения вводимых в приложение учетных данных пользователя. Внедрив DLL в целевой процесс, читаем учетные данные и продвигаемся к новому пользователю. Затем, используя цепочку неправильно сконфигурированных списков доступа, получаем полный контроль над доменом. Но для начала проэксплуатируем LDAP-инъекцию и зальем на сервер веб‑шелл.
Наша цель — получение прав суперпользователя на машине Analysis с учебной площадки Hack The Box. Уровень задания — сложный.
Подключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Разведка
Сканирование портов
Добавляем IP-адрес машины в /etc/hosts:
10.10.11.250 analysis.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
Он действует в два этапа. На первом производится обычное быстрое сканирование, на втором — более тщательное сканирование, с использованием имеющихся скриптов (опция -A).
Результат работы скрипта
Скрипт нашел много открытых портов, что типично для Windows:
- 53 — DNS;
- 80 (HTTP) — веб‑сервер Microsoft IIS/10.0;
- 88 — Kerberos;
- 135 — служба удаленного вызова процедур (Microsoft RPC);
- 139 — служба сеансов NetBIOS, NetLogon;
- 389 — LDAP;
- 445 — SMB;
- 464 — служба смены пароля Kerberos;
- 593 (HTTP-RPC-EPMAP) — используется в службах DCOM и MS Exchange;
- 636 — LDAP с шифрованием SSL или TLS;
- 3268 (LDAP) — для доступа к Global Catalog от клиента к контроллеру;
- 3269 (LDAPS) — для доступа к Global Catalog от клиента к контроллеру через защищенное соединение;
- 3306 — СУБД MySQL;
- 5985 — служба удаленного управления WinRM;
- 9389 — веб‑службы AD DS.
Уязвимости Null session на SMB нет, поэтому сразу идем на веб‑сервер.
Главная страница сайта analysis.htb
Точка входа
На сайте ничего интересного найти не удалось, поэтому приступим к поиску скрытых файлов и каталогов.
Справка: сканирование веба c feroxbuster
Одно из первых действий при тестировании безопасности веб‑приложения — это сканирование методом перебора каталогов, чтобы найти скрытую информацию и недоступные обычным посетителям функции. Для этого можно использовать программы вроде dirsearch, DIRB или ffuf. Я предпочитаю feroxbuster.
При запуске указываем следующие параметры:
-
-u— URL; -
-w— словарь (я использую словари из набора SecLists); -
-t— количество потоков; -
-d— глубина сканирования.
Задаем все нужные параметры и запускаем сканирование:
feroxbuster -u http://analysis.htb/ -w directory_2.3_medium_lowercase.txt -d 1 -t 256