Han pasado unos meses desde que escribí el último artículo dedicado a la serie de Big Data Security Tales que centré en Kibana y ElasticSearch, así que hoy es un buen día para volver a ella. En concreto, gracias a una referencia que mi amigo rootkit me ha enviado sobre los interfaces de administración de las bases de datos CouchDB, que se usan en muchos entornos web.
Figura 1: Big Data Security Tales: Apache CouchDB Relax… o no
El motor CouchDB se basa en un motor NoSQL para entornos de BigData especialmente diseñados para aplicaciones web, donde la sencillez de instalación y uso priman por encima de todo. Desde el año 2008 es un proyecto de Apache, y localizar los paneles de administración en la web es sencillo haciendo un poco de Hacking con Buscadores.
Figura 2: Buscando servidores CouchDB en Shodan
Como se puede ver, buscando en Shodan por su Well-Known Port rápidamente salen casi 4.000 servidores en los que está desplegado dicho motor de CouchDB, y, como se puede ver en algunos de los resultados, es posible acceder a los nombres de las bases de datos que hay en el catálogo porque no están fortificados la mayoría.
En cualquier instalación en la que el interfaz web de administración de CouchDB esté abierto a Internet, se puede acceder a la lista de las bases de datos entrando en el directorio /_utils/, tal y como se puede ver en la imagen siguiente.
Figura 4: Cientos de bases de datos en un servidor CouchDB
A partir de ese punto, lo único que debería realizar un atacante es comprobar a qué puede y a que no puede acceder, simplemente navegando por las diferentes bases de datos y explorando los documentos almacenados en cada una de las bases de datos creadas.
Figura 5: Documentos en formato clave-valor en bases de datos NoSQL sobre CouchDB
Por supuesto, lo que se puede encontrar, teniendo en cuenta que está especialmente centrado en proyectos web, está relacionado desde entornos e-commerce hasta aplicaciones web de gestión masiva de datos, con mucha información, y por supuesto con datos de las cuentas de usuarios de las distintas aplicaciones soportadas.
Figura 6: Datos de cuentas de usuarios en bases de datos CouchDB
El número de sitios que, a día de hoy, está abierto al publico en las instalaciones de CouchDB es muy alto, así que si estás haciendo uso de uno de estos motores en tus proyectos web, más vale que revises qué partes están abiertas para cualquier usuario de Internet, para evitar sorpresas.
Figura 7: Claves en texto plano almacenadas en bases de datos CouchDB…relax
Aprovecho también para dejaros la lista completa de artículos dedicados a la serie de Big Data Security Tales, por si alguno de ellos te pudiera servir de utilidad con el objetivo de fortificar tus entornos de Big Data: