Содержание статьи
Наша цель — получение прав суперпользователя на машине Trickster с учебной площадки Hack The Box. Уровень сложности задания — средний.
warning
Подключаться к машинам с HTB рекомендуется с применением средств анонимизации и виртуализации. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Разведка
Сканирование портов
Добавляем IP-адрес машины в /
:
10.10.11.34 trickster.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.9p1;
- 80 — веб‑сервер Apache 2.4.52.
Скоуп очень маленький, поэтому сразу идем смотреть сайт.
Точка входа
Сайт одностраничный, поэтому все ссылки в меню нерабочие, кроме последней, которая ведет на другой домен — shop.
.
Обновим запись в файле /
, а затем обновим и страницу в браузере.
10.10.11.34 trickster.htb shop.trickster.htb
На сайте ничего интересного найти не удалось, поэтому поищем, нет ли скрытых страниц и каталогов.
Справка: сканирование веба c feroxbuster
Одно из первых действий при тестировании безопасности веб‑приложения — это сканирование методом перебора каталогов, чтобы найти скрытую информацию и недоступные обычным посетителям функции. Для этого можно использовать программы вроде dirsearch, DIRB или ffuf. Я предпочитаю feroxbuster.
При запуске указываем следующие параметры:
-
-u
— URL; -
-w
— словарь (я использую словари из набора SecLists); -
-t
— количество потоков; -
-d
— глубина сканирования.
Задаем все параметры и запускаем сканирование:
feroxbuster -u http://shop.trickster.htb -w files_interesting.txt -d 1 -t 128
Среди каталогов видим .
, и это отличная находка для атакующего! С помощью git-dumper попробуем сдампить репозиторий.
git-dumper http://shop.trickster.htb/.git/ ./shop/
В репозитории всего один коммит, а значит, стоит заглянуть в исходный код. Это похоже на какую‑то CMS, причем с очень интересным каталогом админки: /
.
Переходим к админке и видим, что имеем дело с PrestaShop версии 8.1.5.
info
Об атаке на PrestaShop в рамках реального пентеста читай в статье «Громим PrestaShop. Как я захватил инсталл интернет‑магазина на багбаунти».
Точка опоры
Давай посмотрим, есть ли для этой версии PrestaShop готовые эксплоиты.
Из Google быстро узнаём, что PrestaShop 8.1.5 уязвима к CVE-2024-34716 и атака может привести к удаленному выполнению кода. Работает это так: если на страницу /
отправить вложение в формате PNG со встроенным кодом на JavaScript, то при просмотре в браузере код выполнится. С помощью кода на JS выполняется запрос к панели администрирования:
/admin/index.php/improve/design/themes/import
В результате импортируется модуль с PHP-нагрузкой, которая приводит к RCE. Все это уже реализовано в эксплоите.
Продолжение доступно только участникам
Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».
Присоединяйся к сообществу «Xakep.ru»!
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее