
Exploit de prueba de concepto para una vulnerabilidad de escalada de privilegios local en la tarea programada de Windows Recall, demostrando la eliminación arbitraria de carpetas como SYSTEM mediante enlace simbólico.
Este es un PoC para la vulnerabilidad de escalada de privilegios local en la tarea programada \Microsoft\Windows\WindowsAI\Recall\PolicyConfiguration.
Cuando se inicia esta tarea programada, el proceso taskhostw.exe intentará abrir el directorio C:\Users\%username%\AppData\Local\CoreAIPlatform.00\UKP y buscar directorios usando el siguiente filtro: {????????-????-????-????-????????????}. Si se encuentra ese directorio, se eliminará sin verificar los enlaces simbólicos.
Dado que, por defecto, un usuario con bajos privilegios puede crear directorios en su propia carpeta %LOCALAPPDATA%, esto conduce a la eliminación arbitraria de carpetas en el contexto del usuario NT AUTHORITY\SYSTEM.
La tarea programada está configurada con múltiples desencadenadores que se pueden utilizar para iniciarla.
<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>
Este PoC utiliza el WnfStateChangeTrigger RecallPolicyCheckUpdateTrigger para iniciar la tarea programada.
