Найти тему

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

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

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

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

- Dirbuster

- Hydra

- Nmap

- Nikto

- Metasploit

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

-2

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

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

-3

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

«sudo nmap –sV –sC –A 10.10.240.125»:

-4

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

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

sudo apt update

sudo apt install gobuster:

-5

После установки запускаем команду: «sudo gobuster dir -u http://10.10.240.125/ -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt»:

-6

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

-7

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

-8

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

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

-9

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

-10

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

-11

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

-12

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

-13

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

Переходим к следующему вопросу: «Какой пароль у Боба к защищенной части сайта?» Для того, чтобы найти ответ на этот вопрос, нам пригодится инструмент «Hydra». Суть состоит в том, чтобы подобрать пароль. Имя пользователя нам известно – это «bob».

Нам нужно подготовить словарь для перебора. Переходим в директорию «cd /usr/share/wordlists», далее нам нужно распаковать архив «rockyou.txt.gz», с помощью команды «gzip –d rockyou.txt.gz». Все команды Вы можете увидеть на скриншоте:

-14

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

-15

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

-16

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

Можем ввести данные, и авторизоваться на сайте:

-17

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

-18

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

-19

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

-20

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

-21

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

-22

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

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

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

-23

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

-24

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

-25

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

-26

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

-27

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

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

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

-28

Сдаем ответ:

-29

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

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

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

-30

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

-31

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

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

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

-32

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

-33

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

-34

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

-35

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

-36

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

-37

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

-38

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

-39

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

-40

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

-41

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

-42

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

-43

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

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

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