Авторские курсы Михаила Тарасова

Privilege Escalation в Linux: от юзера до root — классика жанра

Privilege Escalation в Linux: от юзера до root - классика жанра

Ты залил шелл, сидишь под www-data или каким-нибудь безобидным svc-app, и думаешь: «ну и что дальше, я тут как в клетке». Не ной. Это не тюрьма, это стартовая точка. PrivEsc в Linux — это не магия, это методичный чек-лист: enumerate → найди дыру → эксплойтни → root shell. Всё как в любви: сначала долго присматриваешься, потом резко и без предупреждения.

Точка входа: enumeration — это не скучно, это фундамент

Прежде чем палить эксплойты в кернел, как из пушки по воробьям, сделай нормальную разведку. 90% реальных privesc — это не 0day в ядре, а банальные админские косяки: кривые права, забытый sudo, cron-скрипт с правами root, который ты можешь переписать.

Ленивый, но эффективный вариант — автоматизировать сбор:

pspy — это вообще читерский код, потому что видит, что root запускает по расписанию, даже если тебе нельзя читать crontab напрямую. Запусти его в фоне минут на 5-10, попей кофе, посмотри что творится в системе.

Что бросилось в глаза: шесть классических векторов

Вот твой чек-лист. Прогоняй по порядку, где-нибудь да зацепит.

  • SUID/SGID бинарники. Ищи файлы с битом SUID, которые запускаются от имени владельца (часто root). Команда: find / -perm -4000 -type f 2>/dev/null. Нашёл что-то нестандартное типа find, vim, python, awk — сразу гугли (а лучше сразу проверяй) на GTFOBins . Это база данных бинарников, которые «легитимно» можно абьюзнуть для эскалации — читай, легальный лут для хакера.

  • Sudo-мисконфиги. Команда sudo -l — твой лучший друг. Если видишь (ALL) NOPASSWD: /usr/bin/vim — всё, дальше объяснять не буду, GTFOBins тебе в помощь: sudo vim -c ':!/bin/sh' и ты root.

  • Cron hijacking. Скрипты, запускаемые по крону от root, с правами на запись для твоего юзера — это подарок судьбы. Смотри /etc/crontab, /etc/cron.d/, и права на сами скрипты.

  • PATH injection. Если root-скрипт вызывает бинарник без полного пути (cp вместо /bin/cp), а твой $PATH можно перезаписать в приоритете — подсовываешь свой злой cp, ждёшь запуска по крону, получаешь shell.

  • Linux capabilities. Забытый мир после SUID. getcap -r / 2>/dev/null покажет бинарники с расширенными правами (cap_setuid+ep на python3 — это буквально root в кармане).

  • Kernel exploits. Крайняя мера, когда всё вышеперечисленное дало пустоту. Проверь версию ядра (uname -a) и ищи публичные PoC.

Векторы атак 2025-2026: не только классика

Индустрия не стоит на месте, и кернел-баги продолжают сыпаться щедро:

  • CVE-2026-46333 — свежая дыра в __ptrace_may_access(), логическая ошибка позволяет непривилегированному локальному юзеру читать чувствительные файлы и выполнять команды от root на дефолтных установках нескольких мажорных дистрибутивов. Это прямо учебник, как «мелкий logic flaw» превращается в full root compromise.

  • «Attack of the Vsock» (CVE-2025-21756) — баг в vsock-подсистеме, позволяющий вырваться из VM на хост через манипуляцию reference-счётчиками при переназначении транспорта, что триггерит use-after-free. Ransomware-группы типа RansomHub и Akira уже вовсю юзали похожие цепочки для постэксплуатации.

  • Container escapes через OverlayFS («Flipping Pages») — юнион-файловая система Docker не всегда корректно мапит UID, что даёт контейнерному юзеру root на хосте. Если пентестишь докеризованную инфру — обязательно в чек-лист.

  • CVE-2021-22555 — старый, но не забытый нетлинк-баг: heap out-of-bounds write через специально скроенные netlink-атрибуты, публичные PoC показывают full root compromise за секунды на дефолтном конфиге ядер 2.6–5.12.

Тренд 2026 года: атакующие всё чаще стартуют внутри контейнера или через AI-агентов с shell-доступом (привет, prompt injection в LLM-тулах, которые могут случайно потрогать /etc/sudoers). Так что если пентестишь что-то с AI-автоматизацией — не забудь про этот вектор, он свежий и недооценённый.

Команды и лайфхаки для быстрого профита

Не забывай про обфускацию своих действий в логах, а то admin проснётся раньше, чем ты закончишь.

Итог: чек-лист вместо магии

WAF, права доступа, sudoers — это не стена, это приглашение на танец, если админ был невнимателен хоть раз. Настоящий privesc в 95% случаев — это не элитный zero-day, а забытый файл с правами 777 или sudoers-строчка, скопированная из Stack Overflow пять лет назад. Прогоняй LinPEAS, смотри GTFOBins, проверяй cron — и root у тебя в кармане быстрее, чем ты придумаешь следующий мем про безопасных админов.

Мои курсы