
Démontre une vulnérabilité d'élévation de privilèges locale dans Tencent iOA avant 210.9.28693.62001 via des attaques par lien symbolique sur C:\Windows\Temp, permettant la suppression arbitraire de fichiers avec les privilèges SYSTEM.
Version : avant 210.9.28693.62001
Résumé : J'ai découvert une vulnérabilité dans Tencent PC Manager où les fichiers et répertoires sous C:\Windows\Temp sont gérés de manière non sécurisée. Un attaquant peut exploiter des attaques par lien symbolique (symlink) pour contraindre un processus privilégié SYSTEM à supprimer des fichiers arbitraires, ce qui entraîne une élévation de privilèges locale. Plus précisément, un processus nommé LegacyKB_ioa_win.exe est lancé périodiquement lors de l'utilisation du composant « ioa ». Pendant son fonctionnement, il crée un répertoire TencentDownload sous le dossier Temp, y télécharge des fichiers, puis effectue des suppressions en tant que SYSTEM. En raison d'une validation insuffisante du chemin et d'une logique de suppression non sécurisée, ce comportement peut être abusé pour supprimer des fichiers choisis par l'attaquant avec des privilèges SYSTEM.
Il a été observé que le processus « LegacyKB_*.exe » effectue ce qui suit avec des privilèges SYSTEM :
Lorsqu'une nouvelle version ou un correctif est disponible, le composant iOA télécharge et exécute un Legacy_*.exe depuis Internet.
Legacy_*.exe vérifie la présence du répertoire TencentDownload sous C:\Windows\Temp ; s'il n'existe pas, il le crée.
Legacy_*.exe crée un sous-répertoire nommé avec un préfixe tilde (par exemple, ~) à l'intérieur de TencentDownload.
À la fin, Legacy_.exe utilise des privilèges SYSTEM pour supprimer le sous-répertoire ~ à l'intérieur de TencentDownload.
Étant donné que le répertoire « C:\Windows\Temp\TencentDownload » peut être créé par l'utilisateur actuel et se voir attribuer le privilège « Modifier » pour l'utilisateur actuel, l'utilisateur actuel peut modifier et lire l'intégralité du répertoire. Avec cette configuration, un utilisateur non privilégié peut réaliser une suppression arbitraire de fichiers en créant un lien symbolique vers un emplacement privilégié (par exemple, C:\Windows\System32). De plus, un utilisateur malveillant pourrait réaliser une élévation de privilèges locale à partir d'une suppression arbitraire de fichier/dossier.
Pour effectuer une LPE par suppression arbitraire de fichier/dossier, l'utilisateur peut suivre les étapes suivantes :
L'utilisateur crée le dossier « C:\Windows\Temp\TencentDownload »
L'utilisateur définit un OpLock sur le dossier « C:\Windows\Temp\TencentDownload~* » dès qu'il observe la création d'un dossier avec le préfixe ~
Le processus « Legacy_.exe » tentera de supprimer le dossier « C:\Windows\Temp\TencentDownload~ » avec des privilèges SYSTEM.
Le processus « Legacy_*.exe » sera mis en pause en raison de l'OpLock.
Lorsque l'OpLock est déclenché, l'utilisateur déplace le fichier « C:\Windows\Temp\TencentDownload~* » ailleurs pour vider le dossier.
L'utilisateur crée une jonction « C:\Windows\Temp\TencentDownload\ » vers « \RPC Control »
L'utilisateur crée un lien symbolique « GLOBAL\GLOBALROOT\RPC Control~* » vers le dossier/fichier cible (par exemple, C:\Windows\System32\secrets)
L'utilisateur libère l'OpLock
L'utilisateur supprime le lien symbolique
Le fichier/dossier cible (par exemple, C:\Windows\System32\secrets) serait supprimé
Vidéo PoC :https://drive.google.com/file/d/1RXQgaNBDeopurcP63xmhMXDM7stHaIzO/view?usp=sharing
