Привет всем, решил написать небольшой райтап о прохождении машины Bounty Hacker на tryhackme. Уровень easy, так скажем для начинающих то, что доктор прописал.
Задачи:
Найти открытые порты
Найти имя юзера
Подобрать пароль к ssh
Получить user.txt
Получить root.txt
Разведка.
Просканируем нашу цель.
На борту у нас 21/ftp , 22/ssh , 80/appache
Попробуем зайти на ftp:
Я пропустил ввод пароля и получил ошибку.
Сообщение "530 This FTP server is anonymous only" означает следующее:
FTP-сервер настроен таким образом, что он допускает только анонимные подключения. Это значит, что для доступа
к ресурсам сервера не требуется вводить уникальное имя пользователя и пароль. Вместо этого, пользователи могут
использовать общедоступный логин, обычно "anonymous", и любой пароль (или даже оставить поле пароля пустым).
Пробуем и вход выполнен успешно.
Проверяем какие файлы нам доступны и скачиваем их.
При открытии мы видим следующее:
Список возможных паролей и сообщение оставленное пользователем lin.
Пробуем подобрать пароль к ssh с помощью hydra и листом который хранился на ftp сервере:
Успех.
Подключаемся как user нашему ssh и читаем user.txt:
Теперь нам предстоит повысить свои привилегии до root.
Privilage Escalation.
Используем команду sudo -l
Команда sudo -l в Unix-подобных операционных системах используется для отображения прав пользователя
на выполнение команд с привилегиями суперпользователя (root).
Вывод команды означает, что пользователь lin может запускать команду /bin/tar с правами суперпользователя.
Команда tar обычно используется для работы с архивами (создание, извлечение и т.д.).
Попробуем поискать на Gitfobins tar возможность повышения:
Нам это подходит:
Попробуем разобраться что это:
- tar -cf /dev/null /dev/null: эта часть команды создает архив (флаг -c) и передает его на выход в /dev/null, т.е. фактически
никуда не сохраняет. Так как не происходит фактической работы с файлами, она не создает никаких файлов.
--checkpoint=1: эта опция указывает tar выводить информацию о прогрессе после каждой одной записи (например, при небольшом объеме данных).
--checkpoint-action=exec=/bin/sh: эта опция указывает tar выполнять команду /bin/sh (интерпретатор командной строки shell)
каждый раз, когда происходит "контрольная точка". Таким образом, каждый раз, когда tar достигает контрольной точки, будет запущен новый экземпляр оболочки.
Таким образом, всей этой последовательностью команд мы использовали tar для запуска оболочки sh
с правами суперпользователя,что дало нам возможность выполнять любые команды как root.
Спасибо, что уделили время на прочтение данного райтапа, так же кому понравилось и кто хочет, чтобы такие прохождения с разбором появлялись здесь чаще
ставьте лайки.