
Exploit de prueba de concepto para una vulnerabilidad de escalada de privilegios local en el controlador de impresora de tarjetas Datacard XPS a través de permisos de archivo inseguros y secuestro de DLL, permitiendo la ejecución de código a nivel de SYSTEM.
Producto probado: Datacard XPS Card Printer Driver Versión: <= 8.4
Descripción: La aplicación es propensa a una vulnerabilidad de Escalada de Privilegios Local (LPE) debido a permisos inseguros de archivos/carpetas en su instalación predeterminada, por lo que otorga derechos de control total a todos sobre la ruta: C:\ProgramData\Datacard\XPS Card Printer\Service. Los archivos y carpetas en la ruta "C:\ProgramData\Datacard" pueden ser modificados por usuarios sin privilegios, procesos maliciosos y/o actores de amenazas. Una vez que un administrador instala XPS Card Printer, que se ejecuta bajo el contexto de SYSTEM, invocará DEVOBJ.dll o CFGMGR32.dll en el directorio "C:\ProgramData\Datacard\XPS Card Printer\Service", donde un usuario con pocos privilegios ya puede colocar una DLL maliciosa de antemano y que no será verificada ni eliminada por la instalación. Estas DLL no existen y, por lo tanto, el instalador de la aplicación mostrará NO ENCONTRADO. Si un usuario malicioso coloca una DLL llamada DEVOBJ.dll o CFGMGR32.dll dentro de este directorio, el instalador ejecutará inadvertidamente estas DLL maliciosas cuando el servicio intente conectarse a la impresora de tarjetas, ejecutándolas con privilegios de SYSTEM.
Exploit POC:
1- Con un usuario de bajos privilegios, cree el directorio "C:\ProgramData\Datacard\XPS Card Printer\Service" y coloque una DLL deseada y renómbrela como DEVOBJ.dll o CFGMGR32.dll
2- Con un administrador, proceda a instalar el controlador de forma normal.
3- La DLL maliciosa se ejecutará como SYSTEM.