
Le projet de test de fuite HTML d'Outlook
Liste des schémas d'URI qui pourraient fonctionner sous Windows. Ces schémas/protocoles peuvent être utiles dans des recherches similaires pour trouver de nouvelles vulnérabilités ou contourner les protections actuelles. D'autres produits pourraient être affectés de la même manière, mais cela n'a pas été étudié ici.
Il est intéressant de noter que l'ouverture de ce fichier avec MS Office prend plus de temps que d'habitude, ce qui peut suggérer qu'Excel fait quelque chose avec certains d'entre eux. C'est un excellent signe pour trouver des bugs/fonctionnalités !
Liste des balises HTML qui peuvent envoyer des requêtes vers d'autres ressources automatiquement ou par interaction de l'utilisateur. Ce fichier a été généré à partir des sources suivantes :
Alors que je travaillais sur une évaluation, j'ai reçu un e-mail HTML dans Outlook 2010 qui contenait une balise image similaire à :
<img src="https://raw.githubusercontent.com/nccgroup/outlookleaktest/master/example.com/test/image.jpg" >
Je pouvais voir qu'Outlook cherchait quelque chose après l'ouverture de cet e-mail et qu'il lui fallait plus de temps que d'habitude pour l'ouvrir complètement. J'ai rapidement réalisé qu'Outlook utilisait en réalité l'URL comme \\example.com\test\image.jpg et envoyait une requête SMB à example.com.
Bien qu'il n'ait pas chargé l'image même lorsque le chemin SMB fourni était valide, il pouvait envoyer mon hash SMB vers un emplacement arbitraire. Cette attaque ne fonctionnait pas sur Outlook 2016, mais elle m'a poussé à lancer un petit projet de recherche pour tester différentes balises HTML acceptant des URI avec différents schémas d'URI et des charges utiles spéciales.
J'ai réussi à tester une liste de schémas d'URI connus avec différentes cibles en concevant une application ASP.NET rapide (et sale) qui utilisait ASPOSE.Email (https://downloads.aspose.com/email/net) et les bibliothèques Microsoft Office Interop. Cette application génère des fichiers MSG en lecture seule similaires aux e-mails reçus ou envoyés dans Outlook. Le projet HTTPLeaks de cure53 (https://github.com/cure53/HTTPLeaks), avec quelques modifications mineures, a été utilisé comme modèle HTML pour générer les e-mails. Le code C# sale, les schémas d'URI, les formules et le modèle HTML utilisés dans cette recherche se trouvent dans ce dépôt.
Afin de réduire les complications, Wireshark et Process Monitor de la suite Sysinternals ont été utilisés pour détecter les appels distants et locaux au système de fichiers.
Outlook envoyait des requêtes SMB/WebDAV externes lors de l'ouverture d'un e-mail HTML spécialement conçu. Cela pouvait être abusé pour détourner le hash SMB d'une victime ou pour déterminer si le destinataire avait consulté un message. Ce problème a été exploité en utilisant les paramètres par défaut d'Outlook qui bloquent le chargement de ressources externes telles que les fichiers image. Ces requêtes étaient envoyées immédiatement après l'ouverture d'un e-mail. Lorsque le port SMB était bloqué, une requête WebDAV sur le port 80 était envoyée. Pour plus de détails et le correctif, veuillez vous référer à https://www.nccgroup.trust/uk/about-us/newsroom-and-events/blogs/2018/may/smb-hash-hijacking-and-user-tracking-in-ms-outlook/
Bien que le motif \\ ait été bloqué par Outlook, un certain nombre d'autres motifs et schémas d'URI ont été trouvés qui forçaient Outlook à envoyer des requêtes vers des serveurs distants.
Le tableau suivant montre les vecteurs identifiés :

Les schémas d'URI suivants pourraient également être utilisés pour cibler le système de fichiers local, ce qui pourrait être utile :

Le projet OutlookLeakTest est protégé par le droit d'auteur 2018, NCC Group, et est sous licence Apache (voir LICENSE).