- Регистрация
- 9 Май 2015
- Сообщения
- 1,480
- Баллы
- 155
Сегодня на практическом примере разберем злоупотребление списками доступа в Active Directory. Получив контроль над аккаунтом пользователя, достанем учетные данные сначала из нового менеджера паролей KeePass, а затем из DPAPI — для доступа к RDP.
Наша цель — получение прав суперпользователя на машине Puppy с учебной площадки . Уровень сложности задания — средний.
warning
Подключаться к машинам с HTB рекомендуется с применением средств анонимизации и виртуализации. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Разведка
Сканирование портов
Добавляем IP-адрес машины в /etc/hosts:
10.10.11.70 puppy.htb
На этот раз, помимо IP-адреса, нам доступны учетные данные пользователя домена.
Информация о машине
Просканируем порты.
Справка: сканирование портов
Сканирование портов — стандартный первый шаг при любой атаке. Он позволяет атакующему узнать, какие службы на хосте принимают соединение. На основе этой информации выбирается следующий шаг к получению точки входа.
Наиболее известный инструмент для сканирования — это Nmap. Улучшить результаты его работы ты можешь при помощи следующего скрипта:
#!/bin/bash
ports=$(nmap -p- --min-rate=500 $1 | grep ^[0-9] | cut -d '/' -f 1 | tr '
' ',' | sed s/,$//)
nmap -p$ports -A $1
Он действует в два этапа. На первом производится обычное быстрое сканирование, на втором — более тщательное сканирование, с использованием имеющихся скриптов (опция -A).
Результат работы скрипта
Сканер нашел 13 открытых портов:
Первым делом проверим выданные нам учетные данные с помощью .
nxc smb 10.10.11.70 -u levi.james -p 'KingofAkron2025!'
Результат проверки учетных данных
Получаем имя контроллера домена, поэтому обновим запись в файле /etc/hosts.
10.10.11.70 puppy.htb DC.puppy.htb
Точка входа
Собираем информацию в домене. Первый шаг — получение списка пользователей. Иногда в описании учетных записей можно найти интересную информацию и даже пароли.
nxc ldap 10.10.11.70 -u levi.james -p 'KingofAkron2025!' --users
Список пользователей
Ничего интересного не находим, но список пользователей в файл сохраняем. Теперь просмотрим список общих каталогов.
nxc smb 10.10.11.70 -u levi.james -p 'KingofAkron2025!' --shares
Список общих каталогов
На сервере расшарена папка DEV, но для ее просмотра у текущей учетной записи не хватает прав. Очевидных путей пока нет, поэтому соберем базу BloodHound.
Справка: BloodHound
Утилита использует теорию графов для выявления скрытых и зачастую непреднамеренных взаимосвязей в среде Active Directory. Ее можно использовать, чтобы легко идентифицировать очень сложные пути атаки. Помимо самой утилиты, которая позволяет просматривать граф, существует часть, загружаемая на удаленный хост для сбора информации. Она бывает в версиях для разных ОС и на разных языках программирования.
Для сбора информации будем использовать коллектор .
./rusthound-ce -i 10.10.11.70 -d PUPPY.HTB -u levi.james -p 'KingofAkron2025!' -c All -z
Сбор данных BloodHound
Данные собрались очень быстро. Загружаем итоговый архив в BloodHound-CE и строим граф от пользователя levi.james.
Граф BloodHound
Наша цель — получение прав суперпользователя на машине Puppy с учебной площадки . Уровень сложности задания — средний.
warning
Подключаться к машинам с HTB рекомендуется с применением средств анонимизации и виртуализации. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Разведка
Сканирование портов
Добавляем IP-адрес машины в /etc/hosts:
10.10.11.70 puppy.htb
На этот раз, помимо IP-адреса, нам доступны учетные данные пользователя домена.

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

Результат работы скрипта
Сканер нашел 13 открытых портов:
- 88 — служба Kerberos;
- порты 111, 2049 — служба Network File System (NFS);
- 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.
Первым делом проверим выданные нам учетные данные с помощью .
nxc smb 10.10.11.70 -u levi.james -p 'KingofAkron2025!'

Результат проверки учетных данных
Получаем имя контроллера домена, поэтому обновим запись в файле /etc/hosts.
10.10.11.70 puppy.htb DC.puppy.htb
Точка входа
Собираем информацию в домене. Первый шаг — получение списка пользователей. Иногда в описании учетных записей можно найти интересную информацию и даже пароли.
nxc ldap 10.10.11.70 -u levi.james -p 'KingofAkron2025!' --users

Список пользователей
Ничего интересного не находим, но список пользователей в файл сохраняем. Теперь просмотрим список общих каталогов.
nxc smb 10.10.11.70 -u levi.james -p 'KingofAkron2025!' --shares

Список общих каталогов
На сервере расшарена папка DEV, но для ее просмотра у текущей учетной записи не хватает прав. Очевидных путей пока нет, поэтому соберем базу BloodHound.
Справка: BloodHound
Утилита использует теорию графов для выявления скрытых и зачастую непреднамеренных взаимосвязей в среде Active Directory. Ее можно использовать, чтобы легко идентифицировать очень сложные пути атаки. Помимо самой утилиты, которая позволяет просматривать граф, существует часть, загружаемая на удаленный хост для сбора информации. Она бывает в версиях для разных ОС и на разных языках программирования.
Для сбора информации будем использовать коллектор .
./rusthound-ce -i 10.10.11.70 -d PUPPY.HTB -u levi.james -p 'KingofAkron2025!' -c All -z

Сбор данных BloodHound
Данные собрались очень быстро. Загружаем итоговый архив в BloodHound-CE и строим граф от пользователя levi.james.

Граф BloodHound
Источник: