Кража токенов доступа как способ повысить локальные привилегии
Сергей Меньшаков, 31/05/21
Многие кибератаки, целью которых является причинение вреда сети, включают техники бокового смещения. После первичного заражения, чтобы распространяться дальше и скомпрометировать другие системы в сети, такому вредоносному ПО обычно необходимо выполнить задание или запустить команду с повышенной привилегией. По этой причине на одном из этапов горизонтального распространения данные программы обычно применяют какую-либо методику для повышения уровня прав и полномочий.
Автор: Сергей Меньшаков, инженер-пресейл направления McAfee
В случае успеха вредоносное ПО или киберпреступник получат возможность проводить боковое смещение в зараженной системе более скрыто, выполняя задания от имени привилегированного пользователя, а также обходя такие средства защиты, как контроль учетных записей.
Одной из популярной среди авторов программ-зловредов методик повышения уровня прав и полномочий является манипуляция с токенами доступа. Методика включает кражу токена доступа процесса и маскировку злоумышленника под законного пользователя, то есть имперсонацию – выдачу себя за другого человека. Эти действия обеспечивают дальнейшее горизонтальное распространение вредоносного ПО в сети под видом другого зарегистрированного в системе пользователя или пользователя с более высокими правами.
Когда пользователь осуществляет интерактивный вход в Windows через консоль, ОС создает сеанс и пользовательский токен доступа. С помощью этого токена Windows управляет идентификационными данными, безопасностью и правами доступа зарегистрировавшегося в системе пользователя, в конечном итоге определяя, к каким системным ресурсам он может обращаться и какие задания может выполнять. Токен доступа обычно состоит из объекта ядра и идентификационных сведений пользователя в системе, а также содержит другую информацию, например о группе, правах доступа, уровне надежности процесса, привилегиях и т.д. В целом для каждого пользовательского сеанса создается токен доступа, который ссылается на реквизиты SSO (Single-Sign-On), единого входа в систему Windows. Они дают возможность пройти аутентификацию и получить доступ к локальным или удаленным сетевым ресурсам.
Как только киберпреступник проник в первичную систему и "укоренился" в ней, его дальнейшая цель – горизонтальное (боковое) распространение по сети для обращения к новым ресурсам или критически важным объектам. Один из способов решения этой задачи для злоумышленника – использование идентификационных данных или реквизитов доступа пользователей, которые вошли в систему на скомпрометированной машине, для перехода в другие системы или повышения уровня прав и бокового перемещения под видом зарегистрированного пользователя с повышенными привилегиями. Манипуляция с токенами доступа к процессу помогает кибепреступникам достичь этой цели.
Информация о правиле YARA, методиках MITRE ATT&CK, технических подробностях успешного выполнения атак с использованием манипуляции с токенами на уровне кода вредоносного ПО доступна в отчете [1].
Общая информация об угрозе
Злоупотребление токенами процесса для повышения уровня прав и полномочий в системе характерно для нескольких типов вредоносного ПО и продвинутых устойчивых угроз. Для достижения этой цели программы-зловреды используют несколько методов, и все они включают неправомочное использование API Windows для кражи или имперсонации токена с целью повышения уровня привилегий и усиления горизонтального (бокового) распространения.
- Если пользователь, который вошел в систему на скомпрометированной или зараженной машине, относится к группе администраторов или запускает процесс с повышенными правами (например, с помощью команды runas), вредоносное ПО может использовать привилегии в токене доступа к процессу для повышения привилегий в системе и получения возможности выполнения заданий с такими привилегиями.
- Для выявления процессов Windows с повышенными правами (обычно уровня SYSTEM) вредоносное ПО может использовать одно из нескольких API. Затем, получив токены доступа этих процессов, оно может использовать их для создания новых процессов. Такой новый процесс запускается от имени пользователя, указанного в токене, с полномочиями уровня SYSTEM.
- Программы-зловреды также могут осуществлять имперсонацию (замену) токена. Эта атака предполагает клонирование токена доступа процесса SYSTEM и преобразование его в токен заимствования прав с помощью соответствующих функций Windows. Повысив привилегии таким способом, злоумышленник может выполнять на зараженной машине команды от имени пользователя с правами SYSTEM.
- Манипуляции с токенами позволяют вредоносному ПО использовать реквизиты входа пользователя, который уже зарегистрирован в системе, либо другого привилегированного пользователя для аутентификации на удаленном сетевом ресурсе и дальнейшего горизонтального продвижения по сети.
- Такие техники атак позволяют обходить средства защиты, включая UAC, списки управления доступом, эвристические методы обнаружения и обеспечивают более скрытое боковое распространение программ-зловредов.
Существуют решения, например McAfee On-Access-Scan, способные распознавать программы-зловреды такого вида.