Уязвимость или фича? Несколько инструкций командной строки Windows позволяют перехватить сессию любого авторизованного пользователя
Новости Отредактировано
4К открытий4К показов
Исследователь Александр Корзников обнаружил возможность подключиться к любой запущенной сессии в Windows (с любыми правами), будучи залогиненным под какой-либо другой. Об этом он рассказал в своем блоге, посвященном вопросам компьютерной безопасности.
Первый раз Александр проэксплуатировал уязвимость случайно: открыв в диспетчере задач вкладку «Пользователи», он попробовал подключиться к учетной записи, к которой у него не было доступа, и это у него получилось, причем операционная система не потребовала ввести пароль. Однако когда он попытался переключиться обратно, система потребовала пароль. Александр счел это неожиданным поведением и решил разобраться в вопросе. Причем пользователь второй учетной записи в результате оказался разлогинен, но не получил даже уведомления об этом.
Особенно интересно то, что Александр имел права лишь локального администратора (имел «абсолютную власть» только на своей машине), а вторая («атакуемая») учетная запись обладала правами администратора домена («абсолютная власть» над всеми машинами в домене), т.е. более высокими, чем изначальные права атакующего.
Для чего можно использовать эту уязвимость?
Александр поделился сценарием использования такой уязвимости:
- Банковский сотрудник, имеющий доступ к управлению банковскими счетами, входит в свою учетную запись.
- Во время обеда он отлучается, заблокировав свою учетную запись (но не выйдя из нее) — для возобновления работы ему будет необходимо только ввести пароль, его сессия останется активна и все приложения, которые работали на момент блокировки, останутся в прежнем состоянии.
- В это же время системный администратор входит в свою учетную запись на этом же компьютере и получает доступ к учетной записи банковского сотрудника, а значит, и всем запущенным приложениям, то есть к управлению банковскими счетами. Затем он перечисляет все средства президента банка себе на счет и покидает страну.
Особенно опасна эта уязвимость тем, что на нее можно натолкнуться, даже не преследуя цель обойти систему защиты прав доступа. Следующие версии Windows оказались уязвимы:
- Windows 2012 R2
- Windows 2008
- Windows 10
- Windows 7
Технические детали
Все, что вам необходимо — это иметь доступ к командной строке NT AUTHORITY/SYSTEM. Простейший способ — использовать psexec.exe, но в таком случае утилита должна быть предварительно установлена:
Другой способ — создать службу, которая будет подключать атакуемую учетную запись к нашей. Порядок действий следующий:
- Получите информацию о всех сессиях:C:\Windows\system32>query user USERNAME SESSIONNAME ID STATE IDLE TIME LOGON TIME administrator 1 Disc 1 3/12/2017 3:07 PM>localadmin rdp-tcp#55 2 Active . 3/12/2017 3:10 PM
- Создайте службу:C:\Windows\system32>sc create sesshijack binpath= "cmd.exe /k tscon 1 /dest:rdp-tcp#55"[SC] CreateService SUCCESS
- Запустите службу:net setart sesshijack
После этих действий ваша сессия будет заменена целевой.
Автор также поделился тремя видео, демонстрирующими уязвимость:
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
4К открытий4К показов