Содержание статьи
Наша цель — получение прав суперпользователя на машине Skyfall с учебной площадки Hack The Box. Уровень ее сложности — «безумный».
warning
Подключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Разведка
Сканирование портов
Добавляем IP-адрес машины в /
:
10.10.11.254 skyfall.htb
И запускаем сканирование портов.
Справка: сканирование портов
Сканирование портов — стандартный первый шаг при любой атаке. Он позволяет атакующему узнать, какие службы на хосте принимают соединение. На основе этой информации выбирается следующий шаг к получению точки входа.
Наиболее известный инструмент для сканирования — это Nmap. Улучшить результаты его работы ты можешь при помощи следующего скрипта:
#!/bin/bashports=$(nmap -p- --min-rate=500 $1 | grep ^[0-9] | cut -d '/' -f 1 | tr '\n' ',' | sed s/,$//)nmap -p$ports -A $1
Он действует в два этапа. На первом производится обычное быстрое сканирование, на втором — более тщательное сканирование, с использованием имеющихся скриптов (опция -A
).
![Результат работы скрипта Результат работы скрипта](https://static.xakep.ru/images/535253770b1f1b7deb1e6f8c328ae6e5/37801/02.png)
Сканер нашел всего два открытых порта:
- 22 — служба OpenSSH 8.9p1;
- 80 — веб‑сервер Nginx 1.18.0.
Сразу проверяем, что нам покажет веб‑сервер, и видим главную страницу сайта.
![Главная страница сайта Главная страница сайта](https://static.xakep.ru/images/535253770b1f1b7deb1e6f8c328ae6e5/37800/03.png)
Точка входа
Изучая сайт, находим ссылку на новый для нас поддомен.
![Главная страница сайта Главная страница сайта](https://static.xakep.ru/images/535253770b1f1b7deb1e6f8c328ae6e5/37799/04.png)
Прежде чем смотреть этот сайт, сначала обновим запись в /
:
10.10.11.254 skyfall.htb demo.skyfall.htb
На найденном сайте нас встречает форма авторизации.
![Форма авторизации Форма авторизации](https://static.xakep.ru/images/535253770b1f1b7deb1e6f8c328ae6e5/37798/05.png)
Так как сайт работает в демо‑режиме, в форме отображаются учетные данные guest:
.
![Главная страница сайта demo.skyfall.htb Главная страница сайта demo.skyfall.htb](https://static.xakep.ru/images/535253770b1f1b7deb1e6f8c328ae6e5/37797/06.png)
Просматривая страницы сайта, доходим до раздела Minio Metrics, где нас встречает ошибка 403, связанная с ограничением доступа.
![Ошибка 403 Ошибка 403](https://static.xakep.ru/images/535253770b1f1b7deb1e6f8c328ae6e5/37796/07.png)
Обход 403
Поскольку используется веб‑сервер Nginx, можно попробовать применить специальные последовательности в пути страницы, чтобы обойти контроль доступа. Я перебрал разные нагрузки с помощью Burp Intruder и определил два пути, которые возвращают содержимое страницы metrics
.
![Результат перебора в Burp Intruder Результат перебора в Burp Intruder](https://static.xakep.ru/images/535253770b1f1b7deb1e6f8c328ae6e5/37795/08.png)
![Содержимое страницы metrics Содержимое страницы metrics](https://static.xakep.ru/images/535253770b1f1b7deb1e6f8c328ae6e5/37794/09.png)
В представленной таблице видим minio_endpoint_url
. Поскольку мы нашли еще один поддомен, добавим и его в /
.
10.10.11.254 skyfall.htb demo.skyfall.htb prd23-s3-backend.skyfall.htb
А теперь посмотрим, что там.
![Содержимое сайта prd23-s3-backend.skyfall.htb Содержимое сайта prd23-s3-backend.skyfall.htb](https://static.xakep.ru/images/535253770b1f1b7deb1e6f8c328ae6e5/37793/10.png)
Точка опоры
Minio — это высокопроизводительное организованное объектное хранилище. Последний публичный эксплоит для Minio — CVE-2023–28432. Он позволяет неавторизованному пользователю получить конфиг, содержащий учетные данные. Эксплуатация очень простая, нужно всего лишь выполнить POST-запрос на страницу /
.
![Файл конфигураций Minio Файл конфигураций Minio](https://static.xakep.ru/images/535253770b1f1b7deb1e6f8c328ae6e5/37792/11.png)
Для работы с Minio потребуется консольная утилита mc
, скачать которую можно на официальном сайте.
wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
Продолжение доступно только участникам
Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».
Присоединяйся к сообществу «Xakep.ru»!
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее