Содержание статьи
Наша цель — получение прав суперпользователя на машине Pov с учебной площадки Hack The Box. Уровень ее сложности — средний.
warning
Подключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Разведка
Сканирование портов
Добавляем IP-адрес машины в /
:
10.10.11.251 pov.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 — веб‑сервер Microsoft IIS 10.0. Там нас встречает одностраничный сайт.
Точка входа
На сайте ничего интересного найти не удалось, поэтому приступим к сканированию.
Справка: сканирование веба c feroxbuster
Одно из первых действий при тестировании безопасности веб‑приложения — это сканирование методом перебора каталогов, чтобы найти скрытую информацию и недоступные обычным посетителям функции. Для этого можно использовать программы вроде dirsearch, DIRB или ffuf. Я предпочитаю feroxbuster.
При запуске указываем следующие параметры:
-
-u
— URL; -
-w
— словарь (я использую словари из набора SecLists); -
-t
— количество потоков; -
-d
— глубина сканирования.
Задаем все нужные параметры и запускаем перебор:
feroxbuster -u 'http://pov.htb/' -w directory_2.3_medium.txt -t 256 -d 1
Ничего не находим, а значит, следует просканировать поддомены (я это делаю с помощью ffuf), что поможет найти новые сайты и расширить область тестирования.
Здесь используем такие параметры:
-
-u
— URL-адрес; -
-w
— словарь; -
-t
— количество потоков; -
-H
— HTTP-заголовок; -
-fs
— фильтр по размеру страницы.
ffuf -u 'http://pov.htb/' -H 'Host: FUZZ.pov.htb' -w subdomains-bitquark-top100000.txt -t 128 -fs 12330
Находим новый поддомен и добавляем запись о нем в файл /
.
10.10.11.251 pov.htb dev.pov.htb
На новом сайте можно скачать портфолио пользователя.
В запросе отметим несколько особенностей. Во‑первых, используется ViewState — фича веб‑сервера ASP.NET, которая автоматически сохраняет данные страниц между разными запросами. При раскрытии настроек это может дать нам возможность удаленно выполнять код на сервере. Во‑вторых, обращаем внимание на способ, которым указано имя файла для скачивания.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»