Содержание статьи
- Разведка
- Сканирование портов
- Сбор данных
- Продвижение
- Пользователь benjamin
- Пользователь emily
- Локальное повышение привилегий
В этот раз я покажу, как можно эксплуатировать цепочку чрезмерных разрешений Active Directory. Мы завладеем FTP-сервером, потом разберемся с менеджером паролей и вытащим из него учетку пользователя. Затем проэксплуатируем еще одну цепочку чрезмерных разрешений для выполнения DCSync и захвата всего домена.
Конечная цель — получение прав суперпользователя на машине Administrator с учебной площадки Hack The Box. Уровень сложности задания — средний.
Подключаться к машинам с HTB рекомендуется с применением средств анонимизации и виртуализации. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Разведка
Сканирование портов
Добавляем IP-адрес машины в /etc/hosts:
10.10.11.42 Administrator.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).
Результат работы скрипта
Сканер нашел 13 открытых портов:
- 21 — FTP;
- 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 от клиента к контроллеру через защищенное соединение;
- 5985 — служба удаленного управления WinRM;
- 9389 — веб‑службы AD DS.
Проверим выданные учетные данные с помощью NetExec.
nxc smb 10.10.11.42 -u olivia -p ichliebedich
Результат проверки учетных данных
Сбор данных
На сервере работают службы WinRM и FTP, поэтому стоит проверить уровень доступа к ним в контексте текущей учетной записи.
nxc winrm 10.10.11.42 -u olivia -p ichliebedich
Проверка службы WinRMnxc ftp 10.10.11.42 -u olivia -p ichliebedich
Проверка службы FTP
Мы можем получить сессию через WinRM, но доступа к FTP у нас нет.
Теперь получим список пользователей. Иногда в описании учетных записей можно найти много интересного. Для такого запроса в NetExec есть параметр --users.
nxc ldap 10.10.11.42 -u olivia -p ichliebedich --users
Список пользователей
Ничего интересного не находим, поэтому авторизуемся в службе WinRM через Evil-WinRM.
evil-winrm -i 10.10.11.42 -u olivia -p ichliebedich
Информация о пользователе
В рабочем окружении пользователя ничего интересного не находим, поэтому соберем базу для BloodHound.
Утилита BloodHound использует теорию графов для выявления скрытых и зачастую непреднамеренных взаимосвязей в среде Active Directory. Ее можно использовать, чтобы легко идентифицировать очень сложные пути атаки. Помимо самой утилиты, которая позволяет просматривать граф, существует часть, загружаемая на удаленный хост для сбора информации. Она бывает в версиях для Windows — на PowerShell или C# — и для Linux — на Python.
Запускаем сбор информации при помощи SharpHound:
SharpHound.exe -c All --domaincontroller 10.10.11.42 --ldapusername olivia --ldappassword ichliebedich -d administrator.htb
Сбор базы BloodHound
Скачиваем собранную базу командой download и загружаем в сам BloodHound, после чего строим граф от имеющегося у нас пользователя olivia.