Исходная информация: даны исходники таска и ссылка.

image.png

Таск был решён уже после завершения CTF.

Давайте посмотрим, что дано.

image.png

Видим, что дано не всё. Почему то нет докеров. Ну ладно.

Посмотрим на main.py

image.png

Нет ничего интересного. Посмотрим на calc.py

image.png

Так. Видим что вызыватся calc.sh. Выглядит как RCE. Посмотрим на calc.sh.

image.png

Используються арифметические вырожения. Это грустно так как в них нельзя просто взять и отправить например ls. Но посмомотрев интернет наткнулись на следующую статью. И там сказанно, что если мы можем выполнить произвольную команду следующим образом:

a[$(ls)]

Чтоже. Давайте обновим calc.sh, чтобы можно было не париться и просто выполнять команды.

image.png

Так. Вот мы и внутри с более простым интерфейсом для RCE. Что нам это даёт? Ну мы можем смотреть всё что есть на системе но пролазив по системе несколько часом мы ничего не нашли. Ну чтож. Как потом выяснилось флаг на другой ВМ в сети докера… Ладно. Давайте узнаем что у нас по соседям. Для начала скачаем nmap.

image.png

Потом узнали про инструмент deepce который собирает информацию о докере, в котором выполняется. Скачаем его на вм и запустим.