Privilege Escalation в Linux: техники и примеры

Мы просто и по делу рассказываем про ИИ-инструменты для работы: сравнения, пошаговые гайды, бесплатные альтернативы и реальные сценарии применения. Помогаем выбрать между ChatGPT, Gemini, Claude, локальными моделями и десятками узкоспециализированных сервисов — от дизайна и HR до аналитики и SEO. Меньше хайпа, больше практики и экономии времени каждый день.

privilege escalationlinuxsuid

Privilege Escalation — это повышение привилегий: когда пользователь получает доступ выше своего текущего уровня. В Linux это одна из самых важных тем и для пентестеров, и для администраторов, и для DevOps. Понимание техник помогает не только атаковать в лаборатории, но и закрывать реальные риски в инфраструктуре.

Что обычно ищут при повышении привилегий в Linux

  • неправильные права на файлы и каталоги
  • опасные настройки sudo
  • SUID/SGID-бинарники
  • уязвимые сервисы и cron-задачи
  • переменные окружения и PATH hijacking
  • capabilities Linux
  • слабые пароли, ключи, токены и конфиги с секретами

1. Ошибки в sudo ⚙️

Команда:

sudo -l

Показывает, что пользователь может запускать от имени root. Опасно, если разрешены редакторы, интерпретаторы или утилиты вроде vim, less, find, python, bash.

Пример: если разрешён запуск vim через sudo, внутри можно выполнить shell-команду и получить root-доступ.

2. SUID-бинарники 🧩

SUID-файл выполняется с правами владельца, часто root. Поиск:

find / -perm -4000 -type f 2>/dev/null

Если среди них нестандартные или уязвимые бинарники — это частая точка эскалации. Особенно опасны плохо написанные внутренние утилиты.

3. Небезопасные cron-задачи

Планировщик cron запускает команды по расписанию. Если root выполняет скрипт, который может изменить обычный пользователь, это прямой путь к повышению привилегий.

Проверяют:

cat /etc/crontab
ls -la /etc/cron.*

4. PATH hijacking 🛠️

Если root-скрипт запускает команду без полного пути, например backup вместо /usr/bin/backup, злоумышленник может подменить бинарник через PATH. Это классическая ошибка в самописных скриптах.

5. Linux capabilities

Capabilities дают процессам отдельные привилегии без полного root. Проверка:

getcap -r / 2>/dev/null

Если, например, python или tar имеют опасные capabilities, это может привести к чтению защищённых файлов или запуску привилегированных действий.

6. Конфиги, секреты, ключи 🔑

Часто root-доступ получают не через эксплойт, а через найденные данные:

  • приватные SSH-ключи
  • пароли в .env, config.php, backup-файлах
  • токены CI/CD
  • доступы к БД и облаку

Базовый алгоритм проверки

  • определить пользователя: id, whoami
  • изучить sudo: sudo -l
  • найти SUID: find / -perm -4000 -type f 2>/dev/null
  • проверить cron, systemd, скрипты
  • просмотреть capabilities
  • искать секреты и неправильные права
  • анализировать версии ядра и сервисов на известные уязвимости

Как защититься 🛡️

  • минимизировать права в sudoers
  • не использовать SUID без необходимости
  • задавать полные пути в root-скриптах
  • защищать cron и systemd unit-файлы
  • регулярно аудитить права, capabilities и секреты
  • обновлять ОС и сервисы
  • включать логирование и мониторинг изменений

Privilege Escalation в Linux почти всегда строится не на “магии”, а на ошибках конфигурации, избыточных правах и забытых артефактах. Поэтому лучшая защита — регулярный аудит и принцип наименьших привилегий. ✅

📌 Ниже — мягкая рекомендация: посмотрите подборку каналов про IT, где публикуют практику по Linux, DevOps, безопасности и администрированию.

🗣 Подборки каналов
🧠 Каталог ботов и приложений
🗺 Навигация

Читайте так же