Уязвимость PhantomBuffer позволяет внедрять код в процессы Windows через текстовые поля

Источник

Разработчик под псевдонимом Two Seven One Three представил экспериментальный инструмент PhantomBuffer, который использует текстовые поля Windows как канал для внедрения исполняемого кода в чужие процессы. Представление инструмента состоялось 17 октября, и автор утверждает, что проверка на одном неназванном продукте систем мониторинга угроз (EDR) прошла без срабатывания предупреждений. Обычно для внедрения кода требуется выделить память в целевом процессе и записать туда полезную нагрузку с последующим запуском, что отслеживается EDR через вызовы VirtualAllocEx и WriteProcessMemory. PhantomBuffer обходит эти механизмы, используя штатную функцию SendMessageW для отправки сообщений окнам, в частности команду WM_SETTEXT, которая меняет текст в поле ввода. Windows помещает переданные таким образом байты в память принимающего процесса, а инструмент находит эту область через ReadProcessMemory, избегая вызова WriteProcessMemory.

Для реализации атаки необходим процесс с доступным графическим элементом типа Edit, например, Notepad в Windows 10 или Regedit в Windows 11. Вспомогательная программа FindTargetWindows ищет подходящие окна и при необходимости запускает нужное приложение. После передачи данных инструмент обнаруживает область памяти и меняет права доступа, разрешая выполнение кода. Особую сложность представляет запуск полезной нагрузки: прямое изменение состояния потока через SetThreadContext или NtSetContextThread может быть распознано защитными продуктами. Поэтому автор использовал консольный отладчик Microsoft cdb.exe, который подключается к процессу, переводит указатель исполнения на нужный адрес и отключается, позволяя процессу работать дальше.

У метода существуют технические ограничения. Через WM_SETTEXT невозможно передать полезную нагрузку, содержащую нулевые байты (0x00), поэтому автор предупреждает об недопустимости такого символа. Кроме того, подходят не любые процессы, так как Windows ограничивает отправку сообщений приложениям с более высоким уровнем целостности. Разработчик опубликовал исходный код двух утилит и видеодемонстрацию, заявив, что PhantomBuffer смог избежать обнаружения при проверке на EDR высокого класса, однако конкретное название продукта, условия испытания и независимые результаты не приводятся. Публикация описывает проверку концепции, а не подтвержденную кампанию заражения. Для обнаружения подобных действий рекомендуется отслеживать необычные вызовы SendMessageW с WM_SETTEXT и применение отладчика cdb.exe, особенно если он запускается из нестандартного каталога. PhantomBuffer демонстрирует, что отсутствие привычной операции записи в чужую память не исключает внедрение кода, и проверять приходится всю цепочку поведения процесса.

Текст подготовлен нейросетью Loople по материалам источника.

Читайте также

Похожие новости

В Linux обнаружили критическую ошибку. PwnEscape позволяет сбежать из виртуальной машины и получить полный контроль над сервером

Ошибка в обработке IPv4 позволяла изменять сетевой заголовок после проверки и получать доступ к памяти за пределами виртуальной машины.

PHP взломали! Обороняемся

PHP2Shell: дыра в самом языке, из-за которой весь веб на время занервничал 21 октября команда PHP выпустила внеочередные исправления — собы…

Поиск по Loople

Назад