Publié le 21 août 2019
Permet le contournement de l'authentification et les fuites de données
Cette semaine, un chercheur anonyme a découvert et signalé un problème avec l'application SphinxSearch utilisée avec les bases de données MySQL :
"TL;DR : SphinxSearch est livré avec une configuration par défaut non sécurisée qui ouvre un listener sur le port 9306. Aucune authentification n'est requise. Les connexions utilisant un client mysql sont possibles."
Le rapport complet est disponible ici.
Trouver les applications SphinxSearch affectées dans Censys
Que pouvons-nous donc trouver dans nos données Internet globales pour déterminer combien de personnes sont concernées par ce problème ?
TL;DR : 7 576 bases de données MySQL utilisent un paramètre par défaut de l'application SphinxSearch qui permet de contourner l'authentification et de provoquer des fuites de données.
En recherchant notre ensemble de données de bannières légères via Google BigQuery, nous nous sommes connectés au port 9306, utilisé exclusivement pour SphinxSearch, et avons transformé ces données en texte brut afin de pouvoir rechercher des chaînes de caractères indiquant une connexion SphinxSearch. Notez que le port 9306 héberge l'application SphinxSearch et son API native.
Nous avons également constaté que la majorité des appareils concernés étaient hébergés en Russie, suivie des États-Unis.
Les entreprises peuvent utiliser la recherche BigQuery suivante pour trouver les applications exposées :
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%
Comment sécuriser les applications Sphinx affectées
Heureusement, le chercheur a également inclus le correctif et montre aux lecteurs comment modifier le paramètre par défaut problématique :
"Il suffit d'aller dans la configuration de SphinxSearch et d'éditer la variable listen pour n'inclure que localhost ou de mettre un pare-feu (hôte) comme iptables devant votre installation."
Des captures d'écran utiles décrivant la vulnérabilité et la correction sont également incluses dans le message original.
N'oubliez pas de nous suivre sur Twitter @censysio pour découvrir d'autres résultats de ce type. Nous aimerions également savoir comment vous utilisez nos données, alors n'oubliez pas de nous identifier lorsque vous publiez des informations sur vos recherches et vos résultats !