Невозможно отучить людей изучать самые ненужные предметы.
Введение в CSS
Преимущества стилей
Добавления стилей
Типы носителей
Базовый синтаксис
Значения стилевых свойств
Селекторы тегов
Классы
CSS3
Надо знать обо всем понемножку, но все о немногом.
Идентификаторы
Контекстные селекторы
Соседние селекторы
Дочерние селекторы
Селекторы атрибутов
Универсальный селектор
Псевдоклассы
Псевдоэлементы
Кто умеет, тот делает. Кто не умеет, тот учит. Кто не умеет учить - становится деканом. (Т. Мартин)
Группирование
Наследование
Каскадирование
Валидация
Идентификаторы и классы
Написание эффективного кода
Вёрстка
Изображения
Текст
Цвет
Линии и рамки
Углы
Списки
Ссылки
Дизайны сайтов
Формы
Таблицы
CSS3
HTML5
Блог для вебмастеров
Новости мира Интернет
Сайтостроение
Ремонт и советы
Все новости
Справочник от А до Я
HTML, CSS, JavaScript
Афоризмы о учёбе
Статьи об афоризмах
Все Афоризмы
Помогли мы вам |
Подключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Добавляем IP-адрес машины в /
:
10.10.10.250 seal.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
).
Видим три открытых порта: 22 (служба SSH), 443 (веб‑сервер nginx 1.18.0) и 8080 (отмечен как HTTP-прокси).
Поскольку в начале прохождения у нас нет учетных данных, нет и смысла изучать службы, которые всегда требуют авторизации (например, SSH). Единственное, что мы можем делать здесь, — это перебирать пароли брутфорсом, но у машин с HTB почти всегда есть другое прохождение. В жизни таких вариантов может не быть, к тому же есть шансы подобрать пароль или получить его при помощи социальной инженерии.
Так как порт 443 работает по протоколу HTTPS, он содержит сертификат, а из него мы можем узнать, для какого адреса он действителен. Благо его мы уже добавили в файл /
.
Посмотрим на сами сайты. На первом нас встречает какой‑то одностраничный маркет с полями для ввода. На втором находим GitBucket. Одного взгляда достаточно, чтобы определить, с каким из сайтов стоит начинать работать.
GitBucket — это система для совместной работы с Git-репозиториями, которая предоставляет интерфейс в стиле GitHub. Здесь можно зарегистрироваться, что мы незамедлительно сделаем.
После этого нам становится доступно некоторое количество проектов. Мы можем поискать в исходных кодах критические данные вроде секретов, паролей и прочих интересностей. Также мы можем получить имена пользователей Git.
Запомним пользователей и пойдем по порядку просматривать репозитории. Так, в репозитории маркета мы найдем список дел, где среди прочего запланирована смена конфигурации Apache Tomcat.
Это важно, так как мы узнаем о еще одной технологии, которая используется на сайте. Давай просмотрим историю коммитов. Продвигаясь снизу вверх, остановимся на следующем коммите:
http://seal.htb:8080/root/seal_market/commit/ac210325afd2f6ae17cce84a8aa42805ce5fd010
В нем мы найдем файл конфигурации Tomcat и необходимый для авторизации пароль.
Пробуем авторизоваться с этим паролем в системе GitBucket от имени всех обнаруженных пользователей и выясняем, что можем зайти как luis
. К сожалению, ничего нового нам это не открывает, а к SSH пароль Льюиса не подошел. Поэтому перейдем к сайту маркета.
На сайте у нас возможностей немного, поэтому поищем скрытые страницы перебором. Я буду использовать утилиту fuff и словарь из набора Seclists.
Одно из первых действий при тестировании безопасности веб‑приложения — это сканирование методом перебора каталогов, чтобы найти скрытую информацию и недоступные обычным посетителям функции. Для этого можно использовать программы вроде dirsearch и DIRB.
Я предпочитаю легкий и очень быстрый ffuf. При запуске используем следующие параметры:
-w
— словарь (используем directory-list-2.3-medium
);-t
— количество потоков;-u
— URL;-fc
— исключить из результата ответы с кодом 403.Команда получается следующая:
ffuf -w ../wordlists/_to_check/directory-list-2.3-medium.txt -uhttps://seal.htb/FUZZ -fc 403 -t 200
Все найденные страницы выполняют редирект в соответствующий каталог. Но нам интересны только две: admin
и manager
.
При обращении к каталогу /
нам вернут ошибку 404, откуда мы узнаем, что на сервере работает Apache Tomcat 9.0.31. При этом страница /
выполнит редирект в каталог /
, откуда нас снова перенаправляет на /
. Последняя же вернет код 403 — это означает, что у нас недостаточно прав для доступа к странице. Чтобы расширить свою область знаний о сайте, повторим сканирование директорий, но уже в каталоге /
.
ffuf -w ../wordlists/_to_check/directory-list-2.3-medium.txt -uhttps://seal.htb/manager/FUZZ -fc 403 -t 200
Результат сканирования каталогов с помощью ffufОткрываем для себя две новые страницы: text
и status
. Ответ 401 означает, что требуется HTTP-авторизация. У нас уже есть имя пользователя и пароль из конфига Apache Tomcat, поэтому без проблем проходим авторизацию. Нас встретит панель Server Status Apache Tomcat.
Этот материал ничего нам не дает, поэтому стоит попробовать пробиться к закрытым для нас функциям.
Есть много рекомендаций, как обойти ответ 403 (доступ запрещен), среди которых использование редких методов запроса (вместо обычных GET и POST), разных заголовков HTTP и специальных путей к целевой странице. На все эти случаи у меня есть свои словари, собранные из интернета и объединенные в один. Поэтому я буду использовать Burp Intruder для перебора разных вариантов.
|
|