El 6 de junio se hizo pública la vulnerabilidad CVE-2018-0296 que afecta a la interfaz web de los Cisco ASA (Adaptive Security Appliance) y aunque el fabricante lo describe como una vulnerabilidad que "podría permitir a un atacante remoto no autenticado provocar que el dispositivo se reinicie (DoS) y, en ciertas versiones de software, ver información sensible del sistema sin autenticación mediante el uso de técnicas de path traversal", lo realmente importante es ésto último, la falta de de validación de entrada y control de acceso a algunas URLs:
"/+CSCOU+/../+CSCOE+/files/file_list.json?path=/"
"/+CSCOU+/../+CSCOE+/files/file_list.json?path=%2bCSCOE%2b"
"/+CSCOU+/../+CSCOE+/files/file_list.json?path=/sessions/"
"/+CSCOE+/logon.html"
...
Sin embargo los polacos de Sekurak lo explican perfectamente en su artículo: "Error description CVE-2018-0296 - bypassing authentication in the Cisco ASA web interface":
ASA organiza sus recursos en dos directorios: /+CSCOU+/ y /+CSCOE+/ . Las subpáginas dentro de /+CSCOE+/ pueden requerir autenticación, mientras que las ubicadas en el medio /+CSCOU+/ autenticación nunca la requieren.
Como se muestra a continuación, si se intenta acceder a cualquier recurso /+CSCOE+/files/file_list.json de manera estándar se nos redireccionará a la página de logon:
Pero si se reemplaza en la petición /+CSCOE+/ por /+CSCOU+/ el resultado es sorprendente:
Así de sencillo. Esa a la manera de eludir la autenticación.
Como veis también, con file_list.json se pueden listar los archivos visibles desde la interfaz web. El catálogo de sesiones parece interesante, y después de entrar a una de esas sesiones, se puede averiguar cuál es el ID de usuario que está asociado, por lo que se puede averiguar fácilmente cual es la contraseña que hay que intentar romper.
Más información:
https://blog.segu-info.com.ar/2018/06/vulnerabilidad-de-path-traversal-en.html
Saludos.