
Prueba de concepto que demuestra la enumeración de usuarios en LiquidFiles a través del endpoint de restablecimiento de contraseña, lo que permite identificar usuarios válidos para ataques de fuerza bruta.
Esta vulnerabilidad fue identificada en la versión 4.1 de LiquidFiles y versiones anteriores.
Al iniciar un restablecimiento de contraseña a través del endpoint “POST /password_reset”, la aplicación responde de manera diferente dependiendo de si la dirección de correo electrónico proporcionada está registrada. En ambos casos se emite una redirección, y la respuesta incluye la cookie “_filetransfer_session”. Cuando esta cookie se utiliza para acceder a la ruta raíz (“/”), el mensaje de error resultante difiere según la validez de la dirección de correo electrónico enviada.
Esto permite efectivamente a un atacante compilar una lista de usuarios válidos, que luego puede aprovecharse en ataques como fuerza bruta o pulverización de contraseñas (password spraying).
Respuesta de restablecimiento de contraseña – usuarios existentes/válidos
Respuesta de restablecimiento de contraseña – usuarios inexistentes/no válidos
Después de varios intentos de restablecimiento de contraseña, se activa un bloqueo basado en IP como medida de seguridad, impidiendo solicitudes adicionales desde la misma dirección IP. Sin embargo, este mecanismo es insuficiente, ya que puede eludirse con herramientas gratuitas. Por ejemplo, se puede evitar el bloqueo utilizando proxies de AWS API Gateway en combinación con la extensión “IP Rotate” en Burp Suite. El script espera un proxy local en el puerto 8080.
Aplicación utilizada para evadir el bloqueo basado en IP:
Esta discrepancia en los mensajes de error permite la enumeración automatizada de nombres de usuario o direcciones de correo electrónico válidos. Para demostrarlo, creé un script de prueba de concepto que toma una lista de posibles direcciones de correo electrónico registradas e identifica las válidas basándose en el comportamiento de respuesta de la aplicación.
Salida del script de enumeración de usuarios:

Una vez identificados los nombres de usuario válidos, estos podrían aprovecharse en un ataque de fuerza bruta o pulverización de contraseñas. Dado que algunos usuarios pueden tener contraseñas débiles o reutilizadas, esto representa un alto riesgo de seguridad.
La probabilidad de explotación es alta, las medidas de seguridad actuales se eluden fácilmente y la explotación es sencilla. El impacto se considera medio, ya que después de obtener una lista de usuarios válidos, aún se necesita comprometer una cuenta mediante ataques de pulverización de contraseñas o fuerza bruta.
Tenga en cuenta que esta aplicación es utilizada por muchas organizaciones diferentes. Casi siempre está expuesta a Internet público. Esto hace que solo sea cuestión de extraer direcciones de correo electrónico o nombres de empleados de Internet y realizar pulverización de contraseñas contra la aplicación.
Como resultado, este problema representa un alto riesgo.
La versión 4.2 soluciona este problema introduciendo mecanismos de bloqueo basados en usuario y deshabilitando los mensajes de error distintivos que permiten la enumeración de usuarios de forma predeterminada.