Capture the Flag, CTF, TryHackMe

CTF (Capture the Flag) — Базовые инструменты для пентеста — ToolsRus. TryHackMe.

Здравствуйте, дорогие друзья. Сегодня рассмотрим комнату сервиса TryHackMe, которая называется ToysRus.

Здравствуйте, дорогие друзья. Сегодня рассмотрим комнату сервиса TryHackMe, которая называется ToysRus.

Наша задача состоит в том, чтобы использовать перечисленные ниже инструменты для тестирования сервера, попутно собирая информацию, которая в конечном итоге приведет к тому, что Вы захватите машину.

В рамках данного райтапа мы будем использовать следующие инструменты:

    — Dirbuster

    — Hydra

    — Nmap

    — Nikto

    — Metasploit

Итак, начнем проходить данный челлендж. Первое, что необходимо сделать, так это запустить машину для прохождения, с помощью зеленой кнопки в правом верхнем углу:

Итак, начнем проходить данный челлендж. Первое, что необходимо сделать, так это запустить машину для прохождения, с помощью зеленой кнопки в правом верхнем углу

Потом нужно выбрать вариант использования хостовой машины, которая может быть, как в облаке (я буду использовать этот вариант, так как он более предпочтителен для новичков).

Переходим к первому вопросу, и, если перевести, то он будет звучать как: «Какой каталог вы можете найти, который начинается с буквы «g»?»:

Переходим к первому вопросу, и, если перевести, то он будет звучать как: «Какой каталог вы можете найти, который начинается с буквы "g"?»

Нам нужно просканировать цель, с помощью инструмента «Nmap». Собственно, он и указан в списке инструментов, которые должны быть использованы. Команда будет выглядеть как: «sudo nmap –sV –sC –A 10.10.240.125»:

sudo nmap –sV –sC –A 10.10.240.125

Видим открытые порты. Это 22, 80, 1234, 8009. Можете подробнее рассмотреть результат сканирования, а я все же вернусь к первому заданию.

Нам нужно каталог, который начинается с буквы «g». Для поиска директорий, я воспользуюсь инструментом «gobuster». Он не предустановлен в хостовой машине на Kali, и его нужно установить. Это делается довольно просто, в две команды:

sudo apt update

sudo apt install gobuster:

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

sudo gobuster dir -u http://10.10.240.125/ -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt

Далеко ходить не надо за первым ответом. Прямо первая директория, которую мы увидим будет называться как: «guidelines»:

Далеко ходить не надо за первым ответом. Прямо первая директория, которую мы увидим будет называться как: «guidelines»

Пробуем сдать ответ:

Пробуем сдать ответ

Отлично, начало положено.

Теперь второй вопрос: «Чье имя вы можете найти в этом каталоге?». Имеется ввиду каталог «guidelines». Для поиска ответа на это задание, нам особо далеко ходить не надо. Просто копируем айпи адрес в адресную строку url, и добавляем вышеописанный каталог в url:

копируем айпи адрес в адресную строку url, и добавляем вышеописанный каталог в url

Имя «bob», даже выделено жирным шрифтом. Пробуем сдать этот ответ на вопрос:

Имя «bob», даже выделено жирным шрифтом. Пробуем сдать этот ответ на вопрос

Третий вопрос: «В каком каталоге есть базовая аутентификация?». Тоже не очень сложный вопрос. Идем в результаты сканирования «gobuster», и видим каталог «protected»:

 Идем в результаты сканирования «gobuster», и видим каталог «protected»

Идем в браузер, и добавляем к айпи-адресу:

Идем в браузер, и добавляем к айпи-адресу

Отлично, получили форму для аутентификации. Сдаем третий ответ на вопрос:

Отлично, получили форму для аутентификации. Сдаем третий ответ на вопрос

Корректный ответ.

Переходим к следующему вопросу: «Какой пароль у Боба к защищенной части сайта?» Для того, чтобы найти ответ на этот вопрос, нам пригодится инструмент «Hydra». Суть состоит в том, чтобы подобрать пароль. Имя пользователя нам известно – это «bob». Нам нужно подготовить словарь для перебора. Переходим в директорию «cd /usr/share/wordlists», далее нам нужно распаковать архив «rockyou.txt.gz», с помощью команды «gzip –d rockyou.txt.gz». Все команды Вы можете увидеть на скриншоте:

Суть состоит в том, чтобы подобрать пароль. Имя пользователя нам известно – это «bob».

Для перебора по словарю, переходим в терминал и прописываем команду: «hydra –l bob –P /usr/share/wordlists/rockyou.txt –f 10.10.240.125 http-get /protected/»:

hydra –l bob –P /usr/share/wordlists/rockyou.txt –f 10.10.240.125 http-get /protected/

Получаем пароль: «bubbles». Пробуем сдать ответ:

Получаем пароль: «bubbles». Пробуем сдать ответ

Отлично. Корректный ответ. Можем ввести данные, и авторизоваться на сайте:

Отлично. Корректный ответ. Можем ввести данные, и авторизоваться на сайте

Следующий вопрос: «Какой еще порт, обслуживающий веб-службу, открыт на машине?» Нам пригодится сканирование «nmap», и при просмотре вывода, мы найдем порт 1234:

Какой еще порт, обслуживающий веб-службу, открыт на машине?

Пробуем сдать ответ:

Пробуем сдать ответ

Следующий вопрос: «При переходе к службе, работающей на этом порту, какое имя и версия программного обеспечения?». Для ответа, нам понадобится отчет инструмента «nmap»:

«При переходе к службе, работающей на этом порту, какое имя и версия программного обеспечения?». Для ответа, нам понадобится отчет инструмента «nmap»

Попробуем перейти в браузере, по айпи машины, и порту 1234:

Попробуем перейти в браузере, по айпи машины, и порту 1234

Пробуем сдать ответ на вопрос:

Пробуем сдать ответ на вопрос

Отлично. Ввели корректный ответ.

Следующий вопрос: «Используйте Nikto с учетными данными, которые вы нашли, и просканируйте каталог /manager/html на указанном выше порте. Сколько файлов документации идентифицировал Nikto?»

Для поиска ответа, для начала, перейдем в браузер, и пропишем указанную директорию: «manager/html»:

Для поиска ответа, для начала, перейдем в браузер, и пропишем указанную директорию: «manager/html»

Имя пользователя и пароль мы уже знаем. Пробуем авторизироваться под логином «bob», и паролем «bubbles»:

Имя пользователя и пароль мы уже знаем. Пробуем авторизироваться под логином «bob», и паролем «bubbles»

Скопируем адрес, с адресной строки URL, и идем в терминал. В терминале пропишем следующую команду: «sudo nikto –h http://10.10.240.125:1234/manager/html/ -id “bob:bubbles”»:

sudo nikto –h http://10.10.240.125:1234/manager/html/ -id “bob:bubbles”

Дождитесь окончания сканирования, и в конце вывода информации Вы увидите некоторые значения типов документации. В данном случае – ответ: 5.

Дождитесь окончания сканирования, и в конце вывода информации Вы увидите некоторые значения типов документации. В данном случае – ответ: 5

Пробуем сдать ответ:

Пробуем сдать ответ

Отлично. Корректный ответ.

Следующий вопрос: «Какая версия сервера (запустите сканирование порта 80)?»

Идем в результаты сканирования «nmap», и просматриваем версию сервера:

Какая версия сервера (запустите сканирование порта 80)?

Сдаем ответ:

Сдаем ответ

Все верно. Правильный ответ на вопрос.

Следующий вопрос: «Какую версию Apache-Coyote использует этот сервис?»

Идем в результаты сканирования того же «nmap», и видим версию 1.1:

Какую версию Apache-Coyote использует этот сервис?

Пробуем сдать ответ:

Пробуем сдать ответ

Отлично. Идем дальше.

Следующий вопрос: «Используйте Metasploit, чтобы использовать службу и получить оболочку в системе. От имени какого пользователя вы получили оболочку?»

Вопрос понятен. Идем в терминал, и вводим команду «msfconsole», которая запускает «Metasploit»:

Идем в терминал, и вводим команду «msfconsole», которая запускает «Metasploit»

После запуска инструмента, нам нужно найти подходящий эксплойт. Делается это с помощью команды: «search tomcat»:

После запуска инструмента, нам нужно найти подходящий эксплойт. Делается это с помощью команды: «search tomcat»

Выбираем подходящий эксплойт. В данном случае нам пригодится 17 позиция: «exploit/multi/http/tomcat_mgr_upload»:

Выбираем подходящий эксплойт. В данном случае нам пригодится 17 позиция: «exploit/multi/http/tomcat_mgr_upload»:

Выбираем этот эксплойт, с помощью команды: «use exploit/multi/http/tomcat_mgr_upload»:

Выбираем этот эксплойт, с помощью команды: «use exploit/multi/http/tomcat_mgr_upload»

Далее отобразим опции эксплойта, с помощью команды «show options»:

Далее отобразим опции эксплойта, с помощью команды «show options»

Первым делом настроим пароль и логин, а также укажем айпи-адрес, и порт:

Первым делом настроим пароль и логин, а также укажем айпи-адрес, и порт

Далее проверим айпи-адрес нашего хоста, с помощью команды «ifconfig»:

Далее проверим айпи-адрес нашего хоста, с помощью команды «ifconfig»

Вводим айпи адрес нашей машины, и запускаем команду «run»:

Вводим айпи адрес нашей машины, и запускаем команду «run»

Переходим в шелл, с помощью команды «shell», и вводим команду «id». Мы под рутом:

Переходим в шелл, с помощью команды «shell», и вводим команду «id». Мы под рутом

Ответ, по идее, должен быть «root». Сдаем ответ:

Ответ, по идее, должен быть «root». Сдаем ответ

И, наконец, последний вопрос: «Какой текст в файле /root/flag.txt»:

И, наконец, последний вопрос: «Какой текст в файле /root/flag.txt»

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

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

Отлично. Мы прошли данную комнату.

Надеюсь было интересно.

Всем хорошего дня.