Vulnerabilidad CVE-2020-15368: panorama completo
Vulnerabilidad CVE-2020-15368: panorama completo
¿Qué es la vulnerabilidad CVE-2020-15368?
CVE-2020-15368 es una vulnerabilidad de control de acceso inadecuado en el driver de ASRock AsrDrv103.sys.
El driver fue diseñado para permitir que el software de ASRock se comunique con el hardware. Sin embargo, no verifica quién hace la solicitud. Expone códigos de Input/Output Control (IOCTL) que permiten que cualquier aplicación en modo usuario lea y escriba en registros específicos del modelo (MSR) y en memoria física arbitraria.
En términos simples, actúa como un "puente" abierto que permite que un usuario estándar (o malware) ejecute código con los privilegios más altos posibles (Ring 0 / Kernel), evadiendo los límites de seguridad del sistema operativo.
¿Cuándo se descubrió?
La vulnerabilidad se reveló públicamente en junio de 2020 por los investigadores de seguridad Stephen Tong ("stong") y Yaotian Feng ("Codetector"). Identificaron que el driver era esencialmente una versión reempaquetada de la herramienta "RWEverything", pero con un cifrado débil que se evadía fácilmente.
Productos y versiones afectados
La vulnerabilidad está presente en el conjunto de software ASRock RGB Driver. El componente vulnerable específico es:
Producto | Componente | Estado de la vulnerabilidad |
ASRock RGB LED Utility | AsrDrv103.sys | Vulnerable (todas las versiones que contienen este driver) |
Descripción técnica de CVE-2020-15368
El problema central es que AsrDrv103.sys expone funciones peligrosas al espacio de usuario sin restringir el acceso a los administradores.
Los atacantes pueden enviar solicitudes IOCTL específicas al driver para realizar acciones que deberían estar estrictamente prohibidas, como:
Lectura/escritura arbitraria de memoria física: Modificar estructuras del kernel directamente en memoria.
Manipulación del registro CR3: Los investigadores demostraron la falla sobrescribiendo el registro CR3 (que controla la traducción de memoria virtual) con ceros. Esto obliga a la CPU a entrar en un "Triple Fault", provocando un reinicio inmediato del sistema (DoS). Sin embargo, un atacante sofisticado usa este mismo acceso para secuestrar el flujo de ejecución en lugar de solo bloquear la máquina.
El driver intenta "ocultar" estas funciones usando cifrado AES para sus comandos IOCTL, pero la clave está codificada de forma fija y se extrae fácilmente, por lo que no ofrece seguridad real.
Tácticas, técnicas y procedimientos (TTPs)
Esta vulnerabilidad es un habilitador clave para la persistencia y la escalada de privilegios.
BYOVD (Bring Your Own Vulnerable Driver): Los atacantes no necesitan encontrar este driver instalado en la máquina de la víctima. En cambio, traen consigo el archivo válido y firmado digitalmente AsrDrv103.sys, lo colocan en la máquina de la víctima y lo instalan como un servicio.
Kit de herramientas INCONTROLLER / PIPEDREAM: Este driver específico fue identificado como un componente del kit de herramientas INCONTROLLER (también conocido como PIPEDREAM), una ciberarma patrocinada por un estado diseñada para atacar sistemas de control industrial (ICS) y entornos SCADA. El kit de herramientas usa el driver para cargar sus propios implantes maliciosos sin firmar en el kernel de Windows.
Evasión de defensas: Al ejecutar código en el kernel a través de un driver firmado legítimo, los atacantes a menudo pueden evadir los agentes de Detección y respuesta para endpoints (EDR) y detener procesos de seguridad.
Indicadores de compromiso
Los defensores deben estar atentos a la presencia o carga de este archivo de driver específico:
Nombre de archivo: AsrDrv103.sys apareciendo en C:\Windows\Temp\ o en carpetas de usuario AppData (ubicaciones comunes para dejar archivos en ataques BYOVD).
Creación de servicio: Un nuevo servicio de Windows instalado que apunta a AsrDrv103.sys.
Sysmon Event ID 6: Eventos de "Driver cargado" que hacen referencia a este nombre de archivo o a hashes conocidos asociados con el software RGB más antiguo de ASRock.
Pruebas de concepto y exploits conocidos
Los investigadores originales publicaron un análisis técnico completo y el código de prueba de concepto (PoC) en GitHub en 2020.
El PoC demuestra cómo calcular el payload IOCTL cifrado con AES correcto para desencadenar la vulnerabilidad. Debido a que el driver está firmado por una autoridad certificadora de confianza (Microsoft confía en el certificado de ASRock), Windows permite que se cargue, lo que hace que el exploit sea muy confiable en configuraciones predeterminadas.
¿Cómo detectar la vulnerabilidad CVE-2020-15368?
Escaneo de drivers: Escanea los endpoints en busca del archivo AsrDrv103.sys. Si lo encuentras, verifica si forma parte de una instalación de ASRock legítima y activa o si es un archivo suelto dejado por malware.
Monitoreo de registros de eventos: Supervisa el Event ID 7045 (instalación de servicio) donde la ruta de la imagen del servicio termina en .sys y reside en un directorio temporal.
Escáneres de vulnerabilidades: Herramientas como Tenable/Nessus pueden detectar la presencia del conjunto de software vulnerable de ASRock.
Impacto y riesgo de la vulnerabilidad CVE-2020-15368
El riesgo es alto (CVSS 7,8 en el contexto de escalada local).
Aunque requiere acceso local para explotarla, es una "llave maestra" para los atacantes que ya obtuvieron un punto de apoyo persistente. Les permite pasar de un usuario estándar a tener control total sobre el kernel del sistema operativo. Este nivel de acceso les permite instalar rootkits, ocultar archivos del antivirus y persistir a través de reinicios.
Estrategias de mitigación y remediación
La defensa principal contra BYOVD es bloquear el driver específico.
Bloquear el driver: Agrega AsrDrv103.sys y sus hashes conocidos a tu lista de bloqueo de Windows Defender Application Control (WDAC) o a la lista de bloqueo de tu EDR. Microsoft mantiene un conjunto de reglas de bloqueo de drivers recomendado que cubre muchos drivers similares.
Desinstalar software: Si usas hardware de ASRock, revisa si hay actualizaciones del software RGB LED que eliminen o reemplacen este driver. Si el software no es esencial, desinstálalo por completo.
Activar HVCI: Activa Hypervisor-Protected Code Integrity (HVCI) (también conocida como Integridad de memoria) en Windows Security. Esta función ayuda a evitar modificaciones en la memoria del kernel mediante el hipervisor.