El Escritorio Movistar, un servicio con ruta sin comillas más espacios... y hasta dentro (escalado de privilegios local)
Hoy vamos a ver una vulnerabilidad que Gjoko 'LiquidWorm' Krstic (@zeroscience) reportó a Telefónica el 23 de septiembre y que, después de días de absoluta ignorancia, ha decidido publicar (fuente aquí).
Afecta a la versión 8.7.6.792 del gestor de conexiones 'Escritorio Movistar', aunque yo lo he probado en la versión 8.6.5.594 y también es vulnerable:
En concreto es un fallo en el servicio TGCM_ImportWiFiSvc que no entrecomilla la ruta del ejecutable que llama:
Es la vulnerabilidad conocida como "Unquoted Service Paths" o también "Trusted Path Privilege Escalation" y puede permitir que un servicio de Windows procese cualquier programa que esté antes de un espacio en su ruta sin entrecomillar. En nuestro caso:
Para la prueba de concepto crearemos un fichero batch que luego haremos ejecutable y que llamará silenciosamente al Notepad:
Después simplemente pondremos Escritorio.exe en su ruta correspondiente:
Y al reiniciar el servicio veremos que ejecuta nuestro binario:
Si en vez de ser un simple Notepad ponemos un script que cambie la contraseña del administrador local o por ejemplo un payload para una sesión de Meterpreter, cuando reinicie nuestro equipo (con Windows 7) se ejecutará como SYSTEM y habremos primero escalado privilegios y luego enteramente comprometido la máquina.
Además existe desde hace tiempo un módulo de Metasploit que se aprovecha de este fallo: http://www.rapid7.com/db/modules/exploit/windows/local/trusted_service_path
Como veis este tipo de vulnerabilidades que aparentemente son tan tontas y sencillas de explotar son también muy peligrosas. Además aunque son bastante viejas parece que siguen vigentes en nuestro días... si ejecutáis el siguiente comando seguro que comprobaréis que el servicio del Escritorio Movistar no es el único afectado actualmente:
Por último, si quieres solucionar manualmente esta vulnerabilidad en vez de esperar sentado a que el fabricante publique un parche, edita el registro y busca el servicio en cuestión en HKLM\SYSTEM\CurrentControlSet\services para ¡¡¡poner las malditas comillas!!!.
Buen fin de semana.
Afecta a la versión 8.7.6.792 del gestor de conexiones 'Escritorio Movistar', aunque yo lo he probado en la versión 8.6.5.594 y también es vulnerable:
En concreto es un fallo en el servicio TGCM_ImportWiFiSvc que no entrecomilla la ruta del ejecutable que llama:
C:\>sc qc TGCM_ImportWiFiSvc
[SC] QueryServiceConfig CORRECTO
NOMBRE_SERVICIO: TGCM_ImportWiFiSvc
TIPO : 10 WIN32_OWN_PROCESS
TIPO_INICIO : 2 AUTO_START
CONTROL_ERROR : 1 NORMAL
NOMBRE_RUTA_BINARIO: d:\Program Files (x86)2\Movistar\Escritorio Movistar\ImpWiFiSvc.exe
GRUPO_ORDEN_CARGA :
ETIQUETA : 0
NOMBRE_MOSTRAR : TGCM_ImportWiFiSvc
DEPENDENCIAS :
NOMBRE_INICIO_SERVICIO: LocalSystem
C:\>icacls "d:\Program Files (x86)2\Movistar\Escritorio Movistar\ImpWiFiSvc.exe"
d:\Program Files (x86)2\Movistar\Escritorio Movistar\ImpWiFiSvc.exe BUILTIN\Administradores:(I)(F)
NT AUTHORITY\SYSTEM:(I)(F)
NT AUTHORITY\Usuarios autentificados:(I)(M)
BUILTIN\Usuarios:(I)(RX)
Se procesaron correctamente 1 archivos; error al procesar 0 archivos
Es la vulnerabilidad conocida como "Unquoted Service Paths" o también "Trusted Path Privilege Escalation" y puede permitir que un servicio de Windows procese cualquier programa que esté antes de un espacio en su ruta sin entrecomillar. En nuestro caso:
d:\Program.exe Files (x86)2\Movistar\Escritorio Movistar\ImpWiFiSvc.exe
d:\Program Files (x86)2\Movistar\Escritorio.exe Movistar\ImpWiFiSvc.exe
Para la prueba de concepto crearemos un fichero batch que luego haremos ejecutable y que llamará silenciosamente al Notepad:
Después simplemente pondremos Escritorio.exe en su ruta correspondiente:
Y al reiniciar el servicio veremos que ejecuta nuestro binario:
D:\Program Files (x86)2\Movistar>net stop TGCM_ImportWiFiSvc
El servicio de TGCM_ImportWiFiSvc está deteniéndose.
El servicio de TGCM_ImportWiFiSvc se detuvo correctamente.
D:\Program Files (x86)2\Movistar>net start TGCM_ImportWiFiSvc
El servicio no está respondiendo a la función de control.
Puede obtener más ayuda con el comando NET HELPMSG 2186.
Si en vez de ser un simple Notepad ponemos un script que cambie la contraseña del administrador local o por ejemplo un payload para una sesión de Meterpreter, cuando reinicie nuestro equipo (con Windows 7) se ejecutará como SYSTEM y habremos primero escalado privilegios y luego enteramente comprometido la máquina.
Además existe desde hace tiempo un módulo de Metasploit que se aprovecha de este fallo: http://www.rapid7.com/db/modules/exploit/windows/local/trusted_service_path
Como veis este tipo de vulnerabilidades que aparentemente son tan tontas y sencillas de explotar son también muy peligrosas. Además aunque son bastante viejas parece que siguen vigentes en nuestro días... si ejecutáis el siguiente comando seguro que comprobaréis que el servicio del Escritorio Movistar no es el único afectado actualmente:
wmic service get name,displayname,pathname,startmode |findstr /i "auto" |findstr /i /v "c:\windows\\" |findstr /i /v """
Acunetix WVS Scheduler v8 AcuWVSSchedulerv8 D:\Program Files (x86)2\Acunetix\Web Vulnerability Scanner 8\WVSScheduler.exe
Auto
Intel(R) Dynamic Application Loader Host Interface Service jhi_service C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL\jhi_service.exe
Auto
Intel(R) Management and Security Application Local Management Service LMS C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\LMS\LMS.exe
Auto
Privacyware network service PFNet C:\Program Files (x86)\Privacyware\Privatefirewall 7.0\pfsvc.exe
Auto
TGCM_ImportWiFiSvc TGCM_ImportWiFiSvc d:\Program Files (x86)2\Movistar\Escritorio Movistar\ImpWiFiSvc.exe
Auto
Por último, si quieres solucionar manualmente esta vulnerabilidad en vez de esperar sentado a que el fabricante publique un parche, edita el registro y busca el servicio en cuestión en HKLM\SYSTEM\CurrentControlSet\services para ¡¡¡poner las malditas comillas!!!.
Buen fin de semana.
Gracias, ya he corregido un par de ellas !!!
ResponderEliminarPara mear y no echar gota
ResponderEliminar