1 2 3 4 5 6

Vulnerabilidad de día cero en productos NAS de Seagate

The Hacker News 02-Mar-2015

Seagate, un  popular proveedor de soluciones de hardware, tiene una vulnerabilidad crítica de día cero en sus sistemas NAS (Almacenamiento conectado a red) que dejó a miles de sus usuarios vulnerables.

El producto afectado es Business Storage 2-Bay NAS, que se encuentra en redes domésticas y empresariales, tiene una vulnerabilidad día cero de ejecución remota de código que afecta actualmente a más de 2mil 500 dispositivos que son públicos en Internet.

Seagate es uno de los mayores proveedores de soluciones en hardware en el mundo. Después de Western Digital, Seagate ocupó el segundo lugar y tiene el 41% del mercado mundial en productos de almacenamiento.

Un investigador de seguridad llamado OJ Reeves descubrió la vulnerabilidad de día cero de ejecución de código remoto el 7 de octubre del año pasado, Reeves informó a la empresa bajo lineamientos éticos pero incluso después de 130 días de divulgación responsable, el fallo de día cero permanece sin solución.

Para aprovechar esta vulnerabilidad, un atacante debe estar en la misma red que el dispositivo vulnerable. La falla consiste en obtener los privilegios administrativos sin la necesidad de un inicio de sesión. Reeves también lanzó un exploit en python para usarse en conjunto con Metasploit, el cual se encuentra disponible en Github.

Los productos Business Storage 2-Bay NAS cuentan con una aplicación de administración web que permite realizar operaciones de configuración de los dispositivos, tales como la adición de usuarios, creación de control de acceso, gestión de archivos y más.

Esta aplicación web utiliza tres tecnologías base: PHP 5.2.13, CodeIgniter Versión 2.1.0 y Lighttpd versión 1.4.28, todas son versiones desactualizadas.

  • PHP versión 5.2.13 tiene una vulnerabilidad (CVE-2.006-7243) que permite un control total sobre la extensión de los archivos.
  • CodeIgniter versión anterior a 2.2.0 es vulnerable (CVE-2.014 hasta 8.686) debido a que permite a un atacante extraer la clave de cifrado y descifrar el contenido de una cookie. Una vez descifrado, el atacante puede modificar el contenido de la cookie y volver a cifrarla antes de presentarla de nuevo al servidor.

La aplicación web personalizada permite autenticar al usuario mediante el uso cookies del navegador de acuerdo con tres parámetros:

  • username: nombre de usuario registrado
  • is_admin: si el usuario es administrador
  • language: idioma elegido (por ejemplo en_US)

El investigador explicó que no hay una mayor validación de credenciales de usuario en el servidor, una vez que se  estableció el nombre de usuario (username) en la cookie, éste puede suplantarse fácilmente por un atacante.

Otro parámetro 'is_admin' puede ser manipulado con el valor "Yes"  lo que permite al atacante obtener privilegios administrativos en la aplicación web.

"El hecho de que una clave de cifrado de una sesión estática está en uso en todas las instancias del NAS significa que, una vez que un usuario obtiene una cookie de sesión válida, se puede usar la misma cookie u otra instancia de la misma y así adquirir el mismo nivel de acceso. En pocas palabras, una vez que un usuario inicia sesión como administrador, puede ser administrador en todos los casos", explicó Reeves en un aviso.

El parámetro language se puede manipular para la explotación de una vulnerabilidad de inclusión de archivos locales. Finalmente, la aplicación web está siendo ejecutada por una instancia de Lighttpd que se ejecuta en el contexto del usuario administrador.

Cuando un atacante hace una solicitud con la cookie manipulada, da lugar a la ejecución de código arbitrario con el usuario root. Por lo tanto, la explotación exitosa de esta vulnerabilidad podría llevar a tomar el control total del dispositivo vulnerable como usuario root.

Dos dispositivos NAS de Seagate pasaron pruebas que demostraron ser vulnerables. Las siguientes versiónes del firmware de Seagate NAS son afectados por esta vulnerabilidad de día cero:

  • Business Storage 2-Bay NAS version 2014.00319
  • Business Storage 2-Bay NAS version 2013.60311

Sin embargo, Reeves cree que todas las versiones del producto Business Storage 2-Bay NAS antes del 19 de marzo de 2014 se ven afectadas por la misma vulnerabilidad.

Existe un módulo de Metasploit y un script de Python para explotar la falla de manera automática, está disponible en Github. Cada uno de estos scripts son capaces de realizar las siguientes tareas:

  • Conectarse al dispositivo NAS vulnerable y extraer una cookie de sesión.
  • Descifrar la cookie utilizando la clave de cifrado estática y extraer el hash de PHP.
  • Modifica el hash de PHP para que el nombre de usuario sea 'admin' y el campo de is_admin sea ajustado a "Yes".
  • Cifra este hash de PHP actualizado y listo para su utilización como una cookie de sesión que permite a futuras solicitudes operar en el NAS con características de administrador.
  • Realiza una petición para extraer la configuración del host, que incluye la descripción del dispositivo.
  • Modifica la configuración del host de manera que incluye un pequeño payload en la descripción del dispositivo.
  • Realiza una petición de actualización de la configuración del host con los nuevos datos, de modo que el payload se guarda en /etc/devicedesc.
  • Modifica el hash de PHP de nuevo para que el parámetro de idioma contenga el valor  ../../../../etc/devicedesc\x00.
  • Cifra este nuevo hash de PHP listo para su uso futuro como una cookie de sesión.
  • Realiza una petición a los NAS utilizando la cookie creada en el paso anterior, que invoca el payload que se guardó anteriomente. Esta solicitud guarda otro payload más grande en el disco usando la raíz del servidor web.
  • Realiza otra petición que restablece la configuración del host.

Según Reeves, no hubo una versión actualizada del firmware disponible para descarga que contenga las actualizaciones para solucionar estos problemas, incluso después de contactar varias veces a la compañía.

Se recomienda a los usuarios de los productos NAS de Seagate y de otros productos que utilizan el firmware vulnerable asegurarse que sus dispositivos no sean accesibles a través de Internet y mantener los dispositivos detrás de un Firewall configurado para permitir sólo un conjunto de direcciones IP de confianza.

Fuente: The Hacker News MB

Universidad Nacional Autonoma de México Aviso legal |  Créditos |  Staff |  Administración
Copyright © Todos los derechos reservados
UNAM - CERT