Llamada DoubleAgent, la vulnerabilidad es un ataque de inyección de código que funciona en todas las versiones del sistema operativo Windows con una cuota de mercado destacable, desde Windows XP hasta Windows 10. Pero lo peor es que DoubleAgent deriva de una característica legítima no documentada del sistema operativo llamada Verificador de Aplicaciones (Application Verifier), la cual no ha sido parcheada.

El Verificador de Aplicaciones es una herramienta de verificación en tiempo ejecución que carga ficheros DLL en un proceso con el fin de testearlo, permitiendo a los desarrolladores detectar y corregir rápidamente errores en el código de un programa o una aplicación.

Cómo se ejecuta el ataque contra el Verificador de Aplicaciones

La vulnerabilidad se encuentra en cómo Application Verifier maneja los DLL. Según los investigadores, como parte del proceso, los DLL están enlazados a un proceso objetivo en una entrada del Registro de Windows. Los atacantes pueden reemplazar los DLL legítimos por otros maliciosos.

Simplemente creando una clave del Registro de Windows con el mismo nombre que la aplicación que se quiere secuestrar, un atacante puede ofrecer su propio verificador DLL personalizado que sería inyectado en el proceso legítimo de una aplicación.

Una vez que los DLL han sido inyectados, algo que se produce en el arranque del proceso, el atacante puede hasta tomar el control total del sistema y llevar a cabo acciones maliciosas, pudiéndose mencionar la instalación de puertas traseras, malware persistente, secuestro de los permisos de un proceso confiable existente y hasta la posibilidad de poder secuestrar las sesiones de otros usuarios.

Los investigadores se centraron en los antimalware

Los investigadores centraron sus demostraciones de DoubleAgent en los antimalware, pero hay que tener en cuenta que puede llevar a cabo contra cualquier aplicación o programa presente en Windows, incluyendo el propio sistema operativo. El motivo de por qué se centraron en esas aplicaciones fue porque suelen representar la principal defensa del sistema operativo.

Los investigadores de Cybellum llegaron bastante lejos utilizando la técnica que permite explotar DoubleAgent, consiguiendo corromper un antimalware para que actuara de forma similar a un ransomware. Para empeorar aún más las cosas, el ataque resulta difícil de bloquear debido a que el código malicioso puede volverse a inyectar en un proceso legítimo después de que el sistema lo haya reiniciado, gracias a la clave persistente del registro.

La lista de los malware afectados es la siguiente:

  • Avast (CVE-2017-5567)
  • AVG (CVE-2017-5566)
  • Avira (CVE-2017-6417)
  • Bitdefender (CVE-2017-6186)
  • Trend Micro (CVE-2017-5565)
  • Comodo
  • ESET
  • F-Secure
  • Kaspersky
  • Malwarebytes
  • McAfee
  • Panda
  • Quick Heal
  • Norton

Después de secuestrar el antimalware, los atacantes pueden usar el ataque DoubleAgent para inhabilitar la seguridad ofrecida por el producto, volviéndolo ciego de cara al malware y los ciberataques y pudiendo también utilizar el mismo antimalware como un proxy para lanzar ataques contra una computadora concreta o una red, elevar los privilegios del usuario que está ejecutando código malicioso, esconder el tráfico malicioso, filtrar datos, dañar el sistema operativo o provocar una denegación de servicio.

Después de más de 90 días, casi todos los desarrolladores de antimalware no han movido ficha para parchear sus productos

Cybellum reportó los problemas a todos los desarrolladores de los antimalware vulnerables hace más de 90 días, sin embargo, solo Malwarebytes y AVG han publicado un parche que neutralice la vulnerabilidad. Trend-Micro tiene planeado lanzar pronto el suyo, pero el resto todavía no ha movido ficha para resolver el problema, al menos aparentemente.

Como forma de mitigación, Cybellum ha recomendado a los vendedores de antimalware cambiar Application Verifier por Protected Processes, el cual es un mecanismo que protege a los servicios de los antimalware contra los ataques, no permitiendo que otras aplicaciones puedan inyectar código sin firmar. Sin embargo, es importante decir que dicho mecanismo solo está presente en Windows Defender.

Además del vídeo puesto antes, Cybellum también ha publicado una prueba de concepto en GitHub y dos entradas en su blog (1 y 2) detallando información sobre DoubleAgent.

 

Fuente: The Hacker News | muyseguridad