CTF (Capture the Flag) — Simple CTF. TryHackMe.
Здравствуйте, дорогие друзья.
Сегодня будем решать CTF челлендж, который называется Simple CTF:
Задания для новичков, поэтому будет не очень сложное прохождение, но навыки необходимо нарабатывать.
Итак, начнем решать задачи.
1-й вопрос звучит как: «Сколько сервисов работает под портом 1000?».
Для решения данного задания, нам необходимо воспользоваться инструментом «nmap». Его, как правило, используют для сканирования ip. Команда для сканирования будет выглядеть как: «sudo nmap –sS –sV –A –p- <ip-адрес>»:
Для тех, кто не знает параметры, которые я ввел в терминал, воспользуйтесь подсказками в мануале по «nmap». Для этого нужно ввести команду: «nmap —help»:
Итак, после некоторого времени сканирование должно завершиться:
Смотрим открытые порты до 1000 порта, чтобы посчитать их количество. Это и есть решение задачи. Я насчитал 2 порта: 21 и 80 порты соответственно.
Сдаем ответ:
Переходим к следующему вопросу, который звучит как: «Что работает на более высоком порте?». Тоже простой вопрос. Это порт 2222, и служба «ssh».
Ответ: ssh Пробуем сдать ответ:
Итак, 3-й вопрос: «Какую CVE вы используете против приложения?» Для ответа на данный вопрос, предлагаю просканировать ip-адрес машины, с помощью gobuster на предмет скрытых директорий, так как перейдя по ip нашей цели, мы ничего не получим. Просто будет вывод дефолтной страницы Apache2:
Я работаю на Kali из браузера, поэтому данный инструмент не предустановлен в системе.
Для решения этой проблемы, сначала обновим репозитории «apt update», а затем уже установим gobuster «apt install gobuster»:
Отлично. Теперь осталось запустить установленный инструмент для сканирования айпи-адреса. Команда: «sudo gobuster dir –u http://10.10.234.106/ -w /root/Desktop/wordlists/directory-list-2.3-medium.txt»:
Находим скрытую директорию «/simple». Приложение, размещенное за http://10.10.234.106/simple/, является CMS (CMS Made Simple версии 2.2.8):
Исходя из вопроса, нам необходимо найти уязвимости для приложения.
Это легко гуглится. Существует несколько уязвимостей, но наиболее актуальной является CVE-2019-9053 (https://www.cvedetails.com/cve/CVE-2019-9053/), поэтому ответ будет: «CVE-2019-9053».
Сдаем ответ:
Переходим к 4-му вопросу: «К какой уязвимости уязвимо приложение?».
Задача на внимательность. Ответ можно найти в описании уязвимости. В этой CVE говорится о SQL-инъекции, которая обычно называется «sqli». Пробуем сдать ответ:
5-й вопрос: «Какой пароль?». Для этой версии CMS есть эксплойт на python, который можно найти по ссылке: https://www.exploit-db.com/exploits/46635, либо в поиске по ключевикам: «cms made simple exploit»:
Скачиваем его к себе на машину.
Для взлома пароля нам необходимо скачать словарь из интернета, который называется: «best110.txt»:
Сохраню на рабочий стол:
Теперь запустим эксплойт и словарь для взлома. Команда будет выглядеть как: «python3 46635.py –u http://10.10.234.106/simple/ —crack –w best110.txt». Замечу, что эксплойт пришлось редактировать, потому что он запускался с ошибками. В основном – это добавление скобок в функции print.
И вновь ошибка на последнем шаге. Она исправляется добавлением кода в оператор if, изменения кодировки на utf-8:
Запускаем эксплойт еще раз:
Все отлично. Получили нужные данные.
Сдаем ответ. Пароль: «secret»:
6-й вопрос звучит как: «Где вы можете войти в систему с полученными данными?»:
Мы можем использовать эти учетные данные для входа в систему по ssh (работает на порту 2222). Ответ: «ssh»
7-й вопрос: «Какой флаг юзера?»
Ответ можно найти, перейдя в ssh:
«ssh –p 2222 mitch@10.10.234.106»:
Сдаем флаг:
8-й вопрос: «Есть ли в домашнем каталоге другие пользователи? Что это за имя?».
Вопрос простой. Для этого воспользуемся командой: «ls –l /home»:
Ответ: «sunbath».
9-й вопрос: «Что вы можете использовать для создания привилегированной оболочки?».
Всякий раз, когда у нас есть системный двоичный файл, который можно использовать, в первую очередь следует посетить GTOBins. Если системный двоичный файл может быть использован, на сайте обязательно будут инструкции, как это можно сделать.
Сайт: https://gtfobins.github.io/
Для решения подойдет «vim». https://gtfobins.github.io/gtfobins/vim/ Шелл прописывается вот так: «vim -c ‘:!/bin/bash’»:
Можем сдать ответ на 9-й вопрос. Это «vim»:
И, наконец, последний вопрос: «Какой флаг рута?» Это делается в несколько команд:
Сдаем флаг:
На этом все. Всем хорошего дня!