Невозможно отучить людей изучать самые ненужные предметы.
Введение в CSS
Преимущества стилей
Добавления стилей
Типы носителей
Базовый синтаксис
Значения стилевых свойств
Селекторы тегов
Классы
CSS3
Надо знать обо всем понемножку, но все о немногом.
Идентификаторы
Контекстные селекторы
Соседние селекторы
Дочерние селекторы
Селекторы атрибутов
Универсальный селектор
Псевдоклассы
Псевдоэлементы
Кто умеет, тот делает. Кто не умеет, тот учит. Кто не умеет учить - становится деканом. (Т. Мартин)
Группирование
Наследование
Каскадирование
Валидация
Идентификаторы и классы
Написание эффективного кода
Вёрстка
Изображения
Текст
Цвет
Линии и рамки
Углы
Списки
Ссылки
Дизайны сайтов
Формы
Таблицы
CSS3
HTML5
Блог для вебмастеров
Новости мира Интернет
Сайтостроение
Ремонт и советы
Все новости
Справочник от А до Я
HTML, CSS, JavaScript
Афоризмы о учёбе
Статьи об афоризмах
Все Афоризмы
Помогли мы вам |
Подключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Читайте также: Офіційний сайт нашого інтернет-магазину пропонує увазі цінителів стильних аксесуарів оригінальні наручні годинники Tissot (Тіссот), які виробляються в Швейцарії. Tissot — це компанія, що перебуває в авангарді годинникового сегмента світового ринку только у нас - Купить часы Tissot по доступным ценам ...
IP-адрес Delivery — 10.10.10.222, я добавлю его в /
, чтобы можно было обращаться к хосту по имени. Строчка, которую нужно добавить в файл, будет выглядеть вот так:
10.10.10.222 delivery.htb
Любая атака начинается со сканирования открытых на хосте портов. Это нужно, чтобы знать, какие службы отзываются на наш запрос, а соответственно, работают на целевой системе. Исходя из этой информации, мы сможем выбирать путь для получения точки входа и закрепления на хосте.
Я это делаю с помощью следующего скрипта, который использует утилиту Nmap. Он принимает один аргумент — адрес сканируемого хоста. Сначала скрипт производит обычное быстрое сканирование, а затем все найденные порты сканируются с использованием установленных скриптов для Nmap.
ports=$(nmap -p- --min-rate=500 $1 | grep^[0-9] | cut -d '/' -f 1 | tr 'n' ',' | sed s/,$//)nmap -p$ports -A $1
Результат работы скриптаТак я обнаружил три открытых порта:
SSH в начале решения машины трогать нет смысла: там нужен пароль, а у нас его нет. Перебирать логины и пароли (то есть брутфорсить учетные данные) при решении задачек — последнее дело, наверняка есть более элегантный метод добыть учетку.
Поэтому открываем браузер и заходим на сайт номер один, то есть тот, что работает на 80-м порте. Нам нужно не только искать потенциальные точки входа и уязвимости, но и собирать всю сопутствующую информацию: имена пользователей, версии ПО, на котором работает сайт, и так далее.
Главная страница сайта сразу приглашает нас перейти в раздел Contact Us. Там мы находим две ссылки.
Первая ссылка, обозначенная как HelpDesk, дает нам новый поддомен helpdesk.
, который сразу стоит добавить в файл /
. Тут нас ждет система поддержки, основанная на тикетах.
10.10.10.222 helpdesk.delivery.htb
Это приложение, которое собирает и отслеживает все обращения в службу поддержки из разных источников, к примеру по телефону или по электронной почте. Независимо от способа обращения запрос будет зарегистрирован в единой системе. При каждом новом обращении создается заявка, а к ней прикрепляются данные о клиентах и инцидентах. Доступ к такой системе может быть очень полезен, но пока что пойдем дальше.
Вторая ссылка, с текстом MatterMost server, приводит на тот самый непонятный порт 8065, о котором мы узнали на стадии сканирования. Там нас сразу встречает форма авторизации Mattermost с возможностью регистрации и восстановления пароля.
Mattermost — это интерактивный онлайновый чат с открытым исходным кодом, с возможностью обмена файлами, своим поиском и интеграциями. Он разработан как внутренний чат для организаций и в основном позиционируется как опенсорсная альтернатива Slack и Microsoft Teams. Заполучив доступ к такому чату, мы сможем узнать полезную информацию и получить сохраненные там файлы.
При регистрации у нас запрашивают адрес электронной почты для подтверждения регистрации. Поэтому мы не можем указать несуществующий адрес.
Поскольку мы уже знаем о существовании системы заявок, стоит попробовать ее использовать. Благо нам доступны опции создания заявки и проверки ее статуса. Переходим на вкладку Open a New Ticket в системе заявок и указываем необходимые для ее создания данные: адрес электронной почты (конечно же, несуществующий), имя пользователя, а также описание своей проблемы (любой текст).
После этого получаем информационное письмо с номером заявки. Но что более важно, для дополнения информации по заявке нам дают адрес электронной почты!
Так как при просмотре статуса тикета отображается история обращений, мы можем использовать данный нам адрес электронной почты при регистрации. Тогда в заявке мы сможем увидеть присланную на данный адрес ссылку для подтверждения регистрации. Давай так и сделаем: регистрируемся в Mattermost, а затем получаем статус заявки.
Как и предполагалось, мы получаем сообщение об успешной регистрации в информации о заявке. В сообщении есть ссылка для подтверждения, перейдя по которой мы станем полноправным пользователем чата Mattermost.
Смотрим доступные сообщения и среди них находим учетные данные для сервера. С найденными учетными данными успешно подключаемся к хосту по SSH.
Так мы получили флаг пользователя.
Так как на хосте развернут веб‑сервер, а на нем работает аж целое веб‑приложение, первое наше действие — попробовать получить какие‑либо учетные данные пользователей этого приложения. Высока вероятность, что эти учетные данные подойдут и для локальных пользователей тоже. Обычно такие данные хранятся либо в конфигах, либо в базе данных. Mattermost хранит учетные данные пользователей в базе данных MySQL, а учетные данные для подключения к базе находятся в файле конфигураций /
в разделе SqlSettings
по ключу DataSource
.
|
|