Давно на канале не выходило теоретических постов, про хакинг. В данном посте мы рассмотрим тему LPE, что это и зачем нужно.
Что это?
LPE - Local Privilege Escalation, кто знает английский понимает о чём идёт речь. Если переводить, то примерно верный перевод "Локальная эскалация привилегий", но слово "эскалация" достаточно редко используемое и не всем понятное, поэтому его обычно заменяют на слово "повышение" и получает "Локальное повышение привилегий".
Из названия понятно, что это поднятие привилегий и при этом локально. Поднятие привилегий должно быть понятно, мы просто получаем доступ к некоторым функциям или действиям, которые нам были не доступны. А что означает "локальное"?. А означает это то, что мы уже находимся в системе с какими либо правами, например мы получили SSH-доступ из под какого-либо пользователя и хотим получить рут-доступ. Процесс получение рут-доступа и будет являться LPE. При этом стоит отметить, что любое LPE связано с взаимодействием с системой или приложениями, запущенными в ней.
Резюмирую, можем сказать, что LPE - это процесс повышение своих прав и возможностей в системе, осуществляемый непосредственно в самой системе и при взаимодействии с системой, как пользователь.
Зачем это нужно?
Повышение привилегий - один из этапов эксплуатации системы (взлома). Так как зачастую мы после взлома можем получить только непривилегированный доступ с ограниченным функционалом, а для полного захвата машины, её протроянивания и прочего, нужен полный доступ.
LPE нужно, для повышение своих возможностей и прав в системе, с помощью которых вы сможете получить полный доступ к системе, тем самым захватив её.
Зачастую получай веб-шелл на сайте, вы будете работать от прав, например, www-data. Это крайне ограниченный пользователи и нужно повышать свои права, для этого и есть LPE.
Какие способы есть?
LPE можно осуществлять различными образами:
Плохие конфигурации системы (сюда подходи очень многое)
Уязвимости ОС
Уязвимости приложений
По больше части пентестеры или блеки пользуются рядом популярных методов, которые связаны с особенностями настройки той или иной ОС. Редко, но бывает, используются эксплоиты (уже готовые). И в самых крайних случаях, когда ломают что-то реально серьёзное, создаются 0-day эксплоиты под систему.
Уязвимости приложений, работающих в системы, как и уязвимости ОС используются примерно следующим образом:
Определяем версию приложения/ОС
Ищем уязвимости для данной версии
Если уязвимости есть, ищем эксплоит и если он есть используем его
Если уязвимости нет, то дальше зависит от квалификации хакера. Кто-то может по описанию найти и написать эксплоит, для кого-то эта задача непосильна, да и он никогда так делать не будет (скрипт-киди)
Популярные методы LPE можно найти в интернете, есть достаточно обширный список по данной ссылке (для Linux) -
Вскоре на канале выйдут практические посты по LPE, на примере заданий с root-me.org, а также разбор различных технологий LPE.