
Доказательство концепции эксплуатации уязвимости локального повышения привилегий в запланированной задаче Windows Recall, демонстрирующее произвольное удаление папок от имени SYSTEM через символическую ссылку.
Это PoC для уязвимости локального повышения привилегий в запланированной задаче \Microsoft\Windows\WindowsAI\Recall\PolicyConfiguration.
При запуске этой запланированной задачи процесс taskhostw.exe пытается открыть каталог C:\Users\%username%\AppData\Local\CoreAIPlatform.00\UKP и ищет каталоги по следующему фильтру: {????????-????-????-????-????????????}. Если такой каталог найден, он удаляется без проверки на символические ссылки.
Поскольку непривилегированный пользователь по умолчанию может создавать каталоги в своей папке %LOCALAPPDATA%, это приводит к произвольному удалению папок в контексте пользователя NT AUTHORITY\SYSTEM.
Запланированная задача настроена с несколькими триггерами, которые можно использовать для её запуска.
<Triggers>
<WnfStateChangeTrigger id="RecallPolicyCheckUpdateTrigger">
<Enabled>true</Enabled>
<StateName>7508BCA32C079E41</StateName>
</WnfStateChangeTrigger>
<WnfStateChangeTrigger id="AADStatusChangeTrigger">
<Enabled>true</Enabled>
<StateName>7508BCA32C0F8241</StateName>
</WnfStateChangeTrigger>
<WnfStateChangeTrigger id="DisableAIDataAnalysisTrigger">
<Enabled>true</Enabled>
<StateName>7528BCA32C079E41</StateName>
</WnfStateChangeTrigger>
<WnfStateChangeTrigger id="UserLoginTrigger">
<Enabled>true</Enabled>
<StateName>7510BCA338038113</StateName>
</WnfStateChangeTrigger>
<SessionStateChangeTrigger id="SessionUnlockTrigger">
<Enabled>true</Enabled>
<StateChange>SessionUnlock</StateChange>
</SessionStateChangeTrigger>
</Triggers>
В этом PoC для запуска запланированной задачи используется триггер WnfStateChangeTrigger RecallPolicyCheckUpdateTrigger.
