Investigadores de CyberArk Labs han alertado de la existencia de gravísimas vulnerabilidades en los antivirus que permite a un atacante elevar privilegios e introducir y mantener malware en un ordenador saltándose todos los mecanismos de protección. El antivirus suele ser uno de los elementos que más privilegios tiene en un ordenador, donde incluso no podemos cerrarlos desde el Administrador de tareas. Por ello, encontrar una vulnerabilidad en ellos es de lo más peligroso que puede ocurrir en un ordenador.

Windows Defender, entre los afectados

El fallo afecta a los antivirus más usados en el mercado. El listado es el siguiente, con el correspondiente número de vulnerabilidad que ha afectado a cada uno de ellos.

  • Kaspersky Security Center: CVE-2020-25043, CVE-2020-25044, CVE-2020-25045
  • McAfee Endpoint Security and McAfee Total Protection: CVE-2020-7250, CVE-2020-7310
  • Symantec Norton Power Eraser: CVE-2019-1954
  • Fortinet FortiClient: CVE-2020-9290
  • Check Point ZoneAlarm and Check Point Endpoint Security: CVE-2019-8452
  • Trend Micro HouseCall for Home Networks: CVE-2019-19688, CVE-2019-19689, y otras tres vulnerabilidades no asignadas.
  • Avira: CVE-2020-13903
  • Microsoft Defender: CVE-2019-1161

De todas las vulnerabilidades descubierta, quizás la más importante es la que permite a un atacante eliminar archivos de cualquier parte del ordenador. El origen del fallo es la Discretionary Access Control Lists (DACL) y la carpeta ProgramData, que se usa por las aplicaciones para almacenar datos de usuarios estándar sin requerir permisos. Sin embargo, como el usuario tiene permisos para escribir y borrar en el directorio, cuando un proceso sin privilegios crea una carpeta en ProgramData, posteriormente esa carpeta puede usarse por un proceso que sí tenga los privilegios.

Así, un atacante podría ejecutar dos procesos: uno con privilegios y otro sin ellos que compartan el mismo archivo de registro en ProgramData. Con ello, se podría usar el proceso con privilegios para eliminar el archivo de ProgramData y crear un enlace simbólico que puede redirigir a cualquier lugar donde el atacante tenga el archivo con contenido malicioso.

Figure-7-Code-Snippet-1

Los fallos ya están solucionados

CyberArk también probó a crear una nueva carpeta en ProgramData antes de que el proceso con privilegios se ejecute con el nombre de McAfee. Si la carpeta se crea por el usuario antes de instalar el antivirus, entonces el usuario estándar sin permisos tiene control completo del directorio, pudiendo elevar privilegios. A eso hay que sumar que otros antivirus como Trend Micro o Fortinet podían hackearse si se introducía un DLL malicioso en la carpeta de ProgramData y elevar privilegios.

Por suerte, todos estos fallos ya han sido solucionados, pero desde CyberArk afirman que los antivirus tienen que cambiar muchas cosas a nivel básico para evitar que este tipo de ataques puedan reproducirse en el futuro, como usar LoadLibraryEx para evitar que se ejecuten DLL maliciosos, usar nuevos instaladores y el formato MSI de Microsoft, y pedir permiso para cada creación de carpetas en ProgramData.

 

Fuente: CyberArk | adslzone