Методики повышения привилегий в Linux

Повышение привилегий в Linux или как стать root?

Если у нас есть ограниченная оболочка, полезно повысить привилегии этой оболочки. Таким образом будет легче скрывать, читать и записывать любые файлы и сохранять их между перезагрузками.

В этой главе я собираюсь рассмотреть эти распространенные техники повышения привилегий Linux:

  • Эксплойты ядра
  • Программы, работающие с правами root
  • Установленное ПО
  • Слабые / повторно используемые / незашифрованные пароли
  • Внутреннее обслуживание
  • Неправильная конфигурация Suid
  • Нарушение прав sudo
  • Доступные для записи скрипты, вызываемые пользователем root
  • Неверная конфигурация пути
  • Cronjobs
  • Несмонтированные файловые системы

Скрипты перечисления

Я использовал в основном три сценария, которые используются для перечисления машины. Между сценариями есть некоторая разница, но они выводят во многом то же самое. Так что протестируйте их все и посмотрите, какой из них вам больше нравится.

LinEnum

https://github.com/rebootuser/LinEnum

Вот варианты:

-k Enter keyword
-e Enter export location
-t Include thorough (lengthy) tests
-r Enter report name
-h Displays this help text

Unix privesc

http://pentestmonkey.net/tools/audit/unix-privesc-check
Запустите сценарий и сохраните вывод в файл, а затем grep для предупреждения в нем.

Linprivchecker.py

https://github.com/reider-roque/linpostexp/blob/master/linprivchecker.py

Методы повышения привилегий

Эксплойты ядра

Используя уязвимости в ядре Linux, мы можем иногда повышать свои привилегии. Что нам обычно нужно знать, чтобы проверить, работает ли эксплойт ядра, так это ОС, архитектуру и версию ядра.

Проверьте следующее:

ОПЕРАЦИОННЫЕ СИСТЕМЫ:

Архитектура:

Версия ядра:

uname -a
cat /proc/version
cat /etc/issue

Искать эксплойты

site:exploit-db.com kernel version

python linprivchecker.py extended

Не используйте эксплойты ядра, если можете этого избежать. Если вы его используете, это может привести к сбою машины или ее нестабильному состоянию. Так что эксплойты ядра должны быть последним средством. По возможности всегда используйте более простой приват-esc. Они также могут производить много чего в формате sys.logТак что, если вы найдете что-то хорошее, внесите это в свой список и продолжайте искать другие способы, прежде чем использовать это.

Программы, работающие с правами root

Идея здесь в том, что если конкретная служба работает от имени пользователя root, и вы можете заставить эту службу выполнять команды, вы можете выполнять команды как root. Ищите веб-сервер, базу данных или что-нибудь еще в этом роде. Типичным примером этого является mysql, пример ниже.

Проверить, какие процессы запущены

# Metasploit
ps

# Linux
ps aux

MySQL

Если вы обнаружите, что mysql запущен от имени пользователя root и у вас есть имя пользователя и пароль для входа в базу данных, вы можете выполнить следующие команды:

select sys_exec('whoami');
select sys_eval('whoami');

Если ни один из них не работает, вы можете использовать функцию, определяемую пользователем /

Программное обеспечение, установленное пользователем

Установил ли пользователь какое-либо стороннее программное обеспечение, которое может быть уязвимо? Проверить это. Если вы найдете что-нибудь, погуглите это на предмет эксплойтов.

# Common locations for user installed software
/usr/local/
/usr/local/src
/usr/local/bin
/opt/
/home
/var/
/usr/src/

# Debian
dpkg -l

# CentOS, OpenSuse, Fedora, RHEL
rpm -qa (CentOS / openSUSE )

# OpenBSD, FreeBSD
pkg_info

Слабые / повторно используемые / незашифрованные пароли

  • Проверить файл, в котором веб-сервер подключается к базе данных ( config.phpили аналогичной)
  • Проверьте базы данных на наличие паролей администратора, которые можно использовать повторно
  • Проверить слабые пароли
username:username
username:username1
username:root
username:admin
username:qwerty
username:password
  • Проверить пароль открытым текстом
# Anything interesting the the mail?
/var/spool/mail
./LinEnum.sh -t -k password

Услуга доступна только изнутри

Может случиться так, что пользователь запускает какую-то службу, доступную только с этого хоста. Не получается подключиться к сервису извне. Это может быть сервер разработки, база данных или что-то еще. Эти службы могут быть запущены как root, или в них могут быть уязвимости. Они могут быть еще более уязвимыми, поскольку разработчик или пользователь может подумать, что «поскольку он доступен только для конкретного пользователя, нам не нужно тратить столько средств на безопасность».

Проверьте netstat и сравните его с nmap-сканированием, которое вы сделали извне. Вы найдете больше услуг, доступных изнутри?

# Linux
netstat -anlp
netstat -ano

Неверная конфигурация Suid и Guid

Когда двоичный файл с разрешением suid запускается, он запускается от имени другого пользователя и, следовательно, с привилегиями других пользователей. Это может быть root или просто другой пользователь. Если suid-бит установлен в программе, которая может порождать оболочку или иным образом быть злоупотреблением, мы можем использовать это для повышения наших привилегий.

Например, вот некоторые программы, которые можно использовать для создания оболочки:

nmap
vim
less
more

Если в этих программах установлен suid-бит, мы можем использовать их также для повышения привилегий. Чтобы узнать больше об этом и о том, как использовать, см. Следующий раздел о злоупотреблении правами sudo:

nano
cp
mv
find

Найдите файлы suid и guid

#Find SUID
find / -perm -u=s -type f 2>/dev/null

#Find GUID
find / -perm -g=s -type f 2>/dev/null

Нарушение прав sudo

Если у вас ограниченная оболочка, которая имеет доступ к некоторым программам, которые используют, sudoвы можете повысить свои привилегии с помощью. Можно использовать любую программу, которая может писать или перезаписывать. Например, если у вас есть sudo-права, cpвы можете перезаписать /etc/shadowили использовать /etc/sudoersсобственный вредоносный файл.

awk

awk 'BEGIN {system("/bin/bash")}'

bash

cp
Скопируйте и перезапишите / etc / shadow

find

<pre style="-webkit-tap-highlight-color: transparent; text-size-adjust: none; -webkit-font-smoothing: antialiased; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 16px; white-space: pre-wrap; break-inside: avoid; di

  • 0 användare blev hjälpta av detta svar
Hjälpte svaret dig?

Relaterade artiklar

9. Основные инструменты life-hack

Инструменты, входящие в пакет rtpflood rtpflood - Инструмент для заливки любого устройства RTP...

Установка средств Kali Linux с помощью Katoolin в debian 10

Установка средств Kali Linux с помощью Katoolin Установка Katoolin Мы испытали Katoolin на...

Список команд для сбора информации о Linux

Сбор информации Слепые файлы вещи, которые нужно тянуть, когда все, что вы можете сделать,...

1. H3PING - Активный инструмент для улучшения сети

Активный инструмент для улучшения сети - hping3 hping3  hping - это ориентированный на...

2. Еще инструменты kali

Описание пакета PadBuster PadBuster - это Perl-скрипт для автоматизации атак Oracle Padding....