CTF (Capture the Flag) — Базовые инструменты для пентеста — ToolsRus. TryHackMe.
Здравствуйте, дорогие друзья. Сегодня рассмотрим комнату сервиса TryHackMe, которая называется ToysRus.
Наша задача состоит в том, чтобы использовать перечисленные ниже инструменты для тестирования сервера, попутно собирая информацию, которая в конечном итоге приведет к тому, что Вы захватите машину.
В рамках данного райтапа мы будем использовать следующие инструменты:
— Dirbuster
— Hydra
— Nmap
— Nikto
— Metasploit
Итак, начнем проходить данный челлендж. Первое, что необходимо сделать, так это запустить машину для прохождения, с помощью зеленой кнопки в правом верхнем углу:
Потом нужно выбрать вариант использования хостовой машины, которая может быть, как в облаке (я буду использовать этот вариант, так как он более предпочтителен для новичков).
Переходим к первому вопросу, и, если перевести, то он будет звучать как: «Какой каталог вы можете найти, который начинается с буквы «g»?»:
Нам нужно просканировать цель, с помощью инструмента «Nmap». Собственно, он и указан в списке инструментов, которые должны быть использованы. Команда будет выглядеть как: «sudo nmap –sV –sC –A 10.10.240.125»:
Видим открытые порты. Это 22, 80, 1234, 8009. Можете подробнее рассмотреть результат сканирования, а я все же вернусь к первому заданию.
Нам нужно каталог, который начинается с буквы «g». Для поиска директорий, я воспользуюсь инструментом «gobuster». Он не предустановлен в хостовой машине на Kali, и его нужно установить. Это делается довольно просто, в две команды:
sudo apt update
sudo apt install gobuster:
После установки запускаем команду: «sudo gobuster dir -u http://10.10.240.125/ -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt»:
Далеко ходить не надо за первым ответом. Прямо первая директория, которую мы увидим будет называться как: «guidelines»:
Пробуем сдать ответ:
Отлично, начало положено.
Теперь второй вопрос: «Чье имя вы можете найти в этом каталоге?». Имеется ввиду каталог «guidelines». Для поиска ответа на это задание, нам особо далеко ходить не надо. Просто копируем айпи адрес в адресную строку url, и добавляем вышеописанный каталог в url:
Имя «bob», даже выделено жирным шрифтом. Пробуем сдать этот ответ на вопрос:
Третий вопрос: «В каком каталоге есть базовая аутентификация?». Тоже не очень сложный вопрос. Идем в результаты сканирования «gobuster», и видим каталог «protected»:
Идем в браузер, и добавляем к айпи-адресу:
Отлично, получили форму для аутентификации. Сдаем третий ответ на вопрос:
Корректный ответ.
Переходим к следующему вопросу: «Какой пароль у Боба к защищенной части сайта?» Для того, чтобы найти ответ на этот вопрос, нам пригодится инструмент «Hydra». Суть состоит в том, чтобы подобрать пароль. Имя пользователя нам известно – это «bob». Нам нужно подготовить словарь для перебора. Переходим в директорию «cd /usr/share/wordlists», далее нам нужно распаковать архив «rockyou.txt.gz», с помощью команды «gzip –d rockyou.txt.gz». Все команды Вы можете увидеть на скриншоте:
Для перебора по словарю, переходим в терминал и прописываем команду: «hydra –l bob –P /usr/share/wordlists/rockyou.txt –f 10.10.240.125 http-get /protected/»:
Получаем пароль: «bubbles». Пробуем сдать ответ:
Отлично. Корректный ответ. Можем ввести данные, и авторизоваться на сайте:
Следующий вопрос: «Какой еще порт, обслуживающий веб-службу, открыт на машине?» Нам пригодится сканирование «nmap», и при просмотре вывода, мы найдем порт 1234:
Пробуем сдать ответ:
Следующий вопрос: «При переходе к службе, работающей на этом порту, какое имя и версия программного обеспечения?». Для ответа, нам понадобится отчет инструмента «nmap»:
Попробуем перейти в браузере, по айпи машины, и порту 1234:
Пробуем сдать ответ на вопрос:
Отлично. Ввели корректный ответ.
Следующий вопрос: «Используйте Nikto с учетными данными, которые вы нашли, и просканируйте каталог /manager/html на указанном выше порте. Сколько файлов документации идентифицировал Nikto?»
Для поиска ответа, для начала, перейдем в браузер, и пропишем указанную директорию: «manager/html»:
Имя пользователя и пароль мы уже знаем. Пробуем авторизироваться под логином «bob», и паролем «bubbles»:
Скопируем адрес, с адресной строки URL, и идем в терминал. В терминале пропишем следующую команду: «sudo nikto –h http://10.10.240.125:1234/manager/html/ -id “bob:bubbles”»:
Дождитесь окончания сканирования, и в конце вывода информации Вы увидите некоторые значения типов документации. В данном случае – ответ: 5.
Пробуем сдать ответ:
Отлично. Корректный ответ.
Следующий вопрос: «Какая версия сервера (запустите сканирование порта 80)?»
Идем в результаты сканирования «nmap», и просматриваем версию сервера:
Сдаем ответ:
Все верно. Правильный ответ на вопрос.
Следующий вопрос: «Какую версию Apache-Coyote использует этот сервис?»
Идем в результаты сканирования того же «nmap», и видим версию 1.1:
Пробуем сдать ответ:
Отлично. Идем дальше.
Следующий вопрос: «Используйте Metasploit, чтобы использовать службу и получить оболочку в системе. От имени какого пользователя вы получили оболочку?»
Вопрос понятен. Идем в терминал, и вводим команду «msfconsole», которая запускает «Metasploit»:
После запуска инструмента, нам нужно найти подходящий эксплойт. Делается это с помощью команды: «search tomcat»:
Выбираем подходящий эксплойт. В данном случае нам пригодится 17 позиция: «exploit/multi/http/tomcat_mgr_upload»:
Выбираем этот эксплойт, с помощью команды: «use exploit/multi/http/tomcat_mgr_upload»:
Далее отобразим опции эксплойта, с помощью команды «show options»:
Первым делом настроим пароль и логин, а также укажем айпи-адрес, и порт:
Далее проверим айпи-адрес нашего хоста, с помощью команды «ifconfig»:
Вводим айпи адрес нашей машины, и запускаем команду «run»:
Переходим в шелл, с помощью команды «shell», и вводим команду «id». Мы под рутом:
Ответ, по идее, должен быть «root». Сдаем ответ:
И, наконец, последний вопрос: «Какой текст в файле /root/flag.txt»:
Пробуем сдать флаг:
Отлично. Мы прошли данную комнату.
Надеюсь было интересно.
Всем хорошего дня.