Microsoft Exchange : un bug dans l’Autodiscover expose vos identifiants !
Un bug dans la fonctionnalité Autodiscover des serveurs de messagerie Exchange a entrainé la fuite d'environ 100 000 couples identifiants et mot de passe à travers le monde !
Bug Autodiscover : que s'est-il passé ?
Dans un nouveau rapport qu'il vient de publier, Amit Serper de chez Guardicore, explique qu'une mauvaise implémentation de la fonction Autodiscover dans Exchange est à l'origine de ce bug de sécurité. Conséquence : vos identifiants Windows peuvent être envoyés à des sites tiers non sécurisés.
Pour rappel, l'Autodiscover est une fonctionnalité très appréciée puisqu'elle permet de faciliter l'ajout d'un compte e-mail dans un client de messagerie tel qu'Outlook. En effet, lorsque l'utilisateur spécifie son identifiant et son mot de passe, le client de messagerie va rechercher lui-même le serveur de messagerie correspondant grâce à l'Autodiscover.
Ce qui nécessite que l'identifiant et le mot de passe soient envoyés au serveur qui correspond à l'adresse Autodiscover du domaine en question, afin de permettre l'authentification.
Reprenons l'exemple donné par Amit Serper pour comprendre où est le problème. Si l'on recherche le serveur Autodiscover pour l'adresse e-mail "[email protected]", le client de messagerie cherchera à effectuer l'authentification auprès des URL suivantes, jusqu'à obtenir une réponse :
- https://Autodiscover.example.com/Autodiscover/Autodiscover.xml
- http://Autodiscover.example.com/Autodiscover/Autodiscover.xml
- https://example.com/Autodiscover/Autodiscover.xml
- http://example.com/Autodiscover/Autodiscover.xml
Le problème, c'est que si l'authentification ne fonctionne pas sur l'une de ces 4 adresses, il y a un autre processus qui se déclenche sur certains clients de messagerie, dont Outlook. La fonction Autodiscover va essayer d'autres URL en reprenant le TLD (exemple ".fr" ou ".com") du nom de domaine de messagerie correspondant à l'adresse e-mail de l'utilisateur.
Dans l'exemple d'Amit Serper, le client de messagerie essaie de s'authentifier sur cette adresse : http://autodiscover.com/Autodiscover/Autodiscover.xml.
Cela signifie que le client de messagerie va chercher à s'authentifier sur un serveur qui n'a rien à voir avec le vôtre, et qui n'a rien à voir avec votre domaine de messagerie. Comme les identifiants sont envoyés dans la requête, cela peut permettre à la personne qui gère le domaine "autodiscover.<tld>" de les récupérer.
Pour mener ses tests jusqu'au bout, Guardicore a enregistré plusieurs noms de domaine (autodiscover.fr, autodiscover.es, autodiscover.online, etc.) et mis en place des serveurs Web. Résultat : l'entreprise a pu collecter près de 100 000 couples identifiants et mots de passe Exchange, et donc des identifiants de comptes Windows (Active Directory). Au total, ces serveurs ont reçu près de 650 000 requêtes HTTP.
Cela est possible, car les identifiants sont envoyés via la méthode d'authentification Basic, ce qui permet de déchiffrer facilement les données (adresse e-mail et mot de passe). Certains clients de messagerie, dont Outlook, utilisent OAuth et NTLM pour envoyer les identifiants. En théorie, cela complique la tâche sauf que Amit Serper a créé un hack pour forcer le client à utiliser la méthode Basic.
Exchange : comment se protéger contre cette fuite d'identifiants ?
Pour le moment, Microsoft affirme travailler sur le sujet afin d'apporter une réponse appropriée pour protéger ses clients. Ce comportement de l'Autodiscover reste un mystère.
En attendant, il est recommandé de bloquer tous les domaines "autodiscover.<tld>" au niveau de votre pare-feu ou de votre DNS, voire même du fichier hosts de votre machine (en associant l'adresse IP "127.0.0.1"). Pour cela, vous pouvez vous appuyer sur la liste créée par Guardicore et qui contient 9190 entrées ! Même si, si j'ai bien compris le principe, il suffit de bloquer les domaines TLD qui correspondent à vos domaines de messagerie.
Décidément, ces derniers mois on parle souvent d'Exchange à cause de problèmes de sécurité. Heureusement, cette fois-ci ce n'est pas tombé entre les mains des pirates.
<>
D’après la source, je comprends l’inverse
Hello,
C’est-à-dire?
Hello,
Je vous cite « Même si, si j’ai bien compris le principe, il suffit de bloquer les domaines TLD qui correspondent à vos domaines de messagerie »
Hors dans la source, le client de messagerie recherche parfois dans le domaine « autodiscover ». Donc on ne parle plus seulement de TLD. Ou alors c’est moi qui n’ai pas bien compris…