HackTheBox : прохождение машины SkyFall

HackTheBox : прохождение машины SkyFall

ZeroDay | Кибербезопасность
Привет хакеры! Добро пожаловать в новый CTF-обзор машины SkyFall на платформе HackTheBox. Это довольно сложная машина с несколькими известными CVE и эксплуатацией локального облачного хранилища. Давайте начнем:

Сканирование Nmap

Как обычно, начнем с базового сканирования Nmap. Я обнаружил, что открыты 2 порта - 80 (nginx) и 22 (ssh).

Веб-разведка и эксплуатация

Обычно я посещаю веб-сайт с имитацией действий пользователя. Однако здесь я не обнаружил ничего интересного.

Я нашел доменное имя и добавил его в свой файл хоста. Затем я начал сканировать Gobuster vhost для перечисления поддоменов. И я нашел действительный.

Tip : demo.skyfall.htb

Я посетил и нашел страницу входа с гостевым доступом.

Cred → Given on the Web Page

И после входа я нашел эту страницу.

Это похоже на облачное хранилище. Я пытался получить доступ к метрикам Minio, но это было запрещено. Но можно обойти с помощью %0a. И вы можете видеть все узлы.

В конце страницы я нашел поддомен и добавил его в свой файл хоста.

Затем я искал уязвимость Minio в Google и нашел POC.

В соответствии с POC я попробовал его с помощью Burp Repeater и получил MINIOSECRETKEY и MINIOROOTPASSWORD.

С этими учетными данными мы можем получить доступ к внутреннему облачному хранилищу и получить некоторые интересные вещи. Поэтому я загрузил двоичный файл mc, чтобы выполнить это действие.

Я экспортировал двоичный файл в мой ENV и использовал его.

Затем я добавил команду расположения на сервере, используя эти ключи.

Затем я загрузил все файлы из этого облачного хранилища.

Здесь мы получаем директорию Home_backup для пользователя askyy. Отсюда мы можем получить доступ к пользователю. Здесь я использую определенный идентификатор(ID) для загрузки.

Затем я разархивировал эту папку.

Здесь я получаю APIVAULTTOKEN в файле .bashrc. Мы можем использовать это. Здесь мы также получаем внутренний домен сервера Vault. Поэтому я также добавляю его в свой файл хоста.

Чтобы сделать это, нам нужно сначала загрузить двоичный файл Vault.

Экспортируем токен Vault и адрес сервера.

Затем использовать двоичный файл Vault для доступа к внутреннему хранилищу. И мы также получаем токен доступа для перечисления всех служб.

Здесь мы перечисляем роли SSH, но здесь мы можем получить доступ только к dev_otp_key_role.

С помощью этого я получаю доступ к SSH первого пользователя.

Tip : ./vauly ssh -role dev_otp_key_role -mode OTP -strict-host-key-checking=no askyy@<machine_ip>

И наконец, получаю флаг пользователя.

Привилегированный доступ:

Повышение привилегий немного проще. Я ввожу sudo -l и вижу некоторые команды, которые могу запускать с помощью Sudo. Я пытаюсь использовать 1-ю команду, но разрешение отклонено:)

Затем я пытаюсь сделать это с помощью команды sudo, и добавляется файл debug.log. Но я не могу открыть его, так как у меня нет root-прав. Поэтому я удаляю этот файл журнала и добавляю новый с помощью команды touch.

Затем я запускаю тот же сценарий с sudo. Теперь я могу получить доступ к файлу журнала, потому что он принадлежит пользователю askyy.

В файле журнала, я получаю мастер-токен.

Таким образом, мы можем использовать его для получения доступа к root через SSH. Сначала экспортируйте мастер-токен и адрес домена для удобства использования.

Затем используйте следующую команду для генерации OTP, который может быть использован для получения доступа к Root. Это аутентификация на основе OTP.

Теперь вы получите ключ в качестве пароля. Вы видите, что тип ключа - OTP. Теперь попробуйте использовать SSH как root-пользователь и использовать этот ключ для получения рута.

И, наконец, я получаю флаг Root. Ура! Вот и все. Мы успешно взломали эту машину вместе.

Report Page