Невозможно отучить людей изучать самые ненужные предметы.
Введение в CSS
Преимущества стилей
Добавления стилей
Типы носителей
Базовый синтаксис
Значения стилевых свойств
Селекторы тегов
Классы
CSS3
Надо знать обо всем понемножку, но все о немногом.
Идентификаторы
Контекстные селекторы
Соседние селекторы
Дочерние селекторы
Селекторы атрибутов
Универсальный селектор
Псевдоклассы
Псевдоэлементы
Кто умеет, тот делает. Кто не умеет, тот учит. Кто не умеет учить - становится деканом. (Т. Мартин)
Группирование
Наследование
Каскадирование
Валидация
Идентификаторы и классы
Написание эффективного кода
Вёрстка
Изображения
Текст
Цвет
Линии и рамки
Углы
Списки
Ссылки
Дизайны сайтов
Формы
Таблицы
CSS3
HTML5
Блог для вебмастеров
Новости мира Интернет
Сайтостроение
Ремонт и советы
Все новости
Справочник от А до Я
HTML, CSS, JavaScript
Афоризмы о учёбе
Статьи об афоризмах
Все Афоризмы
Помогли мы вам |
Подключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Добавляем IP-адрес машины в /
:
10.10.11.205 cerberus.htb
И запускаем сканирование портов.
Сканирование портов — стандартный первый шаг при любой атаке. Он позволяет атакующему узнать, какие службы на хосте принимают соединение. На основе этой информации выбирается следующий шаг к получению точки входа.
Наиболее известный инструмент для сканирования — это Nmap. Улучшить результаты его работы ты можешь при помощи следующего скрипта:
ports=$(nmap -p- --min-rate=500 $1 | grep^[0-9] | cut -d '/' -f 1 | tr 'n' ',' | sed s/,$//)nmap -p$ports -A $1
Он действует в два этапа. На первом производится обычное быстрое сканирование, на втором — более тщательное сканирование, с использованием имеющихся скриптов (опция -A
).
Сканер нашел всего один открытый порт! Это порт 8080, на котором работает веб‑сервер Apache 2.4.52. При этом в заголовке http-title
сразу отображен редирект на домен icinga.
, который мы добавляем в файл /
.
10.10.11.205 cerberus.htb icinga.cerberus.local cerberus.local
Теперь переходим по этому адресу в браузере, и нас встречает опенсорсная система мониторинга Icinga Web 2.
Первым делом нужно поискать существующие эксплоиты для найденной системы. Мне удалось выйти на блог, где описаны уязвимости для Icinga Web 2. И первое, что привлекает внимание, — это баг, позволяющий читать произвольные файлы на хосте.
Пробуем указанным в описании способом прочитать файл /
.
http://icinga.cerberus.local:8080/icingaweb2/lib/icinga/icinga-php-thirdparty/etc/hosts
Содержимое файла /etc/hostsНо одно дело — иметь такую возможность, а другое — знать, какие файлы читать. В этом поможет документация Icinga, где можно посмотреть имена и описание файлов с настройками. Первый интересный файл — это confing.
. Он содержит глобальные настройки, к примеру путь к файлам модулей.
http://icinga.cerberus.local:8080/icingaweb2/lib/icinga/icinga-php-thirdparty/etc/icingaweb2/config.ini
Содержимое файла config.iniВторой интересный файл — resources.
. В нем записаны учетные данные для подключения к базе данных.
http://icinga.cerberus.local:8080/icingaweb2/lib/icinga/icinga-php-thirdparty/etc/icingaweb2/resources.ini
Содержимое файла resources.iniС этими учетными данными получается авторизоваться на сайте.
Теперь у нас есть доступ к сайту, и можно перейти к другой описанной в том же ресерче уязвимости CVE-2022-24715. Аутентифицированные пользователи с доступом к настройкам фреймворка могут создавать файлы ресурсов SSH в непредусмотренных каталогах, что приводит к выполнению произвольного кода. Уязвимость заключается в неправильной проверке переданной строки в коде на PHP. Если использовать null-байт, то при проверке он будет учтен и строка получится обрезанной, но в момент записи в файл null-байт не будет учитываться, что приведет к записи дополнительных данных.
|
|