Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Сегодня я покажу, как получить приватные данные из дампа кучи Spring Boot, а затем завладеем доступом к системе Eureka. Через ее сервисы извлечем приватные данные пользователя и сессию на хосте. Для повышения привилегий используем уязвимость в пользовательском анализаторе логов.
Наша конечная цель — получение прав суперпользователя на машине Eureka с учебной площадки Hack The Box. Уровень задания — сложный.
warning
Подключаться к машинам с HTB рекомендуется с применением средств анонимизации и виртуализации. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Добавляем IP-адрес машины в /etc/hosts
:
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
).
Результат работы скрипта
Сканер нашел три открытых порта:
На порте 80 выполняется редирект на домен furni.htb
. Добавим его в файл /etc/hosts
и просмотрим сайт через браузер.
10.10.11.66 eureka.htb furni.htb
Главная страница сайта
Запускаем сканер Nuclei, который поможет быстро определить, какие технологии используются на веб‑сервере.
nuclei -u http://furni.htb
Результат сканирования сайта
Nuclei определил доступный эндпоинт Spring actuator/heapdump
, который предоставляет дамп кучи из JVM-приложения. Скачиваем дамп и парсим с помощью утилиты JDumpSpider. Там мы сможем найти различные важные данные вроде секретов и даже паролей.
wget http://furni.htb/actuator/heapdump java -jar JDumpSpider-1.1-SNAPSHOT-full.jar heapdump
Результат анализа дампа
В итоге находим учетные данные для базы MySQL и для сервиса Eureka, который работает на порте 8761.
Главная страница Eureka
Ссылки в сервисе Eureka дальше нас не продвинули, мы получаем одну и ту же страницу с ошибкой.
Ошибка Eureka
Учетные данные для MySQL позволяют нам авторизоваться и по SSH.
Сессия пользователя oscar190
На хосте ничего интересного мы не видим, поэтому поработаем с Eureka. В поисках информации об этом сервисе находим хорошую статью Hacking Netflix Eureka, в которой можно найти эндпоинты для подключаемых приложений, а также примеры запросов.
Справка из статьи
Ручка /eureka/apps
отдаст нам XML-файл со спецификациями подключенных приложений Eureka.
curl http://EurekaSrvr:[email protected]:8761/eureka/apps
Конфигурационный файл
Источник: xakep.ru