Категория > Новости > HTB StreamIO. Раскручиваем доступ к MS SQL до полного захвата машины - «Новости»
HTB StreamIO. Раскручиваем доступ к MS SQL до полного захвата машины - «Новости»21-09-2022, 00:00. Автор: Edwards |
Hack The Box.warningПодключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками. РазведкаСканирование портовНачинаем, как обычно, со сканирования портов машины. Справка: сканирование портовСканирование портов — стандартный первый шаг при любой атаке. Он позволяет атакующему узнать, какие службы на хосте принимают соединение. На основе этой информации выбирается следующий шаг к получению точки входа. Наиболее известный инструмент для сканирования — это Nmap. Улучшить результаты его работы ты можешь при помощи следующего скрипта. ports=$(nmap -p- --min-rate=500 $1 | grep^[0-9] | cut -d '/' -f 1 | tr 'n' ',' | sed s/,$//)nmap -p$ports -A $1 Он действует в два этапа. На первом производится обычное быстрое сканирование, на втором — более тщательное сканирование, с использованием имеющихся скриптов (опция Результат работы скрипта Видим много открытых портов:
Ни SMB, ни LDAP ничего путного не ответили, к MS SQL дефолтные учетные данные не подошли, поэтому нам остался только веб. Тем более SSL-сертификат для порта 443 раскрывает нам еще два доменных имени, которые мы заносим в файл
10.10.11.158 streamio.htb DC.streamIO.htb watch.streamIO.htb
Главная страница сайта streamio.htbГлавная страница сайта watch.stream.htbНа первом сайте находим форму авторизации. Панель логина Точка входаSQL InjectionТак как мы точно знаем, что на хосте работает СУБД, стоит проверить некоторые методы для обхода авторизации. Перебирать будем по списку с помощью Burp Intruder. Burp Intruder — вкладка Payload Positions Это ничего не дало, поэтому попробуем нагрузки для поиска SQL-инъекции. И срабатывает нагрузка Результат перебора Мы подтвердили наличие уязвимости, а значит, можем использовать sqlmap для удобной эксплуатации. Сперва запустим ПО для подбора нагрузки и создания шаблона.
sqlmap -uhttps://streamio.htb/login.php --data='username=admin&password=admin' -pusername --batch
Информация об уязвимостиТеперь мы можем приступить к получению данных. Первым делом нужно узнать названия существующих БД (параметр
sqlmap -uhttps://streamio.htb/login.php --data='username=admin&password=admin' -pusername --batch --dbs
Базы данныхТут нас интересуют две базы:
sqlmap -uhttps://streamio.htb/login.php --data='username=admin&password=admin' -pusername --batch -DSTREAMIO --tables
Таблицы из базы STREAMIOСразу становится ясно, что следующая цель — таблица
sqlmap -uhttps://streamio.htb/login.php --data='username=admin&password=admin' -pusername --batch -DSTREAMIO -T users --columns
Колонки в таблице users
sqlmap -uhttps://streamio.htb/login.php --data='username=admin&password=admin' -pusername --batch -DSTREAMIO -T users -Cusername,password --dump
Теперь получим данные (параметр Данные из базы users У нас очень много хешей, предположительно MD5. Чтобы найти прообраз, я пользуюсь онлайновым ресурсом crackstation.net. Взломанные хеши В итоге мы получаем следующие пары логинов и паролей, с которыми можно попытаться авторизоваться на сайте. Полученные учетные данные Но, к сожалению, доступ мы так и не получаем. Может, на сайте есть админка? Чтобы найти ее, будем брутить каталоги.
ffuf -u 'https://streamio.htb/FUZZ' -t 256 -wdirectory_2.3_medium_lowercase.txt
Результат перебора каталоговЕсть каталог Панель администратора Точка опорыУ нас есть несколько доступных страниц. Но важны не сами страницы, а то, как сервер узнает, какую загрузить, — по имени параметра. Страница User С помощью Burp Intruder мы можем пробрутить название параметра, чтобы попробовать найти новые страницы. Burp Intruder — вкладка Payload PositionsРезультат сканирования В итоге определяем четыре страницы. Три из них нам уже известны, а вот Содержимое страницы debug Эта страница должна позволять читать файлы. Нас интересует код на PHP, а чтобы его получить, нужно использовать обертки на PHP. Давай закодируем страницу
?debug=php://filter/convert.base64-encode/resource=index.php
Получение страницы index.phpДля декодирования выделяем интересующий нас текст прямо в Burp и нажимаем Ctrl-Shift-B. Исходный код страницы Перейти обратно к новости |