Vulnerabilidad de escalada de privilegios en Avast Secure Browser permite hackear sistemas Windows

Incluso las soluciones de seguridad están expuestas a la explotación de vulnerabilidades. Especialistas del curso de hacking de la firma Tempest revelaron el hallazgo de una falla de seguridad en el proceso de actualización del navegador web Avast Secure Browser (ASB) que, de ser explotada, conduciría a una escalada de privilegios en el sistema afectado.

Al parecer, la falla existe debido a que el proceso privilegiado responsable de las actualizaciones del navegador realiza una operación de registro en un archivo, lo que redefine sus permisos, otorgando amplios privilegios a cualquier usuario. La operación es redirigida hacia un enlace arbitrario mediante un hardlink, con lo que el proceso privilegiado comienza a operar con el archivo redirigido, redefiniendo sus privilegios.

¿Qué quiere decir el término hardlink? Acorde a los miembros del curso de hacking, son estos son enlaces simbólicos que hacen referencia a una representación del contenido del archivo en el sistema NTFS mediante otros directorios en el mismo volumen. Estos enlaces se pueden crear de forma muy fácil usando mklink, una herramienta incluida en casi cualquier versión reciente del sistema Windows.

Existen dos condiciones para crear hardlinks usando la herramienta mencionada:

  • El usuario requiere privilegios de grabación en el archivo objetivo
  • El usuario requiere escribir privilegios en el directorio donde se creará el hardlink

La primera condición eliminaría la posibilidad de usar hardlinks en exploits para impactar en la escalada de privilegios, teniendo en cuenta que, en caso de que el usuario ya tenga permiso para escribir en el archivo objetivo, sería suficiente sobrescribirlo con el contenido deseado.

Los instructores del curso de hacking descubrieron que, cuando la función NTOpenFile abre el archivo, empleado durante la implementación de la API CreateHardLink, el valor FILE_WRITE_ATTRIBUTES, se envía como un atributo del objeto, identificando la necesidad de registrar privilegios durante la creación del hardlink. Además, cuando se llama a la función NTOpenFile, se puede eliminar el indicador FILE_WRITE_ATTRIBUTES, por lo que es posible crear un hardlink con permiso de sólo lectura.

Para su prueba de concepto, los investigadores realizaron una inspección con AccessEnum en algunos directorios vinculados con ASB para encontrar archivos con permisos excesivos:

FUENTE: Tempest

Tal como podemos ver, uno de los archivos con altos privilegios es Update.ini, ubicado en C:\ProgramData\AVAST SOFTWARE\Browser\Update. La imagen anterior también demuestra que cualquier usuario puede tomar control completo sobre el archivo mencionado.

A partir de este directorio, se crearon algunos filtros que permitieron monitorear cualquier operación mediante un proceso privilegiado con Update.ini; a continuación, se aprecia el proceso AvastBrowserUpdate.exe, que realiza algunas operaciones con el archivo objetivo, mencionan los expertos del curso de hacking:

FUENTE: Tempest

Posteriormente, se reemplazó Update.ini con un hardlink apuntando a C:\Program Files\Avast Software\Browser\Update\1.5.245.0\psmachine.dll para iniciar el proceso de actualización. De este modo, los permisos de psmachine.dll se redefinieron para otorgar control total a cualquier usuario:

FUENTE: Tempest

Para completar la escalada de privilegios, el contenido de la DLL fue reemplazado por uno que devuelve un shell personificado con el usuario NT AUTHORITY\SYSTEM.

FUENTE: Tempest

Acorde a los investigadores, aún no hay una solución para esta vulnerabilidad, aunque tampoco se han detectado casos de explotación en escenarios reales. El Instituto Internacional de Seguridad Cibernética (IICS) recomienda a los administradores de implementaciones vulnerables permanecer al tanto de cualquier actualización o recomendación emitida por Avast.