Невозможно отучить людей изучать самые ненужные предметы.
Введение в CSS
Преимущества стилей
Добавления стилей
Типы носителей
Базовый синтаксис
Значения стилевых свойств
Селекторы тегов
Классы
CSS3
Надо знать обо всем понемножку, но все о немногом.
Идентификаторы
Контекстные селекторы
Соседние селекторы
Дочерние селекторы
Селекторы атрибутов
Универсальный селектор
Псевдоклассы
Псевдоэлементы
Кто умеет, тот делает. Кто не умеет, тот учит. Кто не умеет учить - становится деканом. (Т. Мартин)
Группирование
Наследование
Каскадирование
Валидация
Идентификаторы и классы
Написание эффективного кода
Вёрстка
Изображения
Текст
Цвет
Линии и рамки
Углы
Списки
Ссылки
Дизайны сайтов
Формы
Таблицы
CSS3
HTML5
Блог для вебмастеров
Новости мира Интернет
Сайтостроение
Ремонт и советы
Все новости
Справочник от А до Я
HTML, CSS, JavaScript
Афоризмы о учёбе
Статьи об афоризмах
Все Афоризмы
Помогли мы вам |
Подключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Добавляем IP-адрес машины в /
для удобства:
10.10.11.137 admirertoo.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 — служба OpenSSH 7.9p1 и 80 — веб‑сервер Apache 2.4.38.
Начинаем традиционно с веба.
Первым делом просканируем сайт на наличие скрытых ресурсов.
Одно из первых действий при тестировании безопасности веб‑приложения — это сканирование методом перебора каталогов, чтобы найти скрытую информацию и недоступные обычным посетителям функции. Для этого можно использовать программы вроде dirsearch и DIRB.
Я предпочитаю легкий и очень быстрый ffuf. При запуске указываем следующие параметры:
-w
— словарь (я использую словари из набора SecLists);-t
— количество потоков;-u
— URL;-fc
— исключить из результата ответы с кодом 403.Запускаем ffuf:
ffuf -uhttp://admirertoo.htb/FUZZ -t 256 -wfiles_interesting.txt -fc 403
Результат сканирования каталогов с помощью ffufНичего найти не удалось. Зато когда я попытался перейти на точно не существующую страницу, я получил ссылку на домен admirer-gallery.
.
Добавим найденный домен в файл /
и повторим сканирование на новом домене. Так найдем новый поддомен!
10.10.11.137 admirertoo.htb admirer-gallery.htb
ffuf -uhttp://admirer-gallery.htb -t 256 -wsubdomains-top1million-110000.txt -H 'Host: FUZZ.admirer-gallery.htb' -fs14099
Результат сканирования поддоменовЕго тоже добавляем в /
и получаем доступ к панели авторизации Adminer.
10.10.11.137 admirertoo.htb admirer-gallery.htb db.admirer-gallery.htb
Страница авторизации AdminerAdminer — это легковесный инструмент администрирования СУБД, что‑то вроде легкого варианта phpMyAdmin. Так как авторизация происходит по нажатию на кнопку, значит, учетные данные уже должны быть в исходном коде страницы.
Так мы находим имя пользователя и пароль. Но сама панель Adminer ничего, кроме номера версии, нам не раскрывает.
Раз мы знаем номер версии, стоит поискать существующие эксплоиты. Делать это я рекомендую при помощи Google.
Так мы находим инструкцию с описанием уязвимости (PDF). Этот баг позволит нам просканировать внутренние ресурсы, а именно порты. Как указано в статье, запустим скрипт‑редиректор.
python2 redirect.py -p80 http://127.0.0.1
Затем я решил перебрать возможные СУБД. Их список есть в документации Adminer, а для перебора я использовал Burp.
Вместо server
вставляем СУБД, а вместо localhost
— свой локальный IP-адрес. Для некоторых СУБД получим ответ с записью ()
, а в других случаях совсем ничего.
Тогда я нашел исходники Adminer на GitHub и посмотрел, как указываются разные модули.
И первый же модуль elastic
делает запрос на наш хост.
А в браузере получаем код HTML-страницы с сервера. Это значит, что мы добились от сервера выполнения произвольного запроса на другой ресурс.
Теперь нам нужно найти внутренние сервисы и получить какую‑нибудь информацию от них. Искать их сканированием через найденную уязвимость — дело долгое и трудоемкое, поэтому начнем с поиска портов, подключение к которым фильтруется. Для этого выполним SYN-сканирование.
nmap -p- -sSadmirertoo.htb
Результат сканирования портов
|
|