Содержание статьи
Наша цель — получение прав суперпользователя на машине 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 через загрузку собственного модуля.
Продолжение доступно только участникам
Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».
Присоединяйся к сообществу «Xakep.ru»!
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее