Des chercheurs en sécurité de Talos ont récemment détecté une augmentation du nombre d'attaques contre les clusters Elasticsearch exécutant des versions plus anciennes affectées par des vulnérabilités connues. Six groupes de pirates au moins tentent d’exploiter les déploiements non sécurisés de ces serveurs vulnérables. Conçue pour le traitement de grands ensembles de données, le moteur de recherche distribué Elasticsearch écrit en Java est couramment utilisé dans les entreprises traitant des données big data. « En analysant en continu le trafic vers ses appâts, Talos a détecté une augmentation des attaques ciblant les clusters Elasticsearch non sécurisés », ont déclaré cette semaine dans un rapport des chercheurs du groupe Talos de Cisco. « Ces attaques exploitent les vulnérabilités CVE-2014-3120 et CVE-2015-1427, que l’on trouve uniquement dans les anciennes versions d'Elasticsearch autorisant la transmission de scripts pour effectuer des recherches ».
L'exploit Elasticsearch utilisé à des fins multiples
Les exploits affectent les versions Elasticsearch 1.4.2 et précédentes, les scripts malveillants délivrants des charges utiles différentes selon l'acteur. L’un des groupes installe régulièrement des programmes de minage de cryptomonnaie, mais il télécharge également une charge utile supplémentaire avec du code destiné à exploiter les vulnérabilités d'autres technologies, notamment la vulnérabilité CVE-2018-7600 dans Drupal, la vulnérabilité CVE-2017-10271 dans Oracle WebLogic, et la vulnérabilité CVE-2018-1273 dans Spring Data Commons. « En général, les exploits supplémentaires sont envoyés via HTTPS vers les systèmes ciblés », ont déclaré les chercheurs. « Comme le montre chacun de ces exploits, il semble que l'attaquant cherche à exécuter du code à distance sur des machines ciblées. L'analyse détaillée de l'échantillon de charge utile est en cours, et Talos fournira des mises à jour pertinentes si nécessaire ». Cependant, les scripts de bash malveillants font encore plus que livrer des exploits. Ils désactivent les protections de sécurité, suppriment les processus malveillants concurrents et ajoutent la clé SSH de l'attaquant à la liste des clés autorisées afin d'obtenir un accès distant permanent.
Un autre groupe de pirates ciblent les clusters Elasticsearch affectés par la vulnérabilité CVE-2014-3120 pour déployer un programme malveillant conçu pour lancer des attaques par déni de service distribué (DDoS). Ce malware est une version personnalisée d'un ancien programme DDoS dénommé Bill Gates. Un troisième groupe exploite les déploiements d'Elasticsearch pour installer un Cheval de Troie du nom de Spike dont il existe des variantes pour les architectures x86, MIPS et ARM CPU. Les artefacts laissés par ce groupe pointent vers un compte QQ appartenant à un utilisateur chinois connu sur les forums de hackers. Les trois autres groupes repérés par Talos grâce aux appâts Elasticsearch n’exploitent aucun malware. Cependant, deux d'entre eux ont émis des commandes vers des serveurs d'empreintes de clé et l’un de ces groupes a émis la commande rm * utilisée sur les systèmes Linux pour supprimer tous les fichiers.
Un énorme impact potentiel
« Compte tenu de la taille et de la sensibilité des ensembles de données détenus dans ces clusters, l'impact de ce type d’intrusion pourrait être sérieux », ont averti les chercheurs de Talos. « Talos invite les utilisateurs à corriger, et si possible à mettre à jour, leur version d'Elasticsearch. De plus, Talos recommande fortement de désactiver l’envoi de scripts par le biais des requêtes de recherche si cette option n'est pas strictement nécessaire pour leurs cas d’usages ». En 2017, des attaques destructives contre les clusters Elasticsearch avaient déjà été repérées. Les pirates détruisaient toutes les données et laissaient derrière eux des demandes de rançon. Mais, ces demandes étaient un habillage, car rien n'indiquait que les attaquants pouvaient réellement récupérer les données supprimées. À l’époque, l'architecte de systèmes distribués Itamar Syn-Hershko avait publié dans un blog des recommandations pour sécuriser les déploiements d'Elasticsearch. Ces recommandations sont toujours d'actualité : ne pas exposer les clusters Elasticsearch à Internet, désactiver le HTTP sur les clients Elasticsearch, utiliser d'autres ports que le port par défaut, restreindre l'accès uniquement aux adresses IP internes et désactiver le scripting.