
CVE-2022-25943
https://jvn.jp/en/vu/JVNVU90673830/
WPS Office est une suite bureautique pour Microsoft Windows, macOS, Linux, iOS, Android et HarmonyOS développée par Kingsoft, un éditeur de logiciels chinois basé à Zhuhai.
L'une des fonctionnalités les plus agréables offertes par WPS est un service cloud pour sauvegarder vos documents, travaux, etc. Par défaut, ce service est configuré sur manuel ; il n'est démarré que si vous naviguez vers le cloud WPS dans le panneau de WPS Office, mais le service est démarré avec les privilèges de l'utilisateur actuel (faible privilège).
En examinant les importations précoces effectuées par le service cloud WPS une fois démarré, il semble qu'il tente d'abord d'importer une DLL nommée CRYPTSP.DLL et d'autres depuis *C:\ProgramData\kingsoft\office6* ; si elles n'y sont pas (et par défaut elles n'y sont pas), le service les chargera depuis System32, comme vous pouvez le voir :

Le problème ici est que l'ACL de ce répertoire est configurée en lecture/écriture pour tous les utilisateurs. Un attaquant peut y déposer une DLL malveillante et redémarrer l'exécutable, mais celui-ci est démarré au niveau de privilège actuel (utilisateur à faibles privilèges), à moins de démarrer l'exécutable en tant que service (puisqu'il est installé comme tel) avec quelque chose comme net start wpscloudsvr, ce qui démarrera le service en tant que NT AUTHORITY.
Le problème semble être davantage une mauvaise configuration de l'ACL.
Mon exploit est simple : il copie la DLL spécialement conçue (changer le mot de passe de l'administrateur) dans le répertoire cible, redémarre le service ; un accès au compte administrateur est alors disponible, ce qui signifie que j'ai accès à sedebugpriv. De là, je vole le jeton winlogon et démarre cmd en tant que NT AUTHORITY / System.