Найти в Дзене

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 порты соответственно. Сдаем ответ: Переходим к следующему вопросу, который звучит как: «Что работает на более высоком порте?». Тоже простой вопрос.

Здравствуйте, дорогие друзья.

Сегодня будем решать CTF челлендж, который называется Simple CTF:

Задания для новичков, поэтому будет не очень сложное прохождение, но навыки необходимо нарабатывать.

Итак, начнем решать задачи.

1-й вопрос звучит как: «Сколько сервисов работает под портом 1000?».

Для решения данного задания, нам необходимо воспользоваться инструментом «nmap». Его, как правило, используют для сканирования ip.

Команда для сканирования будет выглядеть как: «sudo nmap –sS –sV –A –p- <ip-адрес>»:

-2

Для тех, кто не знает параметры, которые я ввел в терминал, воспользуйтесь подсказками в мануале по «nmap». Для этого нужно ввести команду: «nmap --help»:

-3

Итак, после некоторого времени сканирование должно завершиться:

-4

Смотрим открытые порты до 1000 порта, чтобы посчитать их количество. Это и есть решение задачи. Я насчитал 2 порта: 21 и 80 порты соответственно.

Сдаем ответ:

-5

Переходим к следующему вопросу, который звучит как: «Что работает на более высоком порте?». Тоже простой вопрос. Это порт 2222, и служба «ssh».

Ответ: ssh

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

-6

Итак, 3-й вопрос: «Какую CVE вы используете против приложения?»

Для ответа на данный вопрос, предлагаю просканировать ip-адрес машины, с помощью gobuster на предмет скрытых директорий, так как перейдя по ip нашей цели, мы ничего не получим. Просто будет вывод дефолтной страницы Apache2:

-7

Я работаю на Kali из браузера, поэтому данный инструмент не предустановлен в системе.

Для решения этой проблемы, сначала обновим репозитории «apt update», а затем уже установим gobuster «apt install gobuster»:

-8
-9

Отлично. Теперь осталось запустить установленный инструмент для сканирования айпи-адреса. Команда: «sudo gobuster dir –u http://10.10.234.106/ -w /root/Desktop/wordlists/directory-list-2.3-medium.txt»:

-10

Находим скрытую директорию «/simple».

Приложение, размещенное за http://10.10.234.106/simple/, является CMS (CMS Made Simple версии 2.2.8):

-11

Исходя из вопроса, нам необходимо найти уязвимости для приложения.

Это легко гуглится. Существует несколько уязвимостей, но наиболее актуальной является CVE-2019-9053 (https://www.cvedetails.com/cve/CVE-2019-9053/), поэтому ответ будет: «CVE-2019-9053».

Сдаем ответ:

-12

Переходим к 4-му вопросу: «К какой уязвимости уязвимо приложение?».

Задача на внимательность. Ответ можно найти в описании уязвимости. В этом CVE говорится о SQL-инъекции, которая обычно называется «sqli».

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

-13

5-й вопрос: «Какой пароль?».

Для этой версии CMS есть эксплойт на python, который можно найти по ссылке: https://www.exploit-db.com/exploits/46635, либо в поиске по ключевикам: «cms made simple exploit»:

-14

Скачиваем его к себе на машину.

Для взлома пароля нам необходимо скачать словарь из интернета, который называется: «best110.txt»:

-15

Сохраню на рабочий стол:

-16

Теперь запустим эксплойт и словарь для взлома. Команда будет выглядеть как: «python3 46635.py –u http://10.10.234.106/simple/ --crack –w best110.txt».

Замечу, что эксплойт пришлось редактировать, потому что он запускался с ошибками. В основном – это добавление скобок в функции print.

-17

И вновь ошибка на последнем шаге. Она исправляется добавлением кода в оператор if, изменения кодировки на utf-8:

-18

Запускаем эксплойт еще раз:

-19

Все отлично. Получили нужные данные.

Сдаем ответ. Пароль: «secret»:

-20

6-й вопрос звучит как: «Где вы можете войти в систему с полученными данными?»:

Мы можем использовать эти учетные данные для входа в систему по ssh (работает на порту 2222).

Ответ: «ssh»

-21

7-й вопрос: «Какой флаг юзера?»

Ответ можно найти, перейдя в ssh:

«ssh –p 2222 mitch@10.10.234.106»:

-22
-23

Сдаем флаг:

-24

8-й вопрос: «Есть ли в домашнем каталоге другие пользователи? Что это за имя?».

Вопрос простой. Для этого воспользуемся командой: «ls –l /home»:

-25

Ответ: «sunbath».

-26

9-й вопрос: «Что вы можете использовать для создания привилегированной оболочки?».

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

Сайт: https://gtfobins.github.io/

Для решения подойдет «vim». https://gtfobins.github.io/gtfobins/vim/

Шелл прописывается вот так: «vim -c ':!/bin/bash'»:

-27

Можем сдать ответ на 9-й вопрос. Это «vim»:

-28

И, наконец, последний вопрос: «Какой флаг рута?»

Это делается в несколько команд:

-29

Сдаем флаг:

-30

На этом все. Всем хорошего дня!