Содержание статьи
Наша цель — получение прав суперпользователя на машине Mist с учебной площадки Hack The Box. Уровень сложности задания — «безумный».
warning
Подключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Разведка
Сканирование портов
Добавляем IP-адрес машины в /
:
10.10.11.17 mist.htb
И запускаем сканирование портов.
Справка: сканирование портов
Сканирование портов — стандартный первый шаг при любой атаке. Он позволяет атакующему узнать, какие службы на хосте принимают соединение. На основе этой информации выбирается следующий шаг к получению точки входа.
Наиболее известный инструмент для сканирования — это Nmap. Улучшить результаты его работы ты можешь при помощи следующего скрипта:
#!/bin/bashports=$(nmap -p- --min-rate=500 $1 | grep ^[0-9] | cut -d '/' -f 1 | tr '\n' ',' | sed s/,$//)nmap -p$ports -A $1
Он действует в два этапа. На первом производится обычное быстрое сканирование, на втором — более тщательное сканирование, с использованием имеющихся скриптов (опция -A
).
Сканер обнаружил всего один открытый порт: 80 — веб‑сервер Apache 2.4.52. На сайте нас ожидает система Pluck 4.7.18.
Точка входа
При попытке перейти к управлению в системе нас встретит форма аутентификации.
Первым делом стоит проверить, есть ли для обнаруженной CMS готовые эксплоиты. Идем за ними прямиком в Google.
Обнаруживаем, что в этой версии Pluck есть возможность разместить веб‑шелл через загрузку модуля и тем самым получить RCE. Но проблема в том, что сперва нужно получить доступ к управлению веб‑приложением.
Так как версия приложения не самая новая, переходим к поиску других эксплоитов. В модуле albums
в функции получения изображений есть уязвимость обхода каталога, что позволит нам получить содержимое любого файла.
Но пример из PoC не сработал, запрос был заблокирован.
Посмотрим, какие еще есть интересные модули и файлы. Для этого просканируем каталоги с помощью feroxbuster. При запуске используем следующие параметры:
-
-u
— URL; -
-d
— глубина сканирования.
feroxbuster -u http://mist.htb/ -d 2
Пройдемся по найденным каталогам и заметим, что директория /
не индексируется и мы можем получить доступ ко всем файлам внутри нее.
Теперь используем найденную ранее уязвимость LFI для чтения содержимого файла admin_backup.
.
В файле есть какой‑то хеш, попробуем его подобрать.
Точка опоры
Брутить хеш будем с помощью hashcat. У него есть возможность автоматического определения типа хеша, поэтому передаем ему только хеш и словарь для перебора. Но под этот формат подходит несколько алгоритмов, о чем утилита нам и сообщит.
hashcat 'c81dd.....ce81e' rockyou.txt
Из представленных алгоритмов наиболее популярен SHA2-512. При повторном запуске hashcat добавим номер алгоритма в параметре -m
.
hashcat -m 1700 'c81dd.....ce81e' rockyou.txt
С этим паролем можно авторизоваться в системе Pluck и попробовать получить RCE через загрузку собственного модуля.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»