Vulnerabilidad de Path Traversal en MikroTik WinBox en versiones anteriores a 3.21

MikroTik WinBox es una aplicación que permite la administración de Mikrotik RouterOs a través de una interfaz gráfica, la misma puede ser utilizada bajo entornos Windows, Linux y OSX.

¿Qué pasó?

Recientemente se descubrió una vulnerabilidad de Path Traversal que permitiría a un atacante poder escribir archivos, a la misma se le asignó el identificador CVE-2020-5720.

Una vulnerabilidad de Path Traversal se da cuando el sistema o aplicación no valida de manera adecuada el directorio al cual un usuario tendría que acceder, permitiendo de esta manera que usuarios malintencionados puedan acceder a directorios padres o superiores sin ningún tipo de restricción. Al ingresar como entrada el conocido dot-dot-slash ( ../ ), dependiendo del escenario se podría leer archivos con información confidencial o escribir ciertos directorios.

Cuando WinBox se conecta a un router, necesita descargar una lista de archivos desde el directorio “/home/web/webfig/” esta lista se debe descargar para obtener la descripción de los paquetes, una finalizada la descarga, los archivos son guardados en el sistema del cliente en el directorio “C:\Users\[username]\AppData\Roaming\Mikrotik\Winbox”, para el caso de Windows, tal como se muestra a continuación:

El problema radica en que el nombre de los archivos creados en el directorio del cliente proviene de los archivos que se descargan. Por ejemplo para la descarga del archivo: “advtool.jg” se tendría el siguiente formato:

{ crc: 164562873, size: 1149, name: «advtool.jg», unique: «advtool-fc1932f6809e.jg», version: «6.39.3» }

WinBox usa el nombre de archivo “advtool.jg” para escribirlo en el directorio del usuario pero sin validar de que realmente el nombre del archivo y directorio se encuentren de manera correcta antes de realizar la escritura, permitiendo así el ataque de Path Traversal:

{ crc: 164562873, size: 1149, name:»../../../../../../../Users/Public/lol.txt», unique: «advtool-fc1932f6809e.jg», version: «6.39.3» }

Para llevar a cabo el ataque se podría montar un fake route (router falso) y hacer que la víctima se conecte al mismo o bien realizar un ataque de hombre del medio. Una prueba de concepto de cómo realizarlo se encuentra disponible aquí. Por otro lado también se encuentra liberado un exploit público para la explotación de la vulnerabilidad.

Recomendaciones:

  • Desde MikroTik WinBox han lanzado una actualización que resuelve el problema, por lo cual es recomendable actualizar a la versión WinBox 3.21.
  • Además, se recomienda realizar validaciones adicionales cuando utilice WinBox con el fin de comprobar que realmente se esté conectando a los equipos correctos.
  • Tener instalado un IPS (Sistema de Prevención de Intrusos), le ayudará a evitar ataques de hombre del medio.


Referencias:

Compartir: