НОВОСТИ HackTheBox. Прохождение Resolute. Password spraying. От DnsAdmin до SYSTEM

Alvaros
Онлайн
Регистрация
14.05.16
Сообщения
21.452
Реакции
101
Репутация
204
gnq2-vvbv1u9l2qsjqo_xdmfins.png


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

В данной статье собираем информацию о машине, выполняем password spraying для получения пользователя, а также повышаем свои права от DnsAdmin до SYSTEM с помощью вредоносной DLL библиотеки.

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

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

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

Recon


Данная машина имеет IP адрес 10.10.10.169, который я добавляю в /etc/hosts.


10.10.10.169 resolute.htb

Первым делом сканируем открытые порты. Так как сканировать все порты nmap’ом долго, то я сначала сделаю это с помощью masscan. Мы сканируем все TCP и UDP порты с интерфейса tun0 со скоростью 500 пакетов в секунду.


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

k1ukotzhyjd56cow0b0oqasqkmk.png


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

nmap resolute.htb -p53,88,135,139,389,445,464,593,636,3268,3269,5985,9389,47001,49664,49665,49666,49667,49671,49676,49677,49688,49915


bcb5yxsifvtjhc-e203w7xyqatq.png


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

nmap -A resolute.htb -p53,88,135,139,389,445,464,593,636,3268,3269,5985,9389,47001,49664,49665,49666,49667,49671,49676,49677,49688,49915

lejgue_z-x0yqnqsmzxnbdzfwok.png


cyv5zicubk1tuyupghapzz16jyg.png


Из вывода nmap находим доменное имя megabank.local, которое добавляем в /etc/hosts. Первое делом в разведке для Windows — базовое перечисление. Лично я, тестируя с linux машины, использую enum4linux.

enum4linux -a megabank.local

fognvexkwr4dzovjhb-n59wztyu.png


mgbxya7qhtailkwfen673xqgfxc.png


8hpg1mlmap9unk-dsvayaylfeu4.png


9qsj64fxebsws98ae5dgk-jucci.png


lb80gabpp01s5j1cbuwwwu5qae0.png


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

USER


Так как мы имеем уже засвеченный в системе пароль и список пользователей, мы можем использовать одну из техник Lateral Movement — это Password Spraying. Обо всем этом я подробно писал . Суть в том, что мы пробуем известные пароли для всех известных пользователей.

Перебирать первым делом пробуем конечно же по SMB. Для этого можно использовать модуль smb_login для Metasploit Framework.

jq0dgwaihzuybfux46cjgog5maa.png


Указываем нужные параметры.

muskfhabe--hkxh4r6peyibbmz0.png


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

3cbeeqmhas_mthgr0xqltadfxya.png


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

qqn7mthjuwwot1iun0tqzigbymc.png


И получаем список доступных ресурсов. Если вернуться к списку портов, то там есть работающая служба WinRM на 5985. Для удобной работы с данной службой из-под linux можно использовать .

arqso553svopq61bg-bqbpeftn0.png


USER2


Evil-WinRM работает отлично, но метерпретер все же удобнее. Благо данная программа позволяет при подключении указывать директорию с PowerShell или C# файлами, которые будут автоматически загружены в сессию. Сгенерируем PowerShell файл, который будет содержать Meterpreter нагрузку.

sfcxaodejj1vo0afslfu3ez4vrw.png


И создадим листенер для прослушивания соединения.

i9rir4zftzvjjdrjub9gakmwdbm.png


Теперь подключаемся c Evil-WinRM и указываем директорию со скриптом.

e2f_xhfockxgky8a__jy1uzrvri.png


Но после запуска файла с нагрузкой, видим, что скрипт отработал без ошибок, но подключения нет.

wmdcxjb_c0qwigchcwmfyvrujym.png


Скорее всего скрипт был заблокирован. Так как это PowerShell, то скорее всего с помощью AMSI. Но Evil-WinRM имеет собственные полезные модули.

vhyby8bp6gimrzevacifhlqmpva.png


Как можно догадаться, нам нужен первый. Применим данный модуль и снова запустим наш файл с нагрузкой.

7nzojdvvvylhcmksvfowwzknxu8.png


И наблюдаем успешное соединение.

w_9usb7uyyblhvalp1mnnhe-ec4.png


После запуска скриптов для Recon’a, обхода машины, натыкаемся на интересную директорию.

0f7ur5peboaw5b-btlbkt_i-2mq.png


Это директория, которая хранит текстовый файл с записанной сессий PowerShell, после команды “Start-Transcript”. Ищем файл.

bjyntq4um9hqaa_nyczbaxq63mk.png


Давайте посмотрим содержимое.

xmedsokrl0wpjezu-jlts-sntlg.png


Так, это сессия пользователя Ryan. И чуть дальше находим команду, с которой передавался пароль.

s0e8krsihtsjrgmnghnfeaix_zm.png


Пробуем учетные данные для службы WinRM.

hpysr7o0ttyvb84rywglvbfhiji.png


И в итоге логинимся как Ryan.

ROOT


И первым делом, проверяя информацию о текущем пользователе, находим интересную особенность. Он является членом группы DnsAdmins.

ux7xabfv8ooxpgvhcx9obvxb01e.png


Это дает нам возможность повысить свои привилегии до SYSTEM. Мы можем попросить загрузить DLL при следующем запуске службы. Давайте сгенерируем DLL, содержащую нагрузку meterpreter.

4r7zxplhr6orsb3gmr8s07ffk9a.png


И запустим листенер.

uuef4rkqmxy9_hhduqix6utuqvq.png


Теперь активируем smb-сервер. Указываем директорию, название и поддержку SMB 2-й версии.

vgqcs9mkmhzjx_24kpl8ofkxbsg.png


Теперь с помощью dnscmd укажем, какую DLL загрузить.

d44cn7-e3e_swbqk--zg9b74cos.png


uwfcvqs8sruryh5guqsrhsoidwu.png


Команда успешно выполнена, теперь перезагрузим службу DNS.

sm28sprkxmrrvvutvok8dhnjkda.png


И после перезагрузки видим подключение по SMB.

1lg1xqphy3ooqbjwtlldgzjsm50.png


А также открытую сессию.

b5czfis340lgjqh6q0hs_cy3z-m.png


И мы получаем права System.

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