Найти тему
B0rn2beR00T

Решение TryHackMe (RootMe)

Оглавление

Разведка

nmap -A 10.10.61.18

-2

Видим 2 открытых порта - 22(ssh) и 80(http). Сразу ответим на вопросы, исходя из полученных данных.

-3

-4

-5

Заглянем на веб-страницу хоста.

-6

Ничего особенного мы тут не находим. Просмотрим директории веб-сайта.

gobuster dir -u http://10.10.61.18/ -w /usr/share/wordlists/dirb/common.txt

-7

Находим 2 интересующие нас директории - /panel и /uploads с http-кодом 301 (переадресация). Если зайти в директорию js, то можно проинспектировать безопасность кода страницы.

-8

Просматриваем директорию /panel и наблюдаем страницу с возможностью загружать различные файлы

-9

Внедрение в систему

Попробуем использовать популярный ревёрс-shell от pentestmonkey для входа в систему.

-10

Изменяем параметр ip в коде шелла на свой(vpn)

-11
-12

И наблюдаем ошибку...

-13

Пробуем обмануть систему защиты от php кода и изменяем формат шелла на php5

-14

И такой трюк сработал. Используем утилиту netcat для прослушивания подключения

nc -lvnp 1234

Заходим в директорию uploads, чтобы запустить загруженный файл.

-15
-16

И получаем доступ к хосту. Далее поищем пользовательский флаг.

find / -name user.txt

-17
-18

И получаем желанный результат

-19

Повышение привилегий

В самом задании мы имеем подсказку о SUID-файлах Производим поиск всех файлов с SUID.

find / -type f -user root -perm -u=s 2> /dev/null

-20

Нас теперь интересует python

-21

Воспользуемся специальным поисковиком для повышения привилегий

-22

Находим нужную команду

-23

И получаем root флаг

-24
-25

Подведём итоги

Машинка оказалась вполне стандартной, но интересной. Изменить формат php на php5 я изначально не догадался. Других векторов атаки не обнаружил. Разве что можно поиграться с разными обратными шеллами. Новичку в тестировании на проникновение будет не просто решить её, но попытаться стоит. Не всем же кейсам быть приветливыми к начинающим)