HackTheBox. Прохождение Sauna. LDAP, AS-REP Roasting, AutoLogon, DCSync атака
Продолжаю публикацию решений отправленных на дорешивание машин с площадки HackTheBox.
В данной статье находим действующего пользователя с помощью LDAP, работаем с данными автологина, а также выполняем атаки AS-REP Roasting и DCSync, направленные на получение учетных данных.
Подключение к лаборатории осуществляется через VPN. Рекомендуется не подключаться с рабочего компьютера или с хоста, где имеются важные для вас данные, так как Вы попадаете в частную сеть с людьми, которые что-то да умеют в области ИБ.
Вся информация представлена исключительно в образовательных целях. Автор этого документа не несёт никакой ответственности за любой ущерб, причиненный кому-либо в результате использования знаний и методов, полученных в результате изучения данного документа.
Recon
Данная машина имеет IP адрес 10.10.10.175, который я добавляю в /etc/hosts.
10.10.10.175 sauna.htb
Первым делом сканируем открытые порты. Так как сканировать все порты nmap«ом долго, то я сначала сделаю это с помощью masscan. Мы сканируем все TCP и UDP порты с интерфейса tun0 со скоростью 500 пакетов в секунду.
masscan -e tun0 -p1-65535,U:1-65535 10.10.10.175 --rate=500
На хосте открыто много портов. Теперь просканируем их с помощью nmap, чтобы отфильтровать и выбрать нужные.
nmap sauna.htb -p53,593,49690,80,135,49670,88,3269,139,464,389,9389,445,49669,49667,3268,50956,636,5985
Теперь для получения более подробной информации о сервисах, которые работают на портах, запустим сканирование с опцией -А.
nmap -A sauna.htb -p53,80,88,135,139,389,445,464,593,636,3268,3269,5985,9389
На хосте много служб и первым делом следует посмотреть все, что могут дать WEB, LDAP, SMB и DNS. Для работы с LDAP я предпочитаю ldap браузер JXplorer. Выполним подключение к хосту.
После успешного анонимного подключения нам доступны следующие записи. Среди них находим, предположительно, имя пользователя.
Далее заходим на WEB и находим персонал компании.
У нас есть список возможных пользователей, но не известно, у кого из них имеется учетная запись, и как она называется. Но из LDAP мы узнали пользователя, у которого точно есть учетная запись. Тогда составим список возможных имен этой записи.
Для того, чтобы определить, имеется ли данная учетная запись, можно попытаться выполнить AS-REP Roasting, тогда нам сообщат, если данной учетной записи нет в системе. В противном случае, нам либо удастся выполнить атаку, либо нет — все зависит от флага DONT_REQ_PREAUTH (означает, что для данной учетной записи не требуется предварительная проверка подлинности Kerberos) выставленном в UAC данной записи. Выполнить атаку можно с помощью скрипта GetNPUsers из пакта impacket.
Таким образом, у пользователя Hugo Smith имеется учетная запись hsmith.
USER
На основании того, что админы стараются следовать общему приципу о соглашении об именах пользователей, составим список возможных учетных записей для других пользователей.
И повторим атаку для данных пользователей.
Из всех пользователей, учетную запись имеет лишь одни, и атака проходит, мы получаем хеш пароля пользователя. Брутим его.
И пароль успешно найден. Из множества способов использования учетных данных, выбираем службу удаленного управления (WinRM). Для подключения используем Evil-Winrm.
И берем пользователя.
USER2
Для сбора информации на хосте можно использовать скрипты базового перечисления, наиболее полный — winPEAS. Загрузим его на целевой хост и выполним.
Среди информации, которую он выводит, находим данные автологина.
Но при попытке подключиться — терпим неудачу.
Вернемся и посмотрим, какие учетные записи зарегистрированы в системе. Находим имя учетной записи для данного пользователя.
ROOT
После подключения и выполнения нескольких перечислений, загружаем на хост SharpHound.
И выполним.
В текущей директории появится архив, скачиваем его.
И закидываем в BloodHound.
Таким образом мы имеем связь GetChangesAll (можно получить по ней информацию)
В приведенном сообщении говорится о привилегии DS-Replication-Get-Changes-All. Это означает, что мы можем запросить репликацию критически важных данных с контроллера домена. Сделать это можно с помощью того же пакета impacket.
И мы имеем хеш админа. Evil-Winrm позволяет подключаться с использованием хеша.
И получаем Администратора.
Вы можете присоединиться к нам в Telegram. Там можно будет найти интересные материалы, слитые курсы, а также ПО. Давайте соберем сообщество, в котором будут люди, разбирающиеся во многих сферах ИТ, тогда мы всегда сможем помочь друг другу по любым вопросам ИТ и ИБ.