Когда мы говорим о взломе, в голове часто возникает картинка, где хакер с первого же шага получает полный контроль над системой. В реальности все выглядит совсем иначе. Злоумышленник чаще всего попадает на периметр с минимальными правами. Это может быть скомпрометированная учетка рядового бухгалтера, уязвимый веб-сервис, работающий от имени непривилегированного пользователя, или даже просто гостевой доступ к Wi-Fi. И вот тут начинается самая интересная и сложная часть работы атакующего, которая в среде специалистов называется эскалацией привилегий.
По своей сути эскалация привилегий это процесс перехода от низких прав доступа к высоким. Глобально этот процесс делится на два направления: горизонтальное и вертикальное. Горизонтальная эскалация означает, что атакующий остается на том же уровне привилегий, но получает доступ к ресурсам другого пользователя с такими же правами. Например, хакер взломал почту менеджера и теперь читает переписку директора, но сам он все еще не может менять системные настройки. Вертикальная эскалация это то, к чему стремится любой продвинутый злоумышленник. Это переход от обычного пользователя к администратору, а в случае с операционными системами кgetRootили SYSTEM. Получив вертикальную эскалацию, атакующий фактически становится богом в конкретной системе.
Механики вертикальной эскалации сильно зависят от операционной системы. В мире Linux классическим вектором является неправильная настройка прав доступа к файлам и исполняемым файлам. Если системный администратор по ошибке выставил бит SUID на какой-нибудь скрипт или бинарник, который выполняется с правами root, то любой обычный пользователь, запустив его, может выполнить произвольный код от имени суперпользователя. Еще один частый сценарий это злоупотребление правами sudo. Если в конфигурации sudoers прописано, что пользователь может запускать определенные команды от имени root без пароля, и эти команды позволяют читать или записывать критичные системные файлы, путь к руту открыт. Также нельзя забывать про эксплойты ядра. Если система давно не обновлялась, хакер может использовать уязвимость в самом ядре операционной системы, чтобы обойти все механизмы разграничения доступа.
В экосистеме Windows все устроено немного иначе, но цели те же. Здесь эскалация часто строится вокруг манипуляций с токенами доступа и настройками служб. Если атакующий может изменить путь к исполняемому файлу какой-нибудь системной службы, которая запускается от имени SYSTEM, то при следующей перезагрузке или рестарте службы он получит полный контроль над машиной. Не менее популярна техника кражи токенов. Если в системе уже работает процесс с высокими привилегиями, злоумышленник может внедрить в него свой код и унаследовать его права. Отдельная большая тема это неправильные настройки реестра и прав доступа к папкам, которые позволяют подменять системные библиотеки или исполняемые файлы, загружаемые привилегированными процессами.
Для специалистов по защите информации эскалация привилегий это настоящий кошмар, потому что ее крайне сложно отследить на ранних этапах. Если первоначальный доступ часто оставляет следы в логах межсетевых экранов или системах обнаружения вторжений, то внутренняя эскалация происходит уже внутри периметра. Атакующий действует легитимными инструментами операционной системы, используя тактику Living off the Land. Он не загружает в систему подозрительные вирусы, а использует встроенные утилиты, скрипты и легальные административные механизмы.
Защита от эскалации привилегий требует комплексного подхода. Базовое правило это принцип минимальных привилегий. Каждый пользователь, каждая служба и каждое приложение должны иметь ровно те права, которые необходимы для их непосредственной работы, и ни байтом больше. Регулярный аудит прав доступа, автоматизированный поиск misconfigurations и своевременное закрытие уязвимостей в самом ядре операционных систем критически важны. Кроме того, современные системы класса EDR должны отслеживать аномальное поведение процессов, например, когда обычный текстовый редактор вдруг пытается обратиться к системным библиотекам или запустить командную оболочку от имени администратора. Эскалация привилегий это мост между простым нарушением периметра и полноценной катастрофой, и именно на этом мосту решается судьба корпоративной сети.