HackTheBox. Прохождение Sauna. LDAP, AS-REP Roasting, AutoLogon, DCSync атака

jbkwmtaqsxv1axyblnv8zjlklsk.png


Продолжаю публикацию решений отправленных на дорешивание машин с площадки HackTheBox.

В данной статье находим действующего пользователя с помощью LDAP, работаем с данными автологина, а также выполняем атаки AS-REP Roasting и DCSync, направленные на получение учетных данных.

Подключение к лаборатории осуществляется через VPN. Рекомендуется не подключаться с рабочего компьютера или с хоста, где имеются важные для вас данные, так как Вы попадаете в частную сеть с людьми, которые что-то да умеют в области ИБ.

Организационная информация
Чтобы вы могли узнавать о новых статьях, программном обеспечении и другой информации, я создал канал в Telegram и группу для обсуждения любых вопросов в области ИиКБ. Также ваши личные просьбы, вопросы, предложения и рекомендации рассмотрю лично и отвечу всем.
Вся информация представлена исключительно в образовательных целях. Автор этого документа не несёт никакой ответственности за любой ущерб, причиненный кому-либо в результате использования знаний и методов, полученных в результате изучения данного документа.


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


d-pmivk2yxnnuiuabhpkillvboi.png

На хосте открыто много портов. Теперь просканируем их с помощью nmap, чтобы отфильтровать и выбрать нужные.

nmap sauna.htb -p53,593,49690,80,135,49670,88,3269,139,464,389,9389,445,49669,49667,3268,50956,636,5985


lfx8ztjcm1388_j0i2m3cvjtioq.png

Теперь для получения более подробной информации о сервисах, которые работают на портах, запустим сканирование с опцией -А.

nmap -A sauna.htb -p53,80,88,135,139,389,445,464,593,636,3268,3269,5985,9389


qhnsu5_vfm_nd9iowoe4jak73tg.png

На хосте много служб и первым делом следует посмотреть все, что могут дать WEB, LDAP, SMB и DNS. Для работы с LDAP я предпочитаю ldap браузер JXplorer. Выполним подключение к хосту.

guqi0vejgtsun51fd6yvoqjhpze.png

После успешного анонимного подключения нам доступны следующие записи. Среди них находим, предположительно, имя пользователя.

czrh_7lmj_uojxamztdd8uejugu.png

Далее заходим на WEB и находим персонал компании.

7_dp7h9pt93qloqjtctwegrncii.png

У нас есть список возможных пользователей, но не известно, у кого из них имеется учетная запись, и как она называется. Но из LDAP мы узнали пользователя, у которого точно есть учетная запись. Тогда составим список возможных имен этой записи.

nqecgdcsquqnenni5f53rbfc_xw.png

Для того, чтобы определить, имеется ли данная учетная запись, можно попытаться выполнить AS-REP Roasting, тогда нам сообщат, если данной учетной записи нет в системе. В противном случае, нам либо удастся выполнить атаку, либо нет — все зависит от флага DONT_REQ_PREAUTH (означает, что для данной учетной записи не требуется предварительная проверка подлинности Kerberos) выставленном в UAC данной записи. Выполнить атаку можно с помощью скрипта GetNPUsers из пакта impacket.

wrizc541xsycvfspxpqa2tjvqqg.png

Таким образом, у пользователя Hugo Smith имеется учетная запись hsmith.

USER


На основании того, что админы стараются следовать общему приципу о соглашении об именах пользователей, составим список возможных учетных записей для других пользователей.

e7xajorqmyu89imjkjq3zw220ui.png

И повторим атаку для данных пользователей.

sfesdx8y760yvr4ctcusf4vtg_u.png

Из всех пользователей, учетную запись имеет лишь одни, и атака проходит, мы получаем хеш пароля пользователя. Брутим его.

phgtkby1d5qvrc9fjdw0dqnhnde.png

И пароль успешно найден. Из множества способов использования учетных данных, выбираем службу удаленного управления (WinRM). Для подключения используем Evil-Winrm.

tvyp38mt2eioyxy5b_eml5yi6dq.png

И берем пользователя.

USER2


Для сбора информации на хосте можно использовать скрипты базового перечисления, наиболее полный — winPEAS. Загрузим его на целевой хост и выполним.

arelqfd04vocfljxnloshjzef4a.png

Среди информации, которую он выводит, находим данные автологина.

w4bba3v_w6t_pyndc8zketmw6_4.png

Но при попытке подключиться — терпим неудачу.

hsvrg-femb0firzikne1dpyo8d8.png

Вернемся и посмотрим, какие учетные записи зарегистрированы в системе. Находим имя учетной записи для данного пользователя.

76vdy1m2xchurkely65gwvuurye.png

ROOT


После подключения и выполнения нескольких перечислений, загружаем на хост SharpHound.

6m9my62nldn4o-b9yd1yza0yj0u.png

И выполним.

vlcj83zhv_96rfjugfyikx34kky.png

В текущей директории появится архив, скачиваем его.

d1dijjeecnp1hl039uozxyp-t7a.png

И закидываем в BloodHound.

kpajtfiqah6su3xhhw9o2lravzy.png

Таким образом мы имеем связь GetChangesAll (можно получить по ней информацию)

uc676otftkk8eecxqj5mwtfmcoy.png

В приведенном сообщении говорится о привилегии DS-Replication-Get-Changes-All. Это означает, что мы можем запросить репликацию критически важных данных с контроллера домена. Сделать это можно с помощью того же пакета impacket.

scmfxo9_5yik3ebal2pxc5xlfny.png

И мы имеем хеш админа. Evil-Winrm позволяет подключаться с использованием хеша.

ysn68tgtab1aeecxh6qznkkezcw.png

И получаем Администратора.

Вы можете присоединиться к нам в Telegram. Там можно будет найти интересные материалы, слитые курсы, а также ПО. Давайте соберем сообщество, в котором будут люди, разбирающиеся во многих сферах ИТ, тогда мы всегда сможем помочь друг другу по любым вопросам ИТ и ИБ.

© Habrahabr.ru