domingo, julio 31, 2016

Big Data Security Tales: Apache Hadoop expuesto por no configurar HUE (Level 102) #BigData #Hadoop #Pentest

Como ya os anticipé la semana pasada, quería dedicarle varios artículos al mundo de la seguridad de las tecnologías de Big Data desde un vista de pentesting, así que hoy toca una nueva tercera parte después de los artículos dedicados a la configuración sin autenticación en MongoDB y los accesos a Cassandra. Hoy quería hablaros de Apache Hue, un interfaz web para analizar datos que viene dentro de la familia de Apache Hadoop, aunque por lo visto mucha gente no lo sabe.

Figura 1: Apache Hadoop expuesto por no configurar HUE (Level 102)

Cuando alguien se instala un Apache Hadoop desde alguna de las distribuciones que existen para tenerlo On Premise, como HortonWorks, Cloudera o cualquier otra, el paquete viene con muchos interfaces de administración para las diferentes tareas que se necesitan hacer sobre las diferentes tecnologías que se usan en una arquitectura de Big Data.

Hue Web Interface

Uno de esos interfaces es HUE, una solución que aglutina en un único interfaz web las herramientas para acceder y analizar los datos que se tienen en los distintos repositorios. Es una herramienta que permite acceder a los datos en el HDFS, pero también a repositorios SQL, Spark SQL, Solr SQL, bases de datos NoSQL como MongoDB, etcétera. Un punto único de análisis de datos desde donde puedes conectarte a los distintos repositorios con las aplicaciones que integra. Esta la foto.

Figura 2: Conjunto de Apps integradas en Hue para analizar datos

Localizar estos interfaces con un poco de hacking con buscadores no es complicado en Shodan, ya que la aplicación en el backend utiliza un HTTP Header fácil de reconocer del tipo X-Hue-Jframe-Path. Estas variables de servidor son firmas fácilmente utilizables en dorks y que en caso de la aparición de un exploit que los afecte los expone demasiado a los atacantes. Localizar los portales HUE indexados en Shodan es tan sencillo como podéis ver.

Figura 3: Servidores Hue descubiertos en Shodan

Si os fijáis, Shodan no tiene aún una etiqueta "product" para HUE, pero será cuestión de tiempo que añada esa característica y permita reconocer el producto sin importar dónde esté instalado. Como veis, hay cientos de portales abiertos a Internet que pueden ser consultados.

El primer user es el REY

Dependiendo de la distribución que utilices, la herramienta puede venir con un usuario pre-creado o sin ningún usuario en la plataforma. Esto es así porque, el primer usuario que se crea en el interfaz es el que se convierte en superuser y a partir de ese instante él crea desde dentro de la herramienta el resto de los usuarios. Esto es así tanto en Cloudera como en HortonWorks.

Figura 4: Información de Cloudera sobre el primer usuario de HUE

El verdadero peligro radica en que muchas de las instalaciones de Apache Hadoop se hacen sin entender todos los interfaces de acceso que existen, incluidos entre ellos HUE. Esto es debido porque es fácil tener funcionando algunos elementos como el HDFS o las bases de datos, pero si no te creas un usuario en HUE y lo dejas abierto a Internet, cualquiera que llegué se encontrará con el servicio sin colonizar.

Figura 5: A la izquierda un HUE con usuario creado. A la derecha un HUE "sin colonizar"

En algunas distribuciones, el usuario que se crea por defecto es admin/admin - nada rocket science -, así que si la web pide "autenticarse", un pentester lo primero que probaría es esa combinación. Una vez dentro desde este interfaz se pueden hacer muchas cosas. El número de herramientas y conectores a los repositorios es alto, pero es que el atacante ya está dentro del servidor y tendrá acceso al resto de las bases de datos y a los repositorios de ficheros de la DMZ sin pasar por el firewall. Vamos, una alegría.

Figura 6: Con el primer usuario creado se puede administrar el sistema

Además, esta herramienta tiene gestión de usuarios para conectarse a servidores LDAP y permite crear también cuentas con sus ficheros locales, por lo que todo el contenido del disco puede ser accedido con mayor o menor medida desde este interfaz, pero sobre todo cuenta con un gran número de herramientas descritas al principio que permiten sacar datos de todo lo que haya cerca.

Figura 7: Acceso a las apps y los directorios del sistema

Instalar una distribución de Apache Hadoop y no configurar HUE es un serio problema de seguridad, que nosotros añadimos a la lista de plugins de nuestro sistema de Pentesting Persistente Faast, debido a la severidad de este fallo.
- Big Data Security Tales: ¡Vigila que tu MongoDB no le de tus datos a cualquiera! (Level 100)
- Big Data Security Tales: Cómo funcionan las MongoDB Injection
- Big Data Security Tales: MongoDB y Cassandra (Level 101)

- Big Data Security Tales: Apache Hadoop expuesto por no configurar HUE (Level 102)
- Big Data Security Tales: Django en HUE en modo DEBUG y con Directory Listing (Level 103)
- Big Data Security Tales: Las Interfaces de acceso al HDFS
- Big Data Security Tales: Apache Amabari Default Admin
- Big Data Security Tales: WSO2 Carbon y la ayuda para el Login
- Big Data Security Tales: Los Known-Bugs en WSO2 Carbon Server
- Big Data Security Tales: Kibana & ElasticSearch objetivos del ransomware
- Big Data Security Tales: Apache CouchDB Relax... o no
- Big Data Security Tales: Riak NoSQL Database
Saludos Malignos!

2 comentarios:

  1. Hay que tener en cuenta que esto sólo se aplica a distribuciones pre-empaquetadas como Cloudera o Hortonworks, no estrictamente a Hadoop. Hadoop, si lo instalas desde fuente o con los binarios pregenerados, no incluye a Hue. Así lo hemos hecho en la Cátedra SAES con Hadoop y Hbase.

    Un saludo

    ResponderEliminar
  2. Hay que tener en cuenta que esto sólo se aplica a distribuciones pre-empaquetadas como Cloudera o Hortonworks, no estrictamente a Hadoop. Hadoop, si lo instalas desde fuente o con los binarios pregenerados, no incluye a Hue. Así lo hemos hecho en la Cátedra SAES con Hadoop y Hbase.

    Un saludo

    ResponderEliminar