По пути найдем веб‑приложение, обнаружим поддомен с MLflow, воспользуемся небезопасной загрузкой pickle-модели для удаленного выполнения команд и уже из полученного шелла доведем атаку до root.
Наша цель — получить права суперпользователя на машине SmartHire с учебной площадки Hack The Box. Уровень сложности — средний, операционная система — Linux.
warning
Подключаться к машинам с HTB рекомендуется с применением средств анонимизации и виртуализации. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Разведка
Сканирование портов
Добавляем IP-адрес машины в /:
10.129.69.239 smarthire.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).
Подробнее про работу с Nmap читай в статье «Nmap с самого начала. Осваиваем разведку и сканирование сети».
Сканер нашел два открытых порта:
- 22 — служба OpenSSH 8.9p1;
- 80 — веб‑сервер Nginx 1.18.0.
На веб‑сервере находится сайт с формой авторизации.
Точка входа
На сайте ничего интересного найти не удалось, поэтому переходим к сканированию каталогов. Запускаем feroxbuster.
Справка: сканирование веба c feroxbuster
Одно из первых действий при тестировании безопасности веб‑приложения — это сканирование методом перебора каталогов, чтобы найти скрытую информацию и недоступные обычным посетителям функции. Для этого можно использовать программы вроде dirsearch, DIRB или ffuf. Я предпочитаю feroxbuster.
При запуске указываем следующие параметры:
-u— URL;-d— глубина сканирования;-t— количество потоков;-w— словарь (я использую словари из набора SecLists).
Подробнее о веб‑фаззинге читай в статье «Веб‑фаззинг с самого начала. Учимся перебирать каталоги и искать скрытые файлы на сайтах».
Продолжение доступно только участникам
Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».
Присоединяйся к сообществу «Xakep.ru»!
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее