Специалисты по информационной безопасности описали новый метод взлома программ, использующих интерфейс командной строки (CLI) Windows. Как выяснили исследователи, уязвимость позволяет внедрить в запущенное CLI-приложение сторонний код.

Атака получила название Ctrl-Inject, поскольку основана на недостатках функции CtrlRoutine, отвечающей за обработку нажатия клавиши Ctrl. Каждый раз, когда пользователь или приложение посылает команду с использованием Ctrl, системная служба csrss.exe вызывает CtrlRoutine для создания новой ветки в дереве активного процесса. Используя ошибки реализации функции, злоумышленник может выполнить при помощи нее вредоносный код.

Ключевой особенностью нового метода инъекции является отсутствие прямого воздействия на запущенное приложение. Злоумышленнику не требуется самостоятельно вызывать команды CreateRemoteThread или SetThreadContext для того, чтобы создать новую задачу — за него это сделают CtrlRoutine и csrss.exe.

Предотвращать внедрение стороннего кода в запущенные процессы должна служба Control Flow Guard и кодировка указателя (pointer encoding). Однако экспертам удалось преодолеть оба препятствия. Описание обхода системы защиты предоставлено в техническом отчете исследователей.

Новая методика вряд ли станет причиной масштабных кибератак, поскольку под угрозой оказалось лишь ограниченное количество консольных приложений. Тем не менее, эксплуатация Ctrl-Inject может иметь серьезные последствия, так как интерфейс командной строки используют преимущественно системные утилиты.

В последнее время бреши в консольных оболочках активно эксплуатируются киберпреступниками, которые ищут новые методы проникновения в компьютерные системы. Относительно редкий класс программ — бесфайловые зловреды в среде PowerShell — все чаще встречается на устройствах пользователей.

Еще один вектор атаки — вредоносные скрипты, созданные при помощи языка сценариев клавиатуры AutoHotKey. Несмотря на ограниченный функционал, AHK-программы могут взаимодействовать с файловой системой, открывать или закрывать приложения, а также выполнять повторяющиеся операции.

Категории: Другие темы