Une série de vulnérabilités dans l’interface Web de Cisco Prime a ouvert les serveurs aux attaques d’exécution de code à distance (RCE), ont découvert deux chercheurs en sécurité.

Cisco Prime est un service de gestion de réseau qui fournit des outils pour l’approvisionnement, la surveillance, l’optimisation et le dépannage des appareils filaires et sans fil.

Dans leurs enquête sur le serviceles chercheurs Andreas Finstad (@4nqr34z) et Arthur Donkers (@theart42) ont trouvé plusieurs bogues qui, lorsqu’ils sont enchaînés, pourraient conduire à la compromission complète du serveur Prime et fournir à l’attaquant un shell inversé.

Piratage via SNMP

Le principal coupable de la vulnérabilité de Cisco Prime est un vecteur de script intersite (XSS) qui est exploité via SNMP, le protocole utilisé pour découvrir les périphériques d’un réseau.

Finstad avait déjà trouvé des vulnérabilités similaires dans au moins deux autres outils de gestion de réseau basés sur le Web, ce qui l’a amené, ainsi que Donkers, à se demander si d’autres outils de mise en réseau présentaient des vulnérabilités similaires.

« La partie intéressante ici est que de nombreux fournisseurs ne considèrent apparemment pas les périphériques SNMP comme un vecteur d’attaque potentiel, ils ne pensent donc pas à nettoyer les données d’entrée de ces périphériques malveillants potentiels », a déclaré Finstad. La gorgée quotidienne.

« Dans cet esprit, nous avons pensé que nous devrions également consulter Cisco Prime. J’en ai installé un dans mon laboratoire et il s’est avéré qu’ils avaient un vecteur XSS basé sur SNMP très similaire.

EN RELATION Le mode de débogage ouvert dans le logiciel de réseau mobile Cisco a créé une faille de sécurité critique

Cisco Prime envoie des requêtes SNMP pour recueillir des informations sur les périphériques présents sur le réseau. Parmi les informations fournies par les périphériques réseau figure l’adresse d’un fichier image.

Les chercheurs ont placé un appareil basé sur Linux sur le réseau et dans son fichier de configuration SNMP, ils ont défini l’adresse de l’image sur un extrait de code JavaScript qui a chargé un script malveillant hébergé sur un serveur qu’ils contrôlaient.

Lorsque l’administrateur du serveur a accédé à la page de découverte d’appareils de Prime, le script malveillant a été chargé et exécuté dans le navigateur, ce qui a entraîné une attaque XSS.

Chaînage des vulnérabilités

Grâce au vecteur XSS, les chercheurs ont pu exploiter une série d’autres vulnérabilités en séquence.

La première vulnérabilité était un cookie d’ID de session non protégé stocké dans LocalStorage, qui leur a permis de détourner la session administrateur active.

À l’aide du jeton d’administrateur volé, ils ont ensuite tenté de soumettre des commandes à l’interface de gestion de Prime.

Comme la plupart des applications Web, l’interface de gestion de Prime empêche de telles commandes grâce à des jetons anti-CSRF (cross-site request forgery). Mais en sondant les outils de développement de Prime, Finstad et Donkers ont pu découvrir une fonction qui générait les jetons, permettant de contourner les protections CSRF.

« Faire un contrôle de sécurité comme celui-ci côté client ouvre de nombreuses possibilités aux attaquants », a déclaré Finstad. « Ils peuvent lire le code et l’exécuter, si efficacement que vous leur donnez les outils pour vous pirater. »

Grâce à l’amélioration de l’accès, les chercheurs ont pu créer un compte administrateur supplémentaire pour eux-mêmes, leur donnant une persistance sur le serveur. Ils ont également pu nettoyer leurs traces en purgeant les journaux et en supprimant l’appareil qui leur a donné le pied initial dans le serveur.

« Cela donnait le contrôle de chaque commutateur du réseau. Les limites VLAN pourraient être faciles à franchir, modifier le routage sur les appareils, modifier les adresses réseau et d’autres capacités d’administration réseau », a déclaré Finstad.

Coque inversée

Finalement, Finstad et Donkers ont utilisé deux autres vulnérabilités pour obtenir un accès supplémentaire au serveur. Ils ont téléchargé un script shell inversé basé sur JSP sur le serveur via une fonction qui ne vérifiait pas les types et le contenu des fichiers.

Une deuxième vulnérabilité leur a permis de traverser le chemin et de placer le script dans un répertoire système de leur choix.

Enfin, en exécutant le fichier JSP, ils ont pu ouvrir un reverse shell sur l’un de leurs appareils qui écoutait sur le réseau.

« Nous avons opté pour l’exécution de code à distance parce que c’était amusant, mais cela permet également à un attaquant d’utiliser le système compromis à d’autres fins », a déclaré Finstad.

« Vous pouvez imaginer que si une station de gestion est compromise, vous pourrez peut-être accéder à de nombreux autres systèmes sur le réseau, peut-être voler des mots de passe stockés localement et d’autres informations intéressantes. »

RATTRAPER Cryptage BitLocker : le stockage des clés en texte clair suscite un débat sur la sécurité en ligne

Les résultats mettent en évidence certaines lacunes clés dans la sécurisation des applications Web.

« Ne comptez jamais uniquement sur la sécurité côté client. Du point de vue de la sécurité, le client (navigateur) n’est pas sous votre contrôle, alors assurez-vous de vérifier également votre sécurité côté serveur », a déclaré Finstad.

Les chercheurs ont également mis en garde contre les dangers de sous-estimer les vulnérabilités mineures.

« Ce que nous voyons souvent, c’est que les pirates, les chasseurs de primes de bogues et les organisations se concentrent sur la correction des vulnérabilités hautement prioritaires (les chasseurs de primes de bogues les appellent » P1 « ), et les moyennes sont souvent oubliées », a déclaré Finstad.

« Mais comme nous l’avons vu à plusieurs reprises maintenant, un certain nombre de ‘petites’ vulnérabilités en font facilement une ‘grande’. »