这是针对 \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 来启动该计划任务。
