вторник, 26 ноября 2019 г.

Повышение привилегий: systemctl (некорректные права доступа для sudo/SUID).


 Systemctl в linux системах используется для запуска различных служб, таких как apache, bind9 и любой другой. Из-за того уровня возможностей, который systemctl может оказать на систему, он обычно зарезервирован для использования только привилегированным пользователям, таким как системный администратор(root). В некоторых случаях, когда права для запуска systemctl настроенные неверно это можно использовать для повышения привилегий. Для примера, там где настройки в /etc/sudoers файле разрешают пользователям с низким уровнем доступа выполнять systemctl с правами root, или SUID systemctr настроен с правами разрешающими пользователям с низким уровнем доступа запускать его.

Создание system unit files.

 

 Первое что необходимо сделать – создать system unit file где systemctl ссылается на запуск сервиса. Формат такого файла хорошо описан на сайте RedHat: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/sect-managing_services_with_systemd-unit_files
На целевой системе необходимо найти директорию с доступом на запись и сохранить там созданный unit file. В моем случае я использую пользовательскую директорию, назвав файл root.service. Содержание файла:
https://miro.medium.com/max/1438/1*cr6cGCsiyKh6xxB7XaBYCA.png
 Обратите внимание на параметр User, значение этого параметра устанавливает с правами какого пользователя systemctl запустит описываемый сервис. Моя цель получить root, для чего указан соответствующий пользователь. В параметре ExecStart указываем наш payload. Я использую bash реверс шелл.

Запуск payload.

Всё что нам необходимо сделать, это включить созданный нами сервис root.service и запустить его:
https://miro.medium.com/max/2232/1*rQDlk5KWmzDlbd5LPZnzUQ.png 
 После того как сервис запустился, мы можем подключиться к целевой системе и увидим, bash окружение работает из под root:
https://miro.medium.com/max/1764/1*wsTv_UgeZdxexrz4DK9PCQ.png

Комментариев нет:

Отправить комментарий