Категория > Новости > HTB Static. Захватываем сервер через VPN и дыру в Xdebug - «Новости»
HTB Static. Захватываем сервер через VPN и дыру в Xdebug - «Новости»21-12-2021, 00:00. Автор: Иосиф |
Hack The Box.warningПодключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками. Разведка. Сканирование портовДобавляем IP-адрес машины в
10.10.10.246 static.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 Он действует в два этапа. На первом производится обычное быстрое сканирование, на втором — более тщательное, с использованием имеющихся скриптов (опция Результат работы скрипта Мы нашли три открытых порта: 22 (служба OpenSSH 7.9p1), 2222 (служба OpenSSH 7.6p1) и 8080 (веб‑сервер Apache 2.4.38). Начнем с веба. Справка: брутфорс учетокПоскольку вначале у нас нет учетных данных, нет и смысла изучать службы, которые всегда требуют авторизации (например, SSH). Единственное, что мы можем делать здесь, — это перебирать пароли брутфорсом, но машины с HTB почти всегда можно пройти по‑другому. В жизни таких вариантов может не быть, к тому же есть шансы подобрать пароль или получить его при помощи социальной инженерии. В результатах скана отмечено, что в корневом каталоге сервера есть файл К примеру, никто не хочет, чтобы в поисковой выдаче появлялись страницы авторизации администраторов сайта, файлы или персональная информация со страниц пользователей и прочие вещи в таком духе. Но у любой медали две стороны: злоумышленники первым делом просматривают этот файл, чтобы узнать о файлах и каталогах, которые хочет спрятать администратор сайта. В нашем случае есть два каталога: На первой странице нас встречает самописный сайт, а точнее, форма авторизации. Во втором каталоге нет файла Форма авторизацииСодержимое каталога .ftp_uploads Скачиваем дамп базы данных и просматриваем сообщение.
В сообщении сказано, что файл был поврежден и его требуется восстановить. Разархивировать GZIP у меня тоже не вышло, поэтому я отправился в Google за поиском утилиты, способной решить эту проблему. Точка входаGZIP fixПоискав на просторах GitHub, я нашел программку fixgz. Но перед использованием ее нужно собрать из исходников.
git clone https://github.com/yonjar/fixgz
cd fixgz
g++ fixgz.cpp
./a.out ../db.sql.gz fixed_db.sql.gz
gunzip fixed_db.sql.gz
Исправление архива GZIPПосле исправления архива мы его распаковываем и читаем дамп базы данных. В дампе мы найдем учетные данные для авторизации: логин, хеш пароля и зачем‑то TOTP — одноразовый пароль на основе времени. Содержимое дампа базы данных У нас есть хеш, значит, нужно попытаться его перебрать. Но перед этим необходимо узнать алгоритм. Все возможные алгоритмы хеширования для заданной последовательности может подыскать утилита HashId. Определение типа хеша Из всех представленных алгоритмов наиболее популярный, а значит, и наиболее вероятный — SHA-1. Для него есть много онлайновых декрипторов с огромными базами. Воспользуемся одним из них и получим очень простой пароль. Находим пароль по хешу С учетными данными Форма ввода OTP TOTPTOTP (Time-based One-Time Password Algorithm) — алгоритм создания одноразовых паролей для защищенной аутентификации. Это алгоритм односторонней аутентификации, то есть сервер удостоверяется в подлинности клиента. Главное отличие TOTP от других подобных алгоритмов — генерация пароля на основе времени. Обычно это не точное время, а какой‑то его интервал (по умолчанию 30 секунд). Можно найти много генераторов ТОТP, как онлайновых, так и реализованных в виде библиотек для разных языков программирования. Что делает ТОТP безопасным — это TOTP-секрет, который мы, скорее всего, и нашли в базе. Осталось настроить время, как на удаленном сервере. Узнать его мы можем из ответа HTTP в заголовке HTTP-ответ Затем я использовал расширение auth-helper для Firefox. Полученный OTP быстро вставляем в форму, и нам открываются дополнительные возможности на сайте. Главная страница сайта Видим список серверов и соответствующие IP-адреса. Вот только сети эти нам недоступны. Также имеется форма ввода для какого‑то генератора. Я ввел простое слово и получил конфиг VPN. Предложение о загрузке конфига VPN Откроем файл и посмотрим параметры подключения. Так, в параметре Содержимое файла конфигураций Первым делом нужно добавить соответствующую запись в
10.10.10.246 static.htb vpn.static.htb
Теперь попробуем подключиться по VPN. Логи подключения VPN Из логов мы видим, что автоматически добавился маршрут в сети
sudo ip route add 172.20.0.0/24 dev tun9
А затем обратимся к хосту WEB ( Корневой каталог сайта Точка опорыСтраница Страница info.php Здесь очень много информации, которую нужно тщательно проанализировать. Отсюда можно узнать версии всех затронутых программных продуктов, таких как OpenSSL, PDO_MYSQL, Phar. Высока вероятность, что один из них будет не обновлен и поэтому уязвим. Так натыкаемся на Xdebug — средство профилирования и отладки скриптов на PHP. Xdebug поставляется как расширение для PHP, поэтому может дать нам выполнение произвольного кода. В базе Metasploit есть такой эксплоит. Поиск эксплоитов в базе MetasploitПараметры эксплоита По умолчанию Xdebug будет прослушивать порт 9000 на машине разработчика. Чтобы активировать Xdebug, в GET- или POST-параметре или в cookie должен присутствовать параметр Обычная конфигурация Xdebug может выглядеть так: Перейти обратно к новости |