Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Сегодня я покажу разные методы побега из Docker, которые могут использоваться при пентестах. Также мы проэксплуатируем баг в движке интернет‑магазина PrestaShop и используем уязвимость SSTI в сервисе ChangeDetection.
Наша цель — получение прав суперпользователя на машине Trickster с учебной площадки Hack The Box. Уровень сложности задания — средний.
warning
Подключаться к машинам с HTB рекомендуется с применением средств анонимизации и виртуализации. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Добавляем IP-адрес машины в /etc/hosts
:
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
).
Результат работы скрипта
Сканер нашел два открытых порта:
Скоуп очень маленький, поэтому сразу идем смотреть сайт.
Главная страница сайта
Сайт одностраничный, поэтому все ссылки в меню нерабочие, кроме последней, которая ведет на другой домен — shop.trickster.htb
.
Ошибка обращения к сайту
Обновим запись в файле /etc/hosts
, а затем обновим и страницу в браузере.
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
, и это отличная находка для атакующего! С помощью git-dumper попробуем сдампить репозиторий.
git-dumper http://shop.trickster.htb/.git/ ./shop/
Дамп репозитория
В репозитории всего один коммит, а значит, стоит заглянуть в исходный код. Это похоже на какую‑то CMS, причем с очень интересным каталогом админки: /admin634ewutrx1jgitlooaj
.
Содержимое репозитория
Переходим к админке и видим, что имеем дело с PrestaShop версии 8.1.5.
Страница авторизации PrestaShop info
Об атаке на PrestaShop в рамках реального пентеста читай в статье «Громим PrestaShop. Как я захватил инсталл интернет‑магазина на багбаунти».
Давай посмотрим, есть ли для этой версии PrestaShop готовые эксплоиты.
Поиск эксплоитов в Google
Из Google быстро узнаём, что PrestaShop 8.1.5 уязвима к CVE-2024-34716 и атака может привести к удаленному выполнению кода. Работает это так: если на страницу /contact-us
отправить вложение в формате PNG со встроенным кодом на JavaScript, то при просмотре в браузере код выполнится. С помощью кода на JS выполняется запрос к панели администрирования:
/admin/index.php/improve/design/themes/import
В результате импортируется модуль с PHP-нагрузкой, которая приводит к RCE. Все это уже реализовано в эксплоите.
Инструкция к эксплоиту
Источник: xakep.ru