Содержание статьи
Наша цель — получение прав суперпользователя на машине Pterodactyl с учебной площадки Hack The Box. Уровень сложности задания — средний, операционная система — Linux.
warning
Подключаться к машинам с HTB рекомендуется с применением средств анонимизации и виртуализации. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Разведка
Сканирование портов
Добавляем IP-адрес машины в /:
10.129.24.224 pterodactyl.htb
И запускаем сканирование портов.
Справка: сканирование портов
Сканирование портов — стандартный первый шаг при любой атаке. Оно позволяет атакующему узнать, какие службы на хосте принимают соединение. На основе этой информации он выбирает следующий шаг к получению точки входа.
Самый известный инструмент для сканирования — это Nmap. Улучшить результаты его работы ты можешь при помощи такого скрипта:
#!/bin/bashports=$(nmap -p- --min-rate=500 $1 | grep ^[0-9] | cut -d '/' -f 1 | tr '' ',' | sed s/,$//)nmap -p$ports -A $1Он действует в два этапа. На первом выполняется обычное быстрое сканирование, на втором — более тщательное, с использованием встроенных скриптов (опция -A).
Подробнее про работу с Nmap читай в статье «Nmap с самого начала. Осваиваем разведку и сканирование сети».

Сканер нашел два открытых порта:
- 22 — служба OpenSSH 9.6;
- 80 — веб‑сервер Nginx 1.21.5.
Справка: брутфорс учеток
Поскольку в начале прохождения у нас нет учетных данных, нет и смысла изучать службы, которые всегда требуют авторизации (например, SSH). Единственное, что мы можем делать здесь, — это перебирать пароли брутфорсом, но у машин с HTB почти всегда есть другое прохождение. В жизни таких вариантов может не быть, к тому же есть шансы подобрать пароль или получить его при помощи социальной инженерии.
На веб‑сервере открывается главная страница проекта.

Точка входа
Осматривая сайт, находим файл changelog. с журналом обновлений проекта.

В changelog отмечено несколько важных деталей: поддомен play. с сервером Minecraft, панель управления Pterodactyl Panel v1.11.10 и включенный PHP PEAR. Добавим новый поддомен в /.
10.129.24.224 pterodactyl.htb play.pterodactyl.htb
Раз уж мы нашли один поддомен, попробуем просканировать и другие.
Справка: сканирование веба c ffuf
Одно из первых действий при тестировании безопасности веб‑приложения — это сканирование методом перебора каталогов, чтобы найти скрытую информацию и недоступные обычным посетителям функции. Для этого можно использовать программы вроде dirsearch и DIRB.
Я предпочитаю легкий и очень быстрый ffuf. При запуске указываем следующие параметры:
-
-u— URL; -
-w— словарь (я использую словари из набора SecLists); -
-t— количество потоков; -
-r— выполнять редиректы; -
-H— HTTP-заголовок
Место перебора помечается словом FUZZ.
Подробнее о веб‑фаззинге читай в статье «Веб‑фаззинг с самого начала. Учимся перебирать каталоги и искать скрытые файлы на сайтах».
В этом случае перебираем значение в заголовке Host.
ffuf -u 'http://pterodactyl.htb/' -H 'Host: FUZZ.v' -w subdomains-dnsscan-10000.txt -t 128

В вывод попали все варианты из списка, поэтому добавим фильтр по размеру ответа (параметр -fs).
ffuf -u 'http://pterodactyl.htb/' -H 'Host: FUZZ.v' -w subdomains-dnsscan-10000.txt -t 128 -fs 145

Находим еще один поддомен — panel.. Добавляем его в / и открываем новый сайт.
10.129.24.224 pterodactyl.htb play.pterodactyl.htb panel.pterodactyl.htb

Продолжение доступно только участникам
Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».
Присоединяйся к сообществу «Xakep.ru»!
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
