Наша конечная цель — получение прав суперпользователя на машине Eureka с учебной площадки Hack The Box. Уровень задания — сложный.
warning
Подключаться к машинам с HTB рекомендуется с применением средств анонимизации и виртуализации. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Разведка
Сканирование портов
Добавляем IP-адрес машины в /
:
10.10.11.66 eureka.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
).

Сканер нашел три открытых порта:
- 22 — служба OpenSSH 8.2p1;
- 80 — веб‑сервер Nginx 1.18.0;
- 8761 — сервис Eureka.
На порте 80 выполняется редирект на домен furni.
. Добавим его в файл /
и просмотрим сайт через браузер.
10.10.11.66 eureka.htb furni.htb

Точка входа
Запускаем сканер Nuclei, который поможет быстро определить, какие технологии используются на веб‑сервере.
nuclei -u http://furni.htb

Nuclei определил доступный эндпоинт Spring actuator/
, который предоставляет дамп кучи из JVM-приложения. Скачиваем дамп и парсим с помощью утилиты JDumpSpider. Там мы сможем найти различные важные данные вроде секретов и даже паролей.
wget http://furni.htb/actuator/heapdump
java -jar JDumpSpider-1.1-SNAPSHOT-full.jar heapdump


В итоге находим учетные данные для базы MySQL и для сервиса Eureka, который работает на порте 8761.

Ссылки в сервисе Eureka дальше нас не продвинули, мы получаем одну и ту же страницу с ошибкой.

Учетные данные для MySQL позволяют нам авторизоваться и по SSH.

Продвижение
На хосте ничего интересного мы не видим, поэтому поработаем с Eureka. В поисках информации об этом сервисе находим хорошую статью Hacking Netflix Eureka, в которой можно найти эндпоинты для подключаемых приложений, а также примеры запросов.

Ручка /
отдаст нам XML-файл со спецификациями подключенных приложений Eureka.
curl http://EurekaSrvr:0scarPWDisTheB3st@10.10.11.66:8761/eureka/apps

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