
Exploit de preuve de concept pour une vulnérabilité d'élévation de privilèges locaux dans le pilote d'imprimante de cartes Datacard XPS via des permissions de fichiers non sécurisées et un détournement de DLL, permettant une exécution de code au niveau SYSTEM.
Produit testé : Datacard XPS Card Printer Driver Version : <= 8.4
Description : L'application est sujette à une vulnérabilité d'élévation de privilèges locale (LPE) en raison de permissions de fichiers/dossiers non sécurisées lors de son installation par défaut, ce qui accorde à tout le monde un contrôle total sur le chemin : C:\ProgramData\Datacard\XPS Card Printer\Service. Les fichiers et dossiers dans le chemin "C:\ProgramData\Datacard" peuvent être modifiés par des utilisateurs non privilégiés, des processus malveillants et/ou des acteurs malveillants. Une fois qu'un administrateur installe XPS Card Printer, qui s'exécute dans le contexte SYSTEM, il invoquera DEVOBJ.dll ou CFGMGR32.dll dans le répertoire "C:\ProgramData\Datacard\XPS Card Printer\Service", où un utilisateur peu privilégié peut déjà placer une dll malveillante à l'avance, qui ne sera pas vérifiée ni supprimée par l'installation. Ces dll n'existent pas et donc l'installateur de l'application renverra "NOT FOUND". Si un utilisateur malveillant place une dll nommée DEVOBJ.dll ou CFGMGR32.dll dans ce répertoire, le programme d'installation exécutera par inadvertance ces dll malveillantes lorsque le service tentera de se connecter à l'imprimante de cartes, en les exécutant avec les privilèges SYSTEM.
Preuve de concept de l'exploit :
1- Avec un utilisateur peu privilégié, créez le répertoire "C:\ProgramData\Datacard\XPS Card Printer\Service" et placez une DLL souhaitée en la renommant en DEVOBJ.dll ou CFGMGR32.dll
2- Avec un administrateur, procédez à l'installation du pilote comme d'habitude.
3- La charge utile DLL sera exécutée en tant que SYSTEM.