stihl не предоставил(а) никакой дополнительной информации.
Сегодня мы повысим привилегии в Linux, воспользовавшись возможностью создать сессию оболочки Mosh в привилегированном контексте. На пути к шеллу получим данные по SNMP, проникнем в установленную на сайте CMS и узнаем пароль пользователя.
Наша конечная цель — получение прав суперпользователя на машине UnderPass с учебной площадки Hack The Box. Уровень задания — легкий.
10.10.11.48 underpass.htb
И запускаем сканирование портов.
Наиболее известный инструмент для сканирования — это Nmap. Улучшить результаты его работы ты можешь при помощи следующего скрипта:
Он действует в два этапа. На первом производится обычное быстрое сканирование, на втором — более тщательное сканирование, с использованием имеющихся скриптов (опция -A).
Результат работы скрипта
Сканер нашел два открытых порта:
sudo nmap -sU -p161 -A 10.10.11.48
Результат сканирования порта 161
Порт открыт, а значит, на хосте активна служба SNMP.
Страница по умолчанию
На сайте ничего интересного найти не удалось, поэтому приступим к сканированию.
или Зарегистрируйся, Для просмотра ссылки Войди или Зарегистрируйся или Для просмотра ссылки Войди или Зарегистрируйся. Я предпочитаю Для просмотра ссылки Войди или Зарегистрируйся.
Нам понадобятся следующие параметры:
feroxbuster -u Для просмотра ссылки Войдиили Зарегистрируйся -w directory_2.3_medium_lowercase.txt -d 1 -t 256
Просканировав все файлы и каталоги, ничего нужного для продвижения не находим. Также я просканировал поддомены при помощи ffuf, но и тут ничего интересного не было.
Тогда переходим от сканирования веб‑сервера к тестированию службы SNMP на порте 161.
SNMP — это протокол прикладного уровня, он делает возможным обмен данными между сетевыми устройствами. Протокол позволяет системному администратору проводить мониторинг, контролировать производительность сети и изменять конфигурацию подключенных устройств.
В SNMP используется сommunity-based модель безопасности (на основе строки сообщества). Фактически это идентификатор пользователя или пароль, который отправляется вместе с запросом. Если строка сообщества неверна, агент игнорирует запрос. Попробуем получить информацию по стандартной строке public.
snmpwalk -v 2c -c public underpass.htb
Информация из SNMP
Обычно информации вываливается очень много, но в этот раз все почти уместилось на одном экране. В первых параметрах сразу отмечаем имя пользователя steve@underpass.htb, а также идущую следом строку:
Результат поиска в Google
Самая Для просмотра ссылки Войдиили Зарегистрируйся ведет на GitHub-репозиторий daloRADIUS. Это приложение Radius Web Management для управления пользователями, составления отчетности, ведения бухгалтерского учета и тому подобных вещей. Убедимся, что на сервере действительно установлено это веб‑приложение, для чего обратимся к файлу daloradius/ChangeLog.
Содержимое файла ChangeLog
В справке приложения можно найти учетные данные администратора системы по умолчанию.
Справка Testing the Infrastructure
Переходим к странице авторизации:
Для просмотра ссылки Войдиили ЗарегистрируйсяИ пытаемся залогиниться с найденными учетными данными.
Страница авторизации daloRADIUS
Система была развернута со всеми настройками по умолчанию, поэтому мы получаем административный доступ.
Панель администратора
/daloradius/app/operators/mng-list-all.php
Помимо ID, имени пользователя и ссылки на профиль, на странице отображается и хеш пароля.
Содержимое страницы Users Listing
Судя по длине хеша, используется алгоритм хеширования MD5. Быстро проверить хеш MD5 по базам можно на сайте Для просмотра ссылки Войдиили Зарегистрируйся. В итоге сразу получаем пароль пользователя svcMosh.
Результат взлома пароля
Нередки случаи, когда у пользователя один пароль в разных сервисах. С полученными учетными данными удалось подключиться по SSH и забрать первый флаг.
Флаг пользователя
или Зарегистрируйся (PEASS) — набор скриптов, которые проверяют систему на автомате и выдают подробный отчет о потенциально интересных файлах, процессах и настройках.
Загрузим на удаленный хост скрипт для Linux, дадим право на выполнение и запустим сканирование. В выводе будет много информации, но важной в этом случае можно назвать только настройки sudoers.
Настройки sudoers
Пользователь svcMosh может запустить /usr/bin/mosh-server без ввода пароля в привилегированном контексте.
Mosh (Mobile Shell) — это аналог SSH, но с некоторыми дополнительными функциями:
sudo /usr/bin/mosh-server new
Запуск сервера Mosh
В другом терминале подключаемся с указанными данными и получаем сессию root.
MOSH_KEY=g7GjrHThX59jU+nwHKFldg mosh-client 127.0.0.1 60001
Флаг рута
Машина захвачена!
Наша конечная цель — получение прав суперпользователя на машине UnderPass с учебной площадки Hack The Box. Уровень задания — легкий.
warning
Подключаться к машинам с HTB рекомендуется с применением средств анонимизации и виртуализации. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.Разведка
Сканирование портов
Добавляем IP-адрес машины в /etc/hosts:10.10.11.48 underpass.htb
И запускаем сканирование портов.
Справка: сканирование портов
Сканирование портов — стандартный первый шаг при любой атаке. Он позволяет атакующему узнать, какие службы на хосте принимают соединение. На основе этой информации выбирается следующий шаг к получению точки входа.Наиболее известный инструмент для сканирования — это Nmap. Улучшить результаты его работы ты можешь при помощи следующего скрипта:
Код:
#!/bin/bash
ports=$(nmap -p- --min-rate=500 $1 | grep ^[0-9] | cut -d '/' -f 1 | tr '
' ',' | sed s/,$//)
nmap -p$ports -A $1
Он действует в два этапа. На первом производится обычное быстрое сканирование, на втором — более тщательное сканирование, с использованием имеющихся скриптов (опция -A).
Сканер нашел два открытых порта:
- 22 — служба OpenSSH 8.9p1;
- 80 — веб‑сервер Apache 2.4.52.
sudo nmap -sU -p161 -A 10.10.11.48
Порт открыт, а значит, на хосте активна служба SNMP.
Точка входа
Начинаем с сайта на 80-м порте веб‑сервера. Однако там нас ожидает стандартная страница веб‑сервера Apache.На сайте ничего интересного найти не удалось, поэтому приступим к сканированию.
Справка: сканирование веба c feroxbuster
Одно из первых действий при тестировании безопасности веб‑приложения — это сканирование методом перебора каталогов, чтобы найти скрытую информацию и недоступные обычным посетителям функции. Для этого можно использовать программы вроде Для просмотра ссылки ВойдиНам понадобятся следующие параметры:
- -u — URL;
- -w — словарь (я использую словари из набора Для просмотра ссылки Войди
или Зарегистрируйся); - -t — количество потоков;
- -d — глубина сканирования.
feroxbuster -u Для просмотра ссылки Войди
Просканировав все файлы и каталоги, ничего нужного для продвижения не находим. Также я просканировал поддомены при помощи ffuf, но и тут ничего интересного не было.
Тогда переходим от сканирования веб‑сервера к тестированию службы SNMP на порте 161.
SNMP — это протокол прикладного уровня, он делает возможным обмен данными между сетевыми устройствами. Протокол позволяет системному администратору проводить мониторинг, контролировать производительность сети и изменять конфигурацию подключенных устройств.
В SNMP используется сommunity-based модель безопасности (на основе строки сообщества). Фактически это идентификатор пользователя или пароль, который отправляется вместе с запросом. Если строка сообщества неверна, агент игнорирует запрос. Попробуем получить информацию по стандартной строке public.
snmpwalk -v 2c -c public underpass.htb
Обычно информации вываливается очень много, но в этот раз все почти уместилось на одном экране. В первых параметрах сразу отмечаем имя пользователя steve@underpass.htb, а также идущую следом строку:
Загуглим daloradius server.UnDerPass.htb is the only daloradius server in the basin!
Самая Для просмотра ссылки Войди
В справке приложения можно найти учетные данные администратора системы по умолчанию.
Переходим к странице авторизации:
Для просмотра ссылки Войди
Система была развернута со всеми настройками по умолчанию, поэтому мы получаем административный доступ.
Продвижение
Немного почитав про администрирование daloRADIUS, можно узнать, что панель управления пользователями предоставляет излишнюю информацию. Мы можем получить список пользователей вот на этой странице:/daloradius/app/operators/mng-list-all.php
Помимо ID, имени пользователя и ссылки на профиль, на странице отображается и хеш пароля.
Судя по длине хеша, используется алгоритм хеширования MD5. Быстро проверить хеш MD5 по базам можно на сайте Для просмотра ссылки Войди
Нередки случаи, когда у пользователя один пароль в разных сервисах. С полученными учетными данными удалось подключиться по SSH и забрать первый флаг.
Локальное повышение привилегий
Теперь нам необходимо собрать информацию. Я буду использовать для этого скрипты PEASS.Справка: скрипты PEASS
Что делать после того, как мы получили доступ в систему от имени пользователя? Вариантов дальнейшей эксплуатации и повышения привилегий может быть очень много, как в Linux, так и в Windows. Чтобы собрать информацию и наметить цели, можно использовать Для просмотра ссылки ВойдиЗагрузим на удаленный хост скрипт для Linux, дадим право на выполнение и запустим сканирование. В выводе будет много информации, но важной в этом случае можно назвать только настройки sudoers.
Пользователь svcMosh может запустить /usr/bin/mosh-server без ввода пароля в привилегированном контексте.
Mosh (Mobile Shell) — это аналог SSH, но с некоторыми дополнительными функциями:
- сессии сохраняются, даже когда клиент меняет свой адрес, например при переходе на другую беспроводную сеть;
- терминальные сессии поддерживаются в активном состоянии даже при потере подключения или при переводе клиентского компьютера в режим ожидания;
- клиент Mosh пытается реагировать на события клавиатуры (набор текста, удаление символов), не дожидаясь ответа от сервера, что скрывает сетевую задержку.
sudo /usr/bin/mosh-server new
В другом терминале подключаемся с указанными данными и получаем сессию root.
MOSH_KEY=g7GjrHThX59jU+nwHKFldg mosh-client 127.0.0.1 60001
Машина захвачена!