
Análisis de CVE-2022-22828
Viden Labs ha encontrado una vulnerabilidad de Referencia Directa a Objetos Insegura (IDOR) en SynaMan de Synametrics. Esta vulnerabilidad está presente en las versiones 4.9 y anteriores.
Esta vulnerabilidad ha sido parcheada en la versión 5.0.
"Las referencias directas a objetos inseguras (IDOR) son un tipo de vulnerabilidad de control de acceso que surge cuando una aplicación utiliza entrada proporcionada por el usuario para acceder a objetos directamente." - https://portswigger.net/web-security/access-control/idor.
La vulnerabilidad puede ser explotada resultando en acceso a archivos (potencialmente sensibles) en la carpeta de inicio de un usuario de SynaMan (incluidas subcarpetas), a los que no tiene autorización para acceder.
Un usuario de SynaMan llamado “internaluser”. Este usuario estaba unido a AD, pero no importa si no está unido a AD.
En la carpeta de inicio de internaluser, hay dos archivos:
Figura 1: Directorio de usuario con archivos
Se ha creado un enlace de descarga para file-download.docx y se ha compartido con una parte externa simulada.
Figura 2: Página de descarga de archivos de SynaMan
La prueba de la aplicación web se realizó desde la red 10.0.2.0/24, utilizando Burp Suite en Kali.
La instancia de Windows Server 2019 ejecuta una configuración predeterminada, con las últimas actualizaciones de seguridad aplicadas y el puerto 443 abierto entrante.
SynaMan se configuró de acuerdo con las mejores prácticas, siguiendo la guía del sitio web de Synametrics Technologies.
En la Figura 3 a continuación se muestra una vista general de la configuración de red para la prueba de laboratorio.
Figura 3: Topología de prueba de SynaMan
| Computadora | Rol | SO | Navegador |
|---|---|---|---|
| 10.0.2.30 | Servidor de pruebas de aplicaciones web | Kali Linux (VM) | Navegador integrado de Burp Suite |
| 10.0.3.50 | Servidor SynaMan | Windows Server 2019 (VM) | N/A |
Tabla 1 - Información adicional de configuración
Se encontró una vulnerabilidad cuando una parte externa accede a un enlace de descarga, ya sea compartido con ellos o encontrado buscando en Google "pubopp?". El hipervínculo de descarga de archivos contiene un nombre de archivo codificado en base64, incluyendo la ruta. Esta ruta puede ser modificada para descargar otros archivos de la carpeta del usuario que no han sido compartidos. Si bien esto requiere que un atacante adivine correctamente un nombre de archivo, herramientas como Burp Suite hacen que esta fuerza bruta sea trivial y automatizada. Una representación gráfica de esto se describe en la Figura 4 a continuación.
Figura 4: Representación gráfica de la vulnerabilidad de solicitud GET
A continuación, en la Figura 5 se muestra la solicitud GET resultante cuando se hace clic en el enlace de descarga.
Figura 5: Solicitud GET de Burp Suite
La inspección del nombre de archivo codificado en base64 (pasado como el parámetro llamado “fn”) muestra la ubicación del archivo.
Figura 6: Nombre de archivo Base64 en Burp Suite
Usando Burp Suite, esto se puede modificar a otro nombre de archivo y sustituirlo en la solicitud GET. Para este ejemplo, usaremos “secret.txt”, ya que sabemos que este archivo existe en la carpeta.
Figura 7: Nombre de archivo Base64 modificado en Burp Suite
Figura 8: Solicitud GET modificada en Burp Suite
Al enviar la solicitud GET modificada, podemos descargar el archivo que no fue compartido, como se muestra en la Figura 9 a continuación.
Figura 9: Descarga no autorizada de SynaMan
Las configuraciones de seguridad actualmente disponibles en SynaMan no proporcionan un control para mitigar este ataque, sin embargo, todos los archivos descargados se registran.