Разведка
nmap -A 10.10.61.18
Видим 2 открытых порта - 22(ssh) и 80(http). Сразу ответим на вопросы, исходя из полученных данных.
Заглянем на веб-страницу хоста.
Ничего особенного мы тут не находим. Просмотрим директории веб-сайта.
gobuster dir -u http://10.10.61.18/ -w /usr/share/wordlists/dirb/common.txt
Находим 2 интересующие нас директории - /panel и /uploads с http-кодом 301 (переадресация). Если зайти в директорию js, то можно проинспектировать безопасность кода страницы.
Просматриваем директорию /panel и наблюдаем страницу с возможностью загружать различные файлы
Внедрение в систему
Попробуем использовать популярный ревёрс-shell от pentestmonkey для входа в систему.
Изменяем параметр ip в коде шелла на свой(vpn)
И наблюдаем ошибку...
Пробуем обмануть систему защиты от php кода и изменяем формат шелла на php5
И такой трюк сработал. Используем утилиту netcat для прослушивания подключения
nc -lvnp 1234
Заходим в директорию uploads, чтобы запустить загруженный файл.
И получаем доступ к хосту. Далее поищем пользовательский флаг.
find / -name user.txt
И получаем желанный результат
Повышение привилегий
В самом задании мы имеем подсказку о SUID-файлах Производим поиск всех файлов с SUID.
find / -type f -user root -perm -u=s 2> /dev/null
Нас теперь интересует python
Воспользуемся специальным поисковиком для повышения привилегий
Находим нужную команду
И получаем root флаг
Подведём итоги
Машинка оказалась вполне стандартной, но интересной. Изменить формат php на php5 я изначально не догадался. Других векторов атаки не обнаружил. Разве что можно поиграться с разными обратными шеллами. Новичку в тестировании на проникновение будет не просто решить её, но попытаться стоит. Не всем же кейсам быть приветливыми к начинающим)