Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
В этом райтапе я покажу, как обходить фильтр локального включения файлов (LFI), затем разберем алгоритм генератора кода активации и проэксплуатируем уязвимость в функции десериализации объекта PHP. Получив доступ хосту, повысим привилегии, через инъекцию команд в скрипте на Bash.
warning
Подключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Добавляем IP-адрес машины в /etc/hosts
:
10.10.11.195 broscience.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.4p1, 80 и 433 — веб‑сервер Apache 2.4.54.
Помимо этого мы нашли редирект с порта 80 на 443, а из поля commonName
сертификата узнаем реальный домен (его мы и так уже записали в /etc/hosts
).
Главная страница сайта
На сайте ничего интересного найти не удалось, поэтому приступим к сканированию каталогов.
Справка: сканирование веба c fuff
Одно из первых действий при тестировании безопасности веб‑приложения — это сканирование методом перебора каталогов с целью поиска скрытой информации и недоступной обычным посетителям функций. Для этого можно использовать программы вроде dirsearch и dirb.
Я предпочитаю легкий и очень быстрый ffuf. При запуске используем следующие параметры:
-w
— словарь (я использую словари из набора Seclists);
-t
— количество потоков;
-u
— URL;
-k
— игнорировать ошибки сертификата;
-d
— глубина поиска.
Место перебора помечается словом FUZZ.
Запускаем fuff:
feroxbuster -u https://broscience.htb/ -k -w directory_2.3_medium_lowercase.txt -t 256 -d 2
Результат сканирования каталогов с помощью feroxbuster
Находим много каталогов, большинство из которых — второго уровня. Однако при просмотре найденных страниц определяем, что каталог /includes/
не проиндексирован, то есть мы можем посмотреть все файлы, которые в нем находятся.
Содержимое каталога /includes/
По порядку перебираем файлы в надежде раскрыть еще какую‑нибудь информацию. В ответ на запрос файла img.php
получаем сообщение о том, что нужно задать параметр path
.
Сообщение об ошибке
Источник: xakep.ru