Publicado el 21 de agosto de 2019
Permite eludir la autenticación y filtrar datos
Esta semana, un investigador anónimo descubrió e informó de un problema con la aplicación SphinxSearch utilizada con bases de datos MySQL:
"TL;DR: SphinxSearch viene con una configuración por defecto insegura que abre una escucha en el puerto 9306. No requiere autenticación. Conexiones usando un cliente mysql son posibles".
El informe completo está disponible aquí.
Encontrar aplicaciones SphinxSearch afectadas en Censys
¿Qué podemos encontrar en nuestros datos globales de Internet para determinar cuántos se ven afectados por este problema?
TL;DR: 7.576 bases de datos MySQL están utilizando una configuración predeterminada en la aplicación SphinxSearch que permite eludir la autenticación y la fuga de datos.
Al buscar en nuestro conjunto de datos de banners ligeros a través de Google BigQuery, nos conectamos al puerto 9306, utilizado exclusivamente para SphinxSearch, y convertimos esos datos en texto plano para que pudiéramos buscar cadenas que indican una conexión SphinxSearch. Tenga en cuenta que el puerto 9306 alberga la aplicación SphinxSearch y la API nativa.
También descubrimos que, de los dispositivos afectados, la mayoría estaban alojados en Rusia, seguida de Estados Unidos.
Los clientes empresariales pueden utilizar la siguiente búsqueda de BigQuery para encontrar aplicaciones expuestas:
SELECT * FROM (
SELECT ip, SAFE_CONVERT_BYTES_TO_STRING(svcs.banner) as banner
FROM `censys-pipeline.ipv4_banners.20190819`, UNNEST(services) AS svcs
WHERE svcs.port_number = 9306
AND SAFE_CONVERT_BYTES_TO_STRING(svcs.banner) NOT LIKE 'HTTP/1.%')
WHERE (banner LIKE '%-id64-%'
OR banner LIKE '%-release%'
OR banner LIKE '%commit%'
OR banner LIKE '%mysql_%')
AND banner NOT LIKE '%mysql_native_password%'
AND banner NOT LIKE '%mysqladmin%
Cómo proteger las aplicaciones Sphinx afectadas
Por suerte, el investigador también incluyó la solución y muestra a los lectores cómo cambiar la configuración predeterminada problemática:
"Sólo tienes que ir a la configuración de tu SphinxSearch y editar la variable listen para incluir sólo localhost o poner un cortafuegos (host) como iptables delante de tu instalación."
En el post original también se incluyen algunas capturas de pantalla útiles que describen la vulnerabilidad y la solución.
Asegúrate de seguirnos en Twitter @censysio para ver más resultados como estos. También nos encantaría que nos contaras cómo utilizas nuestros datos, así que no olvides etiquetarnos cuando publiques tus investigaciones y hallazgos.