#1 Mr-Robot: 1 CTF Walkthrough. Часть 1.
На vulnhab-е нашел интересную виртуальную машину, которая называется «Mr-Robot:1». Как Вы уже догадались из названия, она основана по мотивам одноименного сериала «Мистер Робот», по первому сезону.
![mr.robot 1 walkthrough](https://timcore.ru/wp-content/uploads/2021/10/mr-robot-1-walkthrough-reshenie-ctf-chast-1-1024x576.jpg)
Автор машины так и пишет об этом: «Based on show Mr. Robot».
Суть заключается в том, что нужно найти три флага, получив доступ к машине с привилегиями.
Файл машины лежит с раcширением «.ova», что предполагает установку на виртуальную машину. Я буду использовать VirtualBox.
Скачать можно по этой ссылке: https://www.vulnhub.com/entry/mr-robot-1,151/
Весит не много, всего 704MB, и есть проверка контрольной суммы MD5 и SHA1.
Скачаем эту машину и сверим контрольные суммы:
![сверим контрольные суммы](https://timcore.ru/wp-content/uploads/2021/10/001-1024x380.png)
Как видим, все хорошо. Можно устанавливать ее на VirtualBox.
Это делается в два клика по файлу «.ova»:
![устанавливаем машину](https://timcore.ru/wp-content/uploads/2021/10/002.png)
Запускаем машину и видим начальное окно для ввода логина и пароля. Разумеется, логин и пароль я не знаю, и это является одной из задач, но нужно шагать по-порядку.
Для начала узнаем ip-адрес этой машины. Для удобства работы я переключу настройки сети данной машины на «Сеть NAT»:
![Для начала узнаем ip-адрес этой машины. Для удобства работы я переключу настройки сети данной машины на «Сеть NAT»](https://timcore.ru/wp-content/uploads/2021/10/003.png)
Так я могу зацепиться за локальный ip-адрес внутри своей сети.
Машина для исследования у меня будет Kali Linux. Проверю свой ip, с помощью команды «ifconfig»:
![Проверю свой ip, с помощью команды «ifconfig»](https://timcore.ru/wp-content/uploads/2021/10/004-1024x536.png)
Он выглядит как: 10.0.2.5. Воспользуемся инструментом Nmap, с опциями «-A» и «-Pn» и диапазон сканируемых адресов укажу как «10.0.2.*». Опция «-A» нужна для вывода информации по версии и операционной системе. Опция «-Pn» означает сканирование всех хостов в сети. Диапазон указал довольно узкий, чтобы быстро просканировать сеть, где последний октет выделил знаком звездочка, что значит сканировать все значения:
![В итоге нашелся ip-адрес с открытыми портами: 80 и 443 сервера Apache](https://timcore.ru/wp-content/uploads/2021/10/006-1024x510.png)
В итоге нашелся ip-адрес с открытыми портами: 80 и 443 сервера Apache:
![В итоге нашелся ip-адрес с открытыми портами: 80 и 443 сервера Apache](https://timcore.ru/wp-content/uploads/2021/10/007-1024x510.png)
Операционная система: Linux 3.10, и исходя из параметров, при установке я заметил, что базируется на Ubuntu, а также присутствует движок Wordpress. Разработчик видимо заведомо оставил эту информацию для внимательных.
Если есть открытый порт 80, значит можно открыть в браузере. Идем в мозиллу и открываем ip: 10.0.2.6:
![Если есть открытый порт 80, значит можно открыть в браузере. Идем в мозиллу и открываем ip: 10.0.2.6](https://timcore.ru/wp-content/uploads/2021/10/008.png)
Получаем анимированный интерфейс, с 6-ю командами. Откроем исходный код страницы, чтобы осмотреться:
![Получаем анимированный интерфейс, с 6-ю командами. Откроем исходный код страницы, чтобы осмотреться](https://timcore.ru/wp-content/uploads/2021/10/009-1024x820.png)
Ничего необычного, разве что параметр «USER_IP» указан, но это было бы слишком просто. Все равно перейдем по этому адресу:
![Ничего необычного, разве что параметр «USER_IP» указан, но это было бы слишком просто. Все равно перейдем по этому адресу](https://timcore.ru/wp-content/uploads/2021/10/010-1024x823.png)
Никакой информации к сожалению.
На сайте при беглом осмотре можно найти 6 страниц:
В них нет ничего интересного, и они являются отсылками к сериалу.
Предлагаю просканировать сайт с помощью утилиты «uniscan». Просмотрим его опции:
![Предлагаю просканировать сайт с помощью утилиты «uniscan». Просмотрим его опции](https://timcore.ru/wp-content/uploads/2021/10/011-1024x511.png)
Типичным сканированием будет являться опция «-u», в дополнении с опциями «-qweds» (их я выделил для наглядности):
![Типичным сканированием будет являться опция «-u», в дополнении с опциями «-qweds» (их я выделил для наглядности)](https://timcore.ru/wp-content/uploads/2021/10/012-1024x511.png)
Самое интересное то, что он нашел файлы на этом веб-сайте:
![Самое интересное то, что он нашел файлы на этом веб-сайте](https://timcore.ru/wp-content/uploads/2021/10/013-1024x512.png)
Я их прочекал и нашел интересную зацепку в файле «robots.txt». Перейдем по этому адресу:
![Я их прочекал и нашел интересную зацепку в файле «robots.txt». Перейдем по этому адресу](https://timcore.ru/wp-content/uploads/2021/10/014.png)
Исходя из этой информации для роботов, с сервера можно скачать и просмотреть два файла: «fsocity.dic» и «key-1-of-3.txt».
Я создам новую директорию «mr_robot» на Рабочем столе и скачаю два файла:
![Я создам новую директорию «mr_robot» на Рабочем столе и скачаю два файла](https://timcore.ru/wp-content/uploads/2021/10/015-1024x569.png)
Первый скачанный файл с именем «key-1-of-3.txt» представляет собой первый ключ:
![Первый скачанный файл с именем «key-1-of-3.txt» представляет собой первый ключ](https://timcore.ru/wp-content/uploads/2021/10/016-1024x612.png)
Второй файл с именем «fsocity.dic», представляет собой словарь паролей:
![Второй файл с именем «fsocity.dic», представляет собой словарь паролей](https://timcore.ru/wp-content/uploads/2021/10/017-1024x610.png)
И это не случайно, и является подсказкой того, что нужно что-то взламывать. Просто так его попросту не было бы.
Как я говорил ранее, в начале установки я заметил название в параметрах машины «wordpress».
Посмотрим результаты сканирования «uniscan», и там я нашел кое-что интересное, а именно директории:
![Посмотрим результаты сканирования «uniscan», и там я нашел кое-что интересное, а именно директории](https://timcore.ru/wp-content/uploads/2021/10/018-1024x510.png)
Прочекав их все, я пришел к выводу, что практически все страницы делают редирект на одну страницу, с адресом: http://10.0.2.6/wp-login.php
Это страница авторизации сайта на движке Wordpress:
![Это страница авторизации сайта на движке Wordpress](https://timcore.ru/wp-content/uploads/2021/10/019-1024x823.png)
При вводе имени «admin», появляется предупреждение о том, что это неправильное имя:
![При вводе имени «admin», появляется предупреждение о том, что это неправильное имя](https://timcore.ru/wp-content/uploads/2021/10/020-1024x822.png)
Задача заключается в том, чтобы подобрать имя, которое будет актуально для этой страницы авторизации. Я уже молчу за пароль, так как у нас есть шанс подобрать его перебором, о чем говорит готовый словарь.
Так как в строке url при вводе имени и пароля, не отображаются данные, значит они отправляются методом POST.
Запустим BurpSuite и сконнектим его с браузером:
![Запустим BurpSuite и сконнектим его с браузером](https://timcore.ru/wp-content/uploads/2021/10/022-1024x613.png)
![Запустим BurpSuite и сконнектим его с браузером](https://timcore.ru/wp-content/uploads/2021/10/023-1024x825.png)
Введем произвольные значения имени и пароля, например «test» и «123».
Переходим в BurpSuite, и нас интересуют параметры, которые передаются методом POST:
![Переходим в BurpSuite, и нас интересуют параметры, которые передаются методом POST](https://timcore.ru/wp-content/uploads/2021/10/024.png)
Они нужны для того, чтобы мы воспользовались инструментом для брутфорса, который называется «Hydra».
Команда будет выглядеть следующим образом:
hydra -V -L fsocity.dic -p 123 10.0.2.6 http-post-form ‘/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log+In:F=Invalid username’
Подробное описание этого инструмента можете найти в справке «hydra -h».
Опция «-p» — это произвольный пароль. Далее идет ip-адрес веб-сайта. Указывается страница авторизации: wp-login.php. Параметры, которые идут в записи, мы взяли из BurpSuite, но вместо имени и пароля прописали ^USER^ и ^PASS^, а также wp-submit. Смотрите более внимательнее в Burpsuite:
![параметры burp suite](https://timcore.ru/wp-content/uploads/2021/10/025.png)
Прописываем в терминале эту команду и запускаем:
![Прописываем в терминале эту команду и запускаем](https://timcore.ru/wp-content/uploads/2021/10/026-1024x509.png)
И инструмент успешно определил имя пользователя:
![И инструмент успешно определил имя пользователя](https://timcore.ru/wp-content/uploads/2021/10/027-1024x511.png)
Отлично. Выключаем BurpSuite, он нам пока не нужен. Слово «elliot» сработало:
![Слово «elliot» сработало](https://timcore.ru/wp-content/uploads/2021/10/021-1024x484.png)
Для взлома пароля мы вновь будем использовать инструмент «Hydra», но перебор затянется на достаточно долгий промежуток времени, так как словарь насчитывает более 800 000 слов.
Команда будет выглядеть как: «hydra -V -l elliot -P fsocity.dic 10.0.2.6 http-post-form ‘/wp-login.php:log=^elliot^&pwd=^PASS^&wp-submit=Log+In:F=Invalid username’». Как видите изменилось три параметра : опция «-l со значением elliot», опция «-P» — перебор всех паролей и параметр «log=^elliot^»:
![перебор пароля с помощью hydra](https://timcore.ru/wp-content/uploads/2021/10/028-1024x589.png)
Убил много времени, но с помощью «Hydra» не получилось взломать пароль. :((
Нужно более подробнее рассматривать опции, но я не буду ограничиваться только этим инструментом, так как существует сканер уязвимостей Wordpress, который называется «WPScan». Для взлома пароля нужна команда: «wpscan —url 10.0.2.6 —wp-content-dir /wp-login.php —passwords /root/Desktop/mr_robot/fsocity.dic -U elliot»:
![wpscan](https://timcore.ru/wp-content/uploads/2021/10/029-1024x559.png)
Все параметры интуитивно понятны, и их можно просмотреть в справке «wpscan —hh».
На взлом пароля ушло 36 минут и 58 секунд.
Вот, собственно, сам отчет:
![отчет wpscan](https://timcore.ru/wp-content/uploads/2021/10/030-1024x559.png)
Пароль успешно подошел, и я вошел в админку:
![Пароль успешно подошел, и я вошел в админку](https://timcore.ru/wp-content/uploads/2021/10/031-1024x828.png)
На этом первая часть закончена. Хорошего дня.