Instancias de Firebase mal configuradas filtraron 19 millones de contraseñas en texto claro

Tres investigadores en ciberseguridad han descubierto casi 19 millones de contraseñas en texto plano expuestas en la red pública por instancias mal configuradas de Firebase, una plataforma de Google para alojamiento de bases de datos, computación en la nube y desarrollo de aplicaciones.

El trío analizó más de cinco millones de dominios y encontró 916 sitios web de organizaciones que no habían activado reglas de seguridad o las habían configurado incorrectamente.

Se descubrieron más de 125 millones de registros sensibles de usuarios, incluidos correos electrónicos, nombres, contraseñas, números de teléfono e información de facturación con datos bancarios.

Millones de contraseñas sin cifrar al descubierto

Los investigadores(Logykk, xyzeva/Eva y MrBruh) empezaron a buscar en la web pública información de identificación personal (PII) expuesta a través de instancias Firebase vulnerables.

Eva explicó a CiberNovedades que encontraron instancias de Firebase que carecían de reglas de seguridad o estaban mal configuradas y permitían el acceso de lectura a las bases de datos.

«La mayoría de los sitios también tenían acceso de escritura, lo que no es bueno», dijo Eva, añadiendo que también encontraron un banco.

Para cada base de datos expuesta, el script Catalyst de Eva comprobó el tipo de datos disponibles y extrajo una muestra de 100 registros.

Todos los detalles se han recopilado en una base de datos privada que ofrece una visión numérica de la información sensible de los usuarios que las empresas están exponiendo debido a una configuración de seguridad inadecuada:

  • Nombres: 84.221.169
  • Correos electrónicos: 106.266.766
  • Números de teléfono: 33.559.863
  • Contraseñas: 20.185.831
  • Datos de facturación (datos bancarios, facturas, etc.): 27.487.924

En cuanto a las contraseñas, el problema se agrava, ya que el 98% de ellas -19.867.627 para ser exactos- están en texto plano.

Eva explicó que las empresas han tenido que hacer «todo lo posible para almacenar [la contraseña]» en texto plano, ya que Firebase cuenta con una solución de identidad de extremo a extremo llamada Firebase Authentication, diseñada específicamente para procesos de inicio de sesión seguros que no exponen las contraseñas de los usuarios en los registros.

Una forma de exponer las contraseñas de usuario en una base de datos Firestore es que el administrador cree un campo «contraseña» que almacene los datos en texto claro.

Alertar a los propietarios de sitios web

Tras analizar los datos de la muestra, los investigadores intentaron notificar a todas las empresas pertinentes las instancias inseguras de Firebase y enviaron 842 correos electrónicos durante un periodo de 13 días.

Aunque sólo el 1% de los propietarios de sitios respondieron, una cuarta parte de los administradores de sitios notificados corrigieron la configuración errónea de su plataforma Firebase.

Dos propietarios de sitios también ofrecieron a los investigadores una bonificación por detectar errores. Sin embargo, se negaron a comentar el valor de estas recompensas, limitándose a decir que las habían aceptado y que no eran cuantiosas.

Se contactó con algunas organizaciones a través de sus departamentos de atención al cliente, pero la respuesta distó mucho de ser profesional.

En el caso de una red de juego indonesia, que gestiona nueve sitios web, se burlaron de los investigadores cuando informaron del problema y les ofrecieron consejos para solucionarlo.

Casualmente, la misma empresa tenía el mayor número de registros de cuentas bancarias expuestos (8 millones) y de contraseñas en texto plano (10 millones).

Según uno de los investigadores, la empresa tiene su sede en Indonesia y obtiene unos beneficios anuales de 4 millones de dólares.

223 millones de registros expuestos en total

Escanear Internet, analizar los datos en bruto y organizarlos llevó alrededor de un mes, y el proceso no fue fluido de principio a fin.

Inicialmente, el análisis se llevó a cabo utilizando un script de Python creado por MrBruh para comprobar sitios web o sus paquetes de JavaScript en busca de variables en las configuraciones de Firebase.

El elevado consumo de memoria hizo que el script no fuera adecuado para la tarea y fue sustituido por una variante Golang escrita por Logykk, que tardó más de dos semanas en completar el análisis de Internet.

El nuevo script escaneó más de cinco millones de dominios conectados a la plataforma Firebase de Google para servicios de computación en nube y desarrollo de aplicaciones.

Para automatizar la comprobación de los permisos de lectura en Firebase, el equipo utilizó otro script Eva que rastreaba el sitio o su JavaScript para acceder a las colecciones de Firebase (bases de datos NoSQL Cloud Firestore).

El número total de registros que los investigadores descubrieron en las bases de datos mal configuradas fue de 223.172.248. De ellos, 124.605.664 registros se refieren a usuarios; el resto representan datos asociados a organizaciones y sus pruebas.

A pesar del elevado número de archivos expuestos, los investigadores advierten de que esta cifra es conservadora y que probablemente la cantidad sea mayor.

Cómo empezó todo

El análisis de Internet en busca de información personal expuesta procedente de instancias de Firebase mal configuradas sigue a otro proyecto que los investigadores llevaron a cabo hace dos meses, cuando, debido a problemas de configuración, obtuvieron permisos de administrador y luego de «superadministrador«[1, 2] en una instancia de Firebase utilizada por Chattr, una solución de software de contratación basada en inteligencia artificial.

Chattr es utilizado por muchas de las mayores cadenas de comida rápida de Estados Unidos, como KFC, Wendy’s, Taco Bell, Chick-fil-A, Subway, Arby’s, Applebee’s y Jimmy John’s, para contratar personal.

Mientras que el rol de administrador en el cuadro de mandos Firebase de Chattr permitía acceder a información sensible sobre personas que intentaban conseguir trabajo en una cadena de comida rápida, el puesto de «superadmin» daba acceso a la cuenta de una empresa y actuaba en su nombre para determinadas tareas, incluidas las decisiones de contratación.

Los investigadores también revelaron responsablemente la vulnerabilidad a Chattr, que corrigió el fallo pero dejó de responder a más correos electrónicos.