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»:

Пробуем сдать флаг:

Отлично. Мы прошли данную комнату.
Надеюсь было интересно.
Всем хорошего дня.