4 de marzo de 2015

VULNERABILIDAD. Ejecución de código remoto en los Seagate NAS

La línea de productos NAS son los Seagate Business Storage, específicamente diseñados para su uso tanto en hogares como en pequeñas empresas y oficinas y que ahora se han visto afectados por 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:
  1. CVE-2014-8684
  2. CVE-2014-8686
  3. 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:
  • 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ía modificar 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.
El conocido buscador de vulnerabilidades Shodan ha publicado que más de 2.500 equipos Seagate NAS conectados a Internet son vulnerables a estos ataques.
Recomendación
  • Actualmente Seagate no ha lanzado una actualización de su sistema operativo para solucionar estos errores, por tanto las acciones que deberá hacer el usuario para protegerse son:
  • Deshabilitar el acceso remoto a la administración del NAS a través de Internet.
  • Configurar un firewall o crear una ACL para permitir que sólo direcciones IP de confianza puedan hacer login al equipo.
  • Os recomendamos acceder a Beyond Binary donde conoceréis los detalles técnicos para explotar esta vulnerabilidad e información adicional sobre los fallos de seguridad.
Fuente: Redeszone.net