Содержание статьи
Наша цель — получение прав суперпользователя на машине 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

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