CTF (Capture the Flag) — Базовые инструменты для пентеста — ToolsRus. TryHackMe.
Здравствуйте, дорогие друзья. Сегодня рассмотрим комнату сервиса TryHackMe, которая называется ToysRus.
![Здравствуйте, дорогие друзья. Сегодня рассмотрим комнату сервиса TryHackMe, которая называется ToysRus.](https://timcore.ru/wp-content/uploads/2021/07/screenshot_1-1-1024x393.png)
Наша задача состоит в том, чтобы использовать перечисленные ниже инструменты для тестирования сервера, попутно собирая информацию, которая в конечном итоге приведет к тому, что Вы захватите машину.
В рамках данного райтапа мы будем использовать следующие инструменты:
— Dirbuster
— Hydra
— Nmap
— Nikto
— Metasploit
Итак, начнем проходить данный челлендж. Первое, что необходимо сделать, так это запустить машину для прохождения, с помощью зеленой кнопки в правом верхнем углу:
![Итак, начнем проходить данный челлендж. Первое, что необходимо сделать, так это запустить машину для прохождения, с помощью зеленой кнопки в правом верхнем углу](https://timcore.ru/wp-content/uploads/2021/07/screenshot_2-1-1024x258.png)
Потом нужно выбрать вариант использования хостовой машины, которая может быть, как в облаке (я буду использовать этот вариант, так как он более предпочтителен для новичков).
Переходим к первому вопросу, и, если перевести, то он будет звучать как: «Какой каталог вы можете найти, который начинается с буквы «g»?»:
![Переходим к первому вопросу, и, если перевести, то он будет звучать как: «Какой каталог вы можете найти, который начинается с буквы "g"?»](https://timcore.ru/wp-content/uploads/2021/07/screenshot_3-1.png)
Нам нужно просканировать цель, с помощью инструмента «Nmap». Собственно, он и указан в списке инструментов, которые должны быть использованы. Команда будет выглядеть как: «sudo nmap –sV –sC –A 10.10.240.125»:
![sudo nmap –sV –sC –A 10.10.240.125](https://timcore.ru/wp-content/uploads/2021/07/screenshot_4-1.png)
Видим открытые порты. Это 22, 80, 1234, 8009. Можете подробнее рассмотреть результат сканирования, а я все же вернусь к первому заданию.
Нам нужно каталог, который начинается с буквы «g». Для поиска директорий, я воспользуюсь инструментом «gobuster». Он не предустановлен в хостовой машине на Kali, и его нужно установить. Это делается довольно просто, в две команды:
sudo apt update
sudo apt install gobuster:
![sudo apt install gobuster](https://timcore.ru/wp-content/uploads/2021/07/screenshot_5-1.png)
После установки запускаем команду: «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](https://timcore.ru/wp-content/uploads/2021/07/screenshot_6-1.png)
Далеко ходить не надо за первым ответом. Прямо первая директория, которую мы увидим будет называться как: «guidelines»:
![Далеко ходить не надо за первым ответом. Прямо первая директория, которую мы увидим будет называться как: «guidelines»](https://timcore.ru/wp-content/uploads/2021/07/screenshot_7-1.png)
Пробуем сдать ответ:
![Пробуем сдать ответ](https://timcore.ru/wp-content/uploads/2021/07/screenshot_8-1.png)
Отлично, начало положено.
Теперь второй вопрос: «Чье имя вы можете найти в этом каталоге?». Имеется ввиду каталог «guidelines». Для поиска ответа на это задание, нам особо далеко ходить не надо. Просто копируем айпи адрес в адресную строку url, и добавляем вышеописанный каталог в url:
![копируем айпи адрес в адресную строку url, и добавляем вышеописанный каталог в url](https://timcore.ru/wp-content/uploads/2021/07/screenshot_9-1.png)
Имя «bob», даже выделено жирным шрифтом. Пробуем сдать этот ответ на вопрос:
![Имя «bob», даже выделено жирным шрифтом. Пробуем сдать этот ответ на вопрос](https://timcore.ru/wp-content/uploads/2021/07/screenshot_10-1.png)
Третий вопрос: «В каком каталоге есть базовая аутентификация?». Тоже не очень сложный вопрос. Идем в результаты сканирования «gobuster», и видим каталог «protected»:
![Идем в результаты сканирования «gobuster», и видим каталог «protected»](https://timcore.ru/wp-content/uploads/2021/07/screenshot_11-1.png)
Идем в браузер, и добавляем к айпи-адресу:
![Идем в браузер, и добавляем к айпи-адресу](https://timcore.ru/wp-content/uploads/2021/07/screenshot_12-1.png)
Отлично, получили форму для аутентификации. Сдаем третий ответ на вопрос:
![Отлично, получили форму для аутентификации. Сдаем третий ответ на вопрос](https://timcore.ru/wp-content/uploads/2021/07/screenshot_13-1.png)
Корректный ответ.
Переходим к следующему вопросу: «Какой пароль у Боба к защищенной части сайта?» Для того, чтобы найти ответ на этот вопрос, нам пригодится инструмент «Hydra». Суть состоит в том, чтобы подобрать пароль. Имя пользователя нам известно – это «bob». Нам нужно подготовить словарь для перебора. Переходим в директорию «cd /usr/share/wordlists», далее нам нужно распаковать архив «rockyou.txt.gz», с помощью команды «gzip –d rockyou.txt.gz». Все команды Вы можете увидеть на скриншоте:
![Суть состоит в том, чтобы подобрать пароль. Имя пользователя нам известно – это «bob».](https://timcore.ru/wp-content/uploads/2021/07/screenshot_14-1.png)
Для перебора по словарю, переходим в терминал и прописываем команду: «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/](https://timcore.ru/wp-content/uploads/2021/07/screenshot_15-1.png)
Получаем пароль: «bubbles». Пробуем сдать ответ:
![Получаем пароль: «bubbles». Пробуем сдать ответ](https://timcore.ru/wp-content/uploads/2021/07/screenshot_16-1.png)
Отлично. Корректный ответ. Можем ввести данные, и авторизоваться на сайте:
![Отлично. Корректный ответ. Можем ввести данные, и авторизоваться на сайте](https://timcore.ru/wp-content/uploads/2021/07/screenshot_17-1.png)
Следующий вопрос: «Какой еще порт, обслуживающий веб-службу, открыт на машине?» Нам пригодится сканирование «nmap», и при просмотре вывода, мы найдем порт 1234:
![Какой еще порт, обслуживающий веб-службу, открыт на машине?](https://timcore.ru/wp-content/uploads/2021/07/screenshot_18-1.png)
Пробуем сдать ответ:
![Пробуем сдать ответ](https://timcore.ru/wp-content/uploads/2021/07/screenshot_19-1.png)
Следующий вопрос: «При переходе к службе, работающей на этом порту, какое имя и версия программного обеспечения?». Для ответа, нам понадобится отчет инструмента «nmap»:
![«При переходе к службе, работающей на этом порту, какое имя и версия программного обеспечения?». Для ответа, нам понадобится отчет инструмента «nmap»](https://timcore.ru/wp-content/uploads/2021/07/screenshot_20-1.png)
Попробуем перейти в браузере, по айпи машины, и порту 1234:
![Попробуем перейти в браузере, по айпи машины, и порту 1234](https://timcore.ru/wp-content/uploads/2021/07/screenshot_21-1.png)
Пробуем сдать ответ на вопрос:
![Пробуем сдать ответ на вопрос](https://timcore.ru/wp-content/uploads/2021/07/screenshot_22-1.png)
Отлично. Ввели корректный ответ.
Следующий вопрос: «Используйте Nikto с учетными данными, которые вы нашли, и просканируйте каталог /manager/html на указанном выше порте. Сколько файлов документации идентифицировал Nikto?»
Для поиска ответа, для начала, перейдем в браузер, и пропишем указанную директорию: «manager/html»:
![Для поиска ответа, для начала, перейдем в браузер, и пропишем указанную директорию: «manager/html»](https://timcore.ru/wp-content/uploads/2021/07/screenshot_23-1.png)
Имя пользователя и пароль мы уже знаем. Пробуем авторизироваться под логином «bob», и паролем «bubbles»:
![Имя пользователя и пароль мы уже знаем. Пробуем авторизироваться под логином «bob», и паролем «bubbles»](https://timcore.ru/wp-content/uploads/2021/07/screenshot_24-1.png)
Скопируем адрес, с адресной строки 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”](https://timcore.ru/wp-content/uploads/2021/07/screenshot_25-1.png)
Дождитесь окончания сканирования, и в конце вывода информации Вы увидите некоторые значения типов документации. В данном случае – ответ: 5.
![Дождитесь окончания сканирования, и в конце вывода информации Вы увидите некоторые значения типов документации. В данном случае – ответ: 5](https://timcore.ru/wp-content/uploads/2021/07/screenshot_26-1.png)
Пробуем сдать ответ:
![Пробуем сдать ответ](https://timcore.ru/wp-content/uploads/2021/07/screenshot_27-1.png)
Отлично. Корректный ответ.
Следующий вопрос: «Какая версия сервера (запустите сканирование порта 80)?»
Идем в результаты сканирования «nmap», и просматриваем версию сервера:
![Какая версия сервера (запустите сканирование порта 80)?](https://timcore.ru/wp-content/uploads/2021/07/screenshot_28-1.png)
Сдаем ответ:
![Сдаем ответ](https://timcore.ru/wp-content/uploads/2021/07/screenshot_29-1.png)
Все верно. Правильный ответ на вопрос.
Следующий вопрос: «Какую версию Apache-Coyote использует этот сервис?»
Идем в результаты сканирования того же «nmap», и видим версию 1.1:
![Какую версию Apache-Coyote использует этот сервис?](https://timcore.ru/wp-content/uploads/2021/07/screenshot_30-1.png)
Пробуем сдать ответ:
![Пробуем сдать ответ](https://timcore.ru/wp-content/uploads/2021/07/screenshot_31-1.png)
Отлично. Идем дальше.
Следующий вопрос: «Используйте Metasploit, чтобы использовать службу и получить оболочку в системе. От имени какого пользователя вы получили оболочку?»
Вопрос понятен. Идем в терминал, и вводим команду «msfconsole», которая запускает «Metasploit»:
![Идем в терминал, и вводим команду «msfconsole», которая запускает «Metasploit»](https://timcore.ru/wp-content/uploads/2021/07/screenshot_32.png)
После запуска инструмента, нам нужно найти подходящий эксплойт. Делается это с помощью команды: «search tomcat»:
![После запуска инструмента, нам нужно найти подходящий эксплойт. Делается это с помощью команды: «search tomcat»](https://timcore.ru/wp-content/uploads/2021/07/screenshot_33.png)
Выбираем подходящий эксплойт. В данном случае нам пригодится 17 позиция: «exploit/multi/http/tomcat_mgr_upload»:
![Выбираем подходящий эксплойт. В данном случае нам пригодится 17 позиция: «exploit/multi/http/tomcat_mgr_upload»:](https://timcore.ru/wp-content/uploads/2021/07/screenshot_34.png)
Выбираем этот эксплойт, с помощью команды: «use exploit/multi/http/tomcat_mgr_upload»:
![Выбираем этот эксплойт, с помощью команды: «use exploit/multi/http/tomcat_mgr_upload»](https://timcore.ru/wp-content/uploads/2021/07/screenshot_35.png)
Далее отобразим опции эксплойта, с помощью команды «show options»:
![Далее отобразим опции эксплойта, с помощью команды «show options»](https://timcore.ru/wp-content/uploads/2021/07/screenshot_36.png)
Первым делом настроим пароль и логин, а также укажем айпи-адрес, и порт:
![Первым делом настроим пароль и логин, а также укажем айпи-адрес, и порт](https://timcore.ru/wp-content/uploads/2021/07/screenshot_37.png)
Далее проверим айпи-адрес нашего хоста, с помощью команды «ifconfig»:
![Далее проверим айпи-адрес нашего хоста, с помощью команды «ifconfig»](https://timcore.ru/wp-content/uploads/2021/07/screenshot_38.png)
Вводим айпи адрес нашей машины, и запускаем команду «run»:
![Вводим айпи адрес нашей машины, и запускаем команду «run»](https://timcore.ru/wp-content/uploads/2021/07/screenshot_39.png)
Переходим в шелл, с помощью команды «shell», и вводим команду «id». Мы под рутом:
![Переходим в шелл, с помощью команды «shell», и вводим команду «id». Мы под рутом](https://timcore.ru/wp-content/uploads/2021/07/screenshot_40.png)
Ответ, по идее, должен быть «root». Сдаем ответ:
![Ответ, по идее, должен быть «root». Сдаем ответ](https://timcore.ru/wp-content/uploads/2021/07/screenshot_41.png)
И, наконец, последний вопрос: «Какой текст в файле /root/flag.txt»:
![И, наконец, последний вопрос: «Какой текст в файле /root/flag.txt»](https://timcore.ru/wp-content/uploads/2021/07/screenshot_42.png)
Пробуем сдать флаг:
![Пробуем сдать флаг](https://timcore.ru/wp-content/uploads/2021/07/screenshot_43-1024x729.png)
Отлично. Мы прошли данную комнату.
Надеюсь было интересно.
Всем хорошего дня.