Cisco Systems et Palo Alto Networks ont corrigé des vulnérabilités à haut risque similaires de contournement de l'authentification dans leurs dispositifs de sécurité réseau. Ces vulnérabilités sont dues à une erreur dans la mise en œuvre du protocole Kerberos. Des attaquants de type « Man-in-the-middle » (MitM) pourraient exploiter ces failles pour obtenir un contrôle de niveau administrateur sur les appareils. La découverte de ces deux vulnérabilités a été faire par des chercheurs de l’entreprise de sécurité Silverfort. Ces vulnérabilités similaires pourraient affecter d'autres implémentations de Kerberos. Cisco a corrigé la faille début mai et Palo Alto Networks la semaine passée.

Les vulnérabilités Kerberos

La vulnérabilité affectant le système d'exploitation PAN-OS qui tourne sur les dispositifs et appareils de sécurité réseaux de Palo Alto Networks, et portant la référence CVE-2020-2002, est considérée à haut risque. La faille est présente dans les versions de PAN-OS 7.1 antérieures à la version 7.1.26, dans les versions de PAN-OS 8.1 antérieures à la version 8.1.13, dans les versions de PAN-OS 9.0 antérieures à la version 9.0.6, et dans toutes les versions de PAN-OS 8.0. Cette dernière version ne bénéficiant plus d’aucun support, n'a pas reçu de mise à jour. « Le daemon d'authentification et les composants de l'User-ID du système PAN-OS de Palo Alto Networks sont exposés à une vulnérabilité de contournement de l'authentification par spoofing, si l'intégrité du centre de distribution de clés Kerberos (KDC) avant d'authentifier les utilisateurs n’est pas vérifiée », a déclaré l’entreprise dans son avis. « Cela affecte toutes les formes d'authentification qui utilisent un profil d'authentification Kerberos. Un attaquant de type « Man-in-the-middle » ayant la capacité d'intercepter les communications entre PAN-OS et KDC peut se connecter à PAN-OS en tant qu'administrateur ».

Une vulnérabilité similaire, portant la référence CVE-2020-3125, a été repérée dans le logiciel Cisco Adaptive Security Appliance (ASA). Celle-ci a été corrigée le 6 mai. Les appareils exécutant le logiciel ASA de Cisco sont affectés s'ils disposent d'une authentification Kerberos configurée pour un accès VPN ou un appareil local. L'avis de Cisco comporte des instructions manuelles qui permettent aux administrateurs de vérifier si l'authentification Kerberos est configurée. Il contient aussi un tableau avec les versions corrigées de Cisco ASA. Cependant, l’équipementier indique que, pour résoudre ce problème, il faut apporter certaines modifications à la configuration, même après la mise à jour du logiciel. « Les dispositifs Cisco ASA sont vulnérables et peuvent toujours être exploités sauf si les commandes CLI validate-kdc et aaa kerberos import-keytab sont configurées », a déclaré Cisco. « Ces nouvelles commandes de configuration garantissent que l'ASA valide le KDC lors de chaque transaction d'authentification de l'utilisateur, ce qui permet d'éviter la vulnérabilité décrite dans cet avis de sécurité ».

Usurper le KDC Kerberos

Kerberos est un protocole d'authentification populaire dans les environnements Active Directory d'entreprise. Cependant, pour garantir une sécurité maximale, le protocole comporte trois étapes d'authentification : l'utilisateur s'authentifie auprès du serveur, le serveur s'authentifie auprès du client, et le centre de distribution de clés (KDC) de Kerberos s'authentifie auprès du serveur. « Apparemment, l'authentification du KDC au serveur est souvent négligée », ont déclaré les chercheurs de Silverfort dans un article de blog. « Le fait de l'exiger complique peut-être les critères de configuration. Cependant, si le KDC ne s'authentifie pas auprès du serveur, la sécurité du protocole est entièrement compromise, permettant à un attaquant qui a détourné le trafic réseau de s'authentifier auprès de PAN-OS avec n'importe quel mot de passe, même incorrect ». L'usurpation du KDC Kerberos n'est pas vraiment une nouvelle attaque : elle a été signalée pour la première fois il y a dix ans par un chercheur en sécurité nommé Dug Song. Ce qui fait supposer que les implémentations de Cisco ASA et de Palo Alto PAN-OS sont vulnérables depuis longtemps. Les chercheurs de Silverfort ont découvert cette erreur alors qu'ils essayaient de mettre en place une solution d'authentification multifactorielle compatible avec des appareils de sécurité tiers.

Voici les recommandations préconisées pour les développeurs mettant en œuvre Kerberos :

- Vérifier que l'implémentation de Kerberos nécessite un mot de passe ou un keytab : pour valider le DC, il faut utiliser une sorte de secret partagé. Si votre solution ne permet pas de configurer un fichier keytab, ou un mot de passe de compte de service, l'application est sûrement susceptible d'être usurpée par le DC.

- Lancer Wireshark : utilisez Wireshark pour voir quelles demandes Kerberos sont envoyées pendant l'authentification. S'il n'y a pas de TGS_REQ, c'est qu’il y a un risque.

- Suivre les « Requests for comments » (RFC) du protocole : si vous souhaitez mettre en œuvre un protocole d'authentification par vous-même, vous devez suivre les RFC du protocole avec diligence. L’entreprise de sécurité Silverfort recommande de suivre la voie la plus facile et d'utiliser une implémentation existante de ces protocoles.

- Bien utiliser les bibliothèques tierces : certaines bibliothèques tierces nécessitent une configuration spécifique pour éviter l'usurpation du KDC. Par exemple, pam-krb5, une bibliothèque couramment utilisée pour Kerberos, doit avoir un keytab configuré pour fonctionner correctement.