CTF (Capture the Flag) — Simple CTF. TryHackMe.
Здравствуйте, дорогие друзья.
![simple ctf tryhackme](https://timcore.ru/wp-content/uploads/2021/12/1-zclxpfb2nate72lyitgfjg.png)
Сегодня будем решать CTF челлендж, который называется Simple CTF:
![simple ctf](https://timcore.ru/wp-content/uploads/2021/12/screenshot_1.png)
Задания для новичков, поэтому будет не очень сложное прохождение, но навыки необходимо нарабатывать.
Итак, начнем решать задачи.
1-й вопрос звучит как: «Сколько сервисов работает под портом 1000?».
Для решения данного задания, нам необходимо воспользоваться инструментом «nmap». Его, как правило, используют для сканирования ip. Команда для сканирования будет выглядеть как: «sudo nmap –sS –sV –A –p- <ip-адрес>»:
![sudo nmap –sS –sV –A –p- <ip-адрес>](https://timcore.ru/wp-content/uploads/2021/12/screenshot_2.png)
Для тех, кто не знает параметры, которые я ввел в терминал, воспользуйтесь подсказками в мануале по «nmap». Для этого нужно ввести команду: «nmap —help»:
![nmap --help](https://timcore.ru/wp-content/uploads/2021/12/screenshot_3.png)
Итак, после некоторого времени сканирование должно завершиться:
![Итак, после некоторого времени сканирование должно завершиться](https://timcore.ru/wp-content/uploads/2021/12/screenshot_4.png)
Смотрим открытые порты до 1000 порта, чтобы посчитать их количество. Это и есть решение задачи. Я насчитал 2 порта: 21 и 80 порты соответственно.
Сдаем ответ:
![сдаем ответ](https://timcore.ru/wp-content/uploads/2021/12/screenshot_5.png)
Переходим к следующему вопросу, который звучит как: «Что работает на более высоком порте?». Тоже простой вопрос. Это порт 2222, и служба «ssh».
Ответ: ssh Пробуем сдать ответ:
![ssh](https://timcore.ru/wp-content/uploads/2021/12/screenshot_6.png)
Итак, 3-й вопрос: «Какую CVE вы используете против приложения?» Для ответа на данный вопрос, предлагаю просканировать ip-адрес машины, с помощью gobuster на предмет скрытых директорий, так как перейдя по ip нашей цели, мы ничего не получим. Просто будет вывод дефолтной страницы Apache2:
![apache2](https://timcore.ru/wp-content/uploads/2021/12/screenshot_7-1024x552.png)
Я работаю на Kali из браузера, поэтому данный инструмент не предустановлен в системе.
Для решения этой проблемы, сначала обновим репозитории «apt update», а затем уже установим gobuster «apt install gobuster»:
![apt update](https://timcore.ru/wp-content/uploads/2021/12/screenshot_8.png)
![gobuster «apt install gobuster»](https://timcore.ru/wp-content/uploads/2021/12/screenshot_9.png)
Отлично. Теперь осталось запустить установленный инструмент для сканирования айпи-адреса. Команда: «sudo gobuster dir –u http://10.10.234.106/ -w /root/Desktop/wordlists/directory-list-2.3-medium.txt»:
![sudo gobuster dir –u http://10.10.234.106/ -w /root/Desktop/wordlists/directory-list-2.3-medium.txt](https://timcore.ru/wp-content/uploads/2021/12/screenshot_10.png)
Находим скрытую директорию «/simple». Приложение, размещенное за http://10.10.234.106/simple/, является CMS (CMS Made Simple версии 2.2.8):
![CMS (CMS Made Simple версии 2.2.8)](https://timcore.ru/wp-content/uploads/2021/12/screenshot_11.png)
Исходя из вопроса, нам необходимо найти уязвимости для приложения.
Это легко гуглится. Существует несколько уязвимостей, но наиболее актуальной является CVE-2019-9053 (https://www.cvedetails.com/cve/CVE-2019-9053/), поэтому ответ будет: «CVE-2019-9053».
Сдаем ответ:
![сдаем ответ](https://timcore.ru/wp-content/uploads/2021/12/screenshot_12.png)
Переходим к 4-му вопросу: «К какой уязвимости уязвимо приложение?».
Задача на внимательность. Ответ можно найти в описании уязвимости. В этой CVE говорится о SQL-инъекции, которая обычно называется «sqli». Пробуем сдать ответ:
![sqli](https://timcore.ru/wp-content/uploads/2021/12/screenshot_13.png)
5-й вопрос: «Какой пароль?». Для этой версии CMS есть эксплойт на python, который можно найти по ссылке: https://www.exploit-db.com/exploits/46635, либо в поиске по ключевикам: «cms made simple exploit»:
![cms made simple exploit](https://timcore.ru/wp-content/uploads/2021/12/screenshot_14-1024x563.png)
Скачиваем его к себе на машину.
Для взлома пароля нам необходимо скачать словарь из интернета, который называется: «best110.txt»:
![best110.txt](https://timcore.ru/wp-content/uploads/2021/12/screenshot_15-1024x543.png)
Сохраню на рабочий стол:
![Сохраню на рабочий стол](https://timcore.ru/wp-content/uploads/2021/12/screenshot_16-1024x438.png)
Теперь запустим эксплойт и словарь для взлома. Команда будет выглядеть как: «python3 46635.py –u http://10.10.234.106/simple/ —crack –w best110.txt». Замечу, что эксплойт пришлось редактировать, потому что он запускался с ошибками. В основном – это добавление скобок в функции print.
![python3 46635.py –u http://10.10.234.106/simple/ --crack –w best110.txt](https://timcore.ru/wp-content/uploads/2021/12/screenshot_17.png)
И вновь ошибка на последнем шаге. Она исправляется добавлением кода в оператор if, изменения кодировки на utf-8:
![И вновь ошибка на последнем шаге. Она исправляется добавлением кода в оператор if, изменения кодировки на utf-8](https://timcore.ru/wp-content/uploads/2021/12/screenshot_18.png)
Запускаем эксплойт еще раз:
![Запускаем эксплойт еще раз](https://timcore.ru/wp-content/uploads/2021/12/screenshot_19.png)
Все отлично. Получили нужные данные.
Сдаем ответ. Пароль: «secret»:
![secret](https://timcore.ru/wp-content/uploads/2021/12/screenshot_20.png)
6-й вопрос звучит как: «Где вы можете войти в систему с полученными данными?»:
Мы можем использовать эти учетные данные для входа в систему по ssh (работает на порту 2222). Ответ: «ssh»
![ssh](https://timcore.ru/wp-content/uploads/2021/12/screenshot_21.png)
7-й вопрос: «Какой флаг юзера?»
Ответ можно найти, перейдя в ssh:
«ssh –p 2222 mitch@10.10.234.106»:
![ssh –p 2222 mitch@10.10.234.106](https://timcore.ru/wp-content/uploads/2021/12/screenshot_22.png)
![ssh –p 2222 mitch@10.10.234.106](https://timcore.ru/wp-content/uploads/2021/12/screenshot_23.png)
Сдаем флаг:
![Сдаем флаг](https://timcore.ru/wp-content/uploads/2021/12/screenshot_24.png)
8-й вопрос: «Есть ли в домашнем каталоге другие пользователи? Что это за имя?».
Вопрос простой. Для этого воспользуемся командой: «ls –l /home»:
![ls –l /home](https://timcore.ru/wp-content/uploads/2021/12/screenshot_25.png)
Ответ: «sunbath».
![Ответ: «sunbath».](https://timcore.ru/wp-content/uploads/2021/12/screenshot_26.png)
9-й вопрос: «Что вы можете использовать для создания привилегированной оболочки?».
Всякий раз, когда у нас есть системный двоичный файл, который можно использовать, в первую очередь следует посетить GTOBins. Если системный двоичный файл может быть использован, на сайте обязательно будут инструкции, как это можно сделать.
Сайт: https://gtfobins.github.io/
Для решения подойдет «vim». https://gtfobins.github.io/gtfobins/vim/ Шелл прописывается вот так: «vim -c ‘:!/bin/bash’»:
![vim -c ':!/bin/bash'](https://timcore.ru/wp-content/uploads/2021/12/screenshot_27.png)
Можем сдать ответ на 9-й вопрос. Это «vim»:
![Можем сдать ответ на 9-й вопрос. Это «vim»](https://timcore.ru/wp-content/uploads/2021/12/screenshot_28.png)
И, наконец, последний вопрос: «Какой флаг рута?» Это делается в несколько команд:
![И, наконец, последний вопрос: «Какой флаг рута?» Это делается в несколько команд](https://timcore.ru/wp-content/uploads/2021/12/screenshot_29.png)
Сдаем флаг:
![Сдаем флаг](https://timcore.ru/wp-content/uploads/2021/12/screenshot_30-1024x568.png)
На этом все. Всем хорошего дня!