Se descubre una vulnerabilidad en los Seagate NAS que permite ejecutar código remoto

Share this…

El conocido fabricante de discos duros y discos duros híbridos tiene en su portfolio de dispositivos unos servidores NAS de alto rendimiento. La línea de productos NAS son los Seagate Business Storage, estos equipos están específicamente diseñados para su uso tanto en hogares como en pequeñas empresas y oficinas. Ahora se ha descubierto un grave fallo de seguridad en su firmware que permitiría a un atacante remoto la ejecución de código sin necesidad de autenticación en el dispositivo.

Firmware y software afectados

Los productos de esta línea que tienen hasta la versión 2014.00319 (inclusive) tienen una serie de fallos que los hacen vulnerables a estos ataques de ejecución de código remoto. Los Seagate NAS incorporan un menú web desde donde podremos administrar y gestionar todos los aspectos del servidor NAS, podremos incorporar nuevos usuarios, aplicar políticas de control de acceso, gestionar ficheros y muchas otras acciones. El menú web está compuesto por lo siguiente:

PHP version 5.2.13 (Released 25th February 2010)
CodeIgniter 2.1.0 (Released 23rd November 2011)
Lighttpd 1.4.28 (Released 22nd August 2010)
Identificadores CVE

Todas estas versiones que Seagate NAS utiliza están actualmente muy desactualizadas y vulnerables a una gran cantidad de ataques que se han ido conociendo a lo largo del tiempo. A las vulnerabilidades localizadas en los Seagate NAS se les ha identificado con los siguientes CVE:

CVE-2014-8684
CVE-2014-8686
CVE-2014-8687

Las vulnerabilidades en los Seagate NAS

La aplicación web que da acceso a la administración no mantiene la información de la sesión en el propio servidor web, de esta forma toda la información relevante como por ejemplo la sesión del usuario es almacenada en una cookie que se cifra y se envía directamente al navegador. Esta cookie contiene una gran cantidad de clave/valor incluyendo las siguientes:

Se descubre una vulnerabilidad en los Seagate NAS que permite remoto
Se descubre una vulnerabilidad en los Seagate NAS que permite remoto

username: El nombre de usuario de la sesión actual.
is_admin: Booleano indicando si el usuario anteriormente mencionado es administrador del NAS o si no lo es.
language: Idioma que tiene el menú web actualmente.
Una vez que la sesión se ha establecido y se ha introducido el nombre de usuario en la cookie, el sistema operativo no hace la validación de los credenciales de usuario, por lo que un usuario malintencionado podríamodificar el valor de esta cookie incorporando un usuario y hacer un bypass al mecanismo de login, al no hacer validación de credenciales no será necesaria la contraseña. Asimismo si se modifica la clave “is_admin” podremos ponernos a nosotros mismos como administradores en la aplicación web.

El hecho de que la llave de cifrado sea estática para las sesiones, hace que si un usuario tiene una cookie de sesión válida, podría aplicar esta cookie a cualquier sesión y conseguir privilegios de administrador. El parámetro “language” es usado para generar una ruta a fichero que se referencia en la aplicación PHP a través de la llamada a la función include(), manipular este parámetro permitiría a un atacante la explotación de una vulnerabilidad de inclusión de archivo local. Finalmente, la aplicación web de los Seagate NAS funciona a través de una instancia de Lighttpd que se ejecuta bajo el usuario root, por lo que cualquier explotación del servidor web nos daría acceso al sistema a través de root.

Exploits disponibles

Actualmente ya se encuentran disponibles diferentes exploits para la ejecución de código como usuario root, de hecho ya se ha incorporado esta funcionalidad en Metasploit y también se ha hecho un script en Python para automatizar todo el proceso.

Fuente:https://www.redeszone.net/