
Prueba de concepto para la escalada de privilegios local en Avira Security mediante movimiento arbitrario de archivos, explotando puntos de unión para cargar una DLL maliciosa en un servicio privilegiado.
PoC para la vulnerabilidad de movimiento arbitrario de archivos en el componente de actualización de software de Avira Security. Los usuarios tienen la opción de usar esta función para actualizar cualquier software desactualizado en su PC; cuando se utiliza esta función, el servicio de Avira Security coloca los archivos descargados en c:\ProgramData\Avira\Security\Temp. El primer archivo que se crea en el subdirectorio tiene el formato <random 4 numbers>_<filename> y luego este archivo se mueve a simplemente <filename> (se eliminan los números iniciales y el guion bajo). Este directorio tiene DACL que no permiten a los usuarios sin privilegios modificar/eliminar los archivos recién creados, pero sí permiten al usuario crear una junction. Esto se puede explotar creando un punto de junction a un directorio controlado por el usuario que tenga DACL más permisivos; de esta manera, cuando se creen nuevos archivos en subdirectorios, el usuario podrá modificarlos y aprovecharlo para obtener un movimiento arbitrario de archivos, lo que conduce a un LPE al escribir una dll en el directorio system32 que posteriormente es cargada por un servicio privilegiado.
El PoC actual cargará la dll en el servicio de actualización de Windows; la dll no implementa ningún tipo de mutex para comprobar si el exploit ya se ejecutó, lo que da como resultado la creación de múltiples procesos cmd.exe, ya que la dll se carga varias veces.
https://support.norton.com/sp/static/external/tools/security-advisories.html