Utiliser des applications Azure malveillantes pour infiltrer un tenant Microsoft 365

Détection de Menaces

Applications Azure malveillantes

Le phishing, ou hameçonnage, reste une des méthodes les plus efficaces pour infiltrer une organisation. Nous avons constaté qu’un nombre colossal d’infections par des malwares sont dues au fait que des utilisateurs ouvrent des pièces jointes infectées ou cliquent sur des liens qui les renvoient vers des sites malveillants qui tentent de pirater des navigateurs vulnérables ou des plug-ins.
Tandis que les organisations évoluent vers Microsoft 365 à un rythme soutenu, un nouveau vecteur d’attaque fait son apparition : les applications Azure.

Comme vous le verrez plus bas, les hackers peuvent créer, déguiser et déployer des applications Azure malveillantes afin de les utiliser dans leurs campagnes de phishing. Les applications Azure n’ont pas besoin de l’autorisation de Microsoft et, plus important encore, n’exigent pas d’exécuter de code sur la machine de l’utilisateur, ce qui leur permet d’éviter facilement d’être détectées par les terminaux et les antivirus.

Lorsque le hacker est parvenu à convaincre sa victime de cliquer sur un élément déclenchant l’installation d’applications Azure malveillantes, il peut cartographier l’organisation de l’utilisateur, accéder aux fichiers de la victime, envoyer des e-mails en son nom (très efficace pour le spear phishing interne), et bien plus encore.

Qu’est-ce que sont les « applications Azure » ?

Microsoft a créé l’Azure App Service pour permettre aux utilisateurs de créer des applications cloud personnalisées capables d’appeler et consommer facilement des API et ressources Azure. Ils peuvent ainsi créer facilement des programmes puissants et personnalisables s’intégrant à l’écosystème Microsoft 365.

Une des API Azure les plus courantes est l’API MS Graph. Cette API permet aux applications d’interagir avec l’environnement 365 de l’utilisateur—y compris avec les utilisateurs, groupes, documents OneDrive, messageries Exchange Online et conversations.

Microsoft Graph API

De la même façon que votre téléphone sous iOS vous demande si vous acceptez que votre appli accède à vos contacts ou à votre emplacement, le processus d’autorisation de l’application Azure demande à l’utilisateur d’accepter que l’application accède aux ressources dont elle a besoin. Un hacker rusé peut saisir cette opportunité pour inciter un utilisateur à autoriser son application malveillante à accéder à une ou plusieurs ressources cloud sensibles.

Principe de l’attaque

Pour mener cette attaque, le hacker doit disposer d’une application Web et d’un tenant Azure pour l’héberger. Une fois prêts, nous pouvons envoyer une campagne de phishing contenant un lien d’installation de l’application Azure :

Phishing Email avec un lien vers des applications Azure

Le lien figurant dans l’e-mail dirige l’utilisateur vers notre site Web malveillant (p.ex., https://myapp.malicious.com) qui redirige la victime de manière transparente vers la page de connexion de Microsoft. Le flux d’authentification étant entièrement géré par Microsoft, l’authentification à plusieurs facteurs ne constitue pas une mesure de protection viable.

Une fois l’utilisateur connecté à son instance O365, un jeton est généré pour l’application malveillante et l’utilisateur est invité à l’autoriser et à lui accorder les droits dont elle a besoin. Voici comment les choses se présentent du côté de l’utilisateur final (et cela semblera très familier s’il installe des applications dans SharePoint ou Teams) :

Azure App Permissions Window

Du côté du hacker, voici les droits de l’API MS Graph que nous demandons dans le code de notre application :

droits de l'API MS Graph des applications azure

Comme vous pouvez le constater, le hacker contrôle le nom de l’application (nous avons appelé la nôtre « MicrosoftOffice ») et l’icône (nous utilisons l’icône OneNote). L’URL est une URL Microsoft valide et le certificat est valide.

Toutefois, sous le nom de l’application figurent le nom du tenant du hacker et un message d’avertissement qui ne peuvent ni l’un ni l’autre être dissimulés. Le hacker espère que dans son empressement, voyant une icône qu’il connaît, l’utilisateur franchira cet écran aussi rapidement et sans plus réfléchir que pour les Conditions d’utilisation.

En cliquant sur « Accept », la victime accorde à notre application les droits au nom de son utilisateur, c’est-à-dire que l’application peut lire les e-mails de la victime et accéder à tout fichier auquel elle a accès.

Cette étape est la seule qui exige le consentement de la victime — à partir de là, le hacker dispose d’un contrôle total sur le compte et les ressources de l’utilisateur.

Après avoir autorisé l’application, la victime est redirigée vers un site Web de notre choix. L’astuce peut alors consister à cartographier les accès récents aux fichiers de l’utilisateur et de les rediriger vers un document SharePoint interne afin que la redirection soit moins suspecte.

Possibilités après l’intrusion

Cette attaque est très efficace pour :

  • La reconnaissance (énumérer les utilisateurs, les groupes et les objets du tenant 365 de l’utilisateur)
  • Le spear phishing (« harponnage » interne à interne)
  • Le vol de fichiers et d’e-mails depuis Office 365

Pour illustrer la puissance de notre application Azure, nous avons créé une console amusante permettant d’afficher les ressources auxquelles nous avons obtenu l’accès dans le cadre de notre validation de principe :

illustrer la puissance des applications Azure

L’option Me (Moi) montre la victime que nous avons piégée :

victime des applications Azure

Users (Utilisateurs) nous montrera les métadonnées ci-dessus pour chaque utilisateur unique de l’organisation, y compris son adresse, numéro de téléphone portable, intitulé de poste, etc. en fonction des attributs Active Directory des organisations. À lui seul, cet appel d’API pourrait entraîner une violation massive des informations permettant l’identification, en particulier dans le cadre du RGPD et de la loi CCPA.

iolation massive des informations permettant l'identification, en particulier dans le cadre du RGPD et de la loi CCPA.

L’option Calendar (Calendrier) nous montre les événements du calendrier de la victime. Nous pouvons aussi organiser des réunions en son nom, voir les réunions prévues et même libérer du temps dans son planning en supprimant des réunions.

La fonction la plus critique de notre application de console est la fonction Recent Files (Fichiers récents) qui nous permet de voir n’importe quel fichier auquel l’utilisateur accède dans OneDrive ou SharePoint. Nous pouvons aussi télécharger ou modifier des fichiers (des macros malveillantes pour la persistance).

fonction Recent Files

IMPORTANT : lorsque nous accédons à un fichier via cette API, Azure génère un lien unique. Ce lien est accessible à n’importe qui depuis n’importe où – même si l’organisation n’autorise pas les liens de partage anonymes pour les utilisateurs 365 normaux.

Les liens vers les API sont spéciaux. Honnêtement, nous ne savons pas avec certitude pourquoi ils ne sont pas bloqués par la stratégie de lien de partage de l’organisation, mais il est possible que Microsoft ne veuille pas casser les applications personnalisées au cas où la stratégie changerait. Une application peut demander un lien de téléchargement ou un lien de modification pour un fichier – dans notre validation de principe, nous avons demandé les deux.

L’option Outlook nous accorde un accès complet à la messagerie de notre victime. Nous pouvons voir les destinataires de tous les messages, les filtrer en fonction de l’urgence, envoyer des e-mails (c’est-à-dire « harponner » d’autres utilisateurs par spear phishing), etc.

envoyer des e-mails par spear phishing

En lisant les e-mails de l’utilisateur, nous pouvons identifier ses contacts les plus récurrents et vulnérables, envoyer des e-mails de spear phishing internes de la part de notre victime et infecter ses collègues. Nous pouvons aussi utiliser le compte de messagerie de la victime pour exfiltrer des données trouvées dans 365.

De plus, Microsoft fournit aussi des informations sur les collègues de la victime qui utilisent l’API. Les données sur les collègues peuvent servir à identifier d’autres utilisateurs avec lesquels la victime a eu le plus d’interactions :

phishing email

Comme nous l’avons mentionné plus haut, nous pouvons modifier les fichiers de l’utilisateur pour leur associer les droits adéquats. Voyons, que pourrions-nous bien faire avec une API capable de modifier des fichiers ?? 😊

modifier des fichiers

Nous pourrions transformer notre application malveillante Azure en ransomware capable de chiffrer à distance des fichiers auxquels l’utilisateur à accès sur SharePoint et OneDrive :

accès sur SharePoint et OneDrive

Bien que cette méthode de chiffrement des fichiers ne soit pas infaillible puisque certains fichiers pourraient être récupérés en cas d’application de paramètres plus stricts, les tenants qui utilisent des configurations par défaut pourraient perdre définitivement des données. Mais, une nouvelle fois, nous aurions toujours la possibilité d’exfiltrer des données sensibles et de menacer de les rendre publiques à moins qu’une rançon ne soit versée.

Autres ressources :

Détections et éradications

Cette technique de phishing est relativement peu connue pour l’instant. De nombreux professionnels de la protection n’ont pas conscience de tous les dommages qu’un hacker peut causer lorsqu’une seule victime accorde l’accès à une application malveillante Azure. Donner accès à une application Azure n’est pas très différent de lancer un fichier exécutable malveillant ou d’autoriser l’activation de macros dans un document provenant d’un émetteur inconnu— mais comme ce vecteur d’attaque plus récent n’exige pas d’exécuter du code sur le terminal, il est plus difficile à détecter et à bloquer.

Dans ce cas, pourquoi ne pas désactiver totalement les applications tierces ?

D’après Microsoft, il est déconseillé d’interdire aux utilisateurs d’autoriser des applications :

« Vous pouvez désactiver les applications intégrées de votre suite Office 365 lié au domaine. Cette mesure radicale interdit aux utilisateurs d’accorder un consentement à l’échelle de tout le tenant. Elle empêche vos utilisateurs d’accorder accidentellement un accès à une application malveillante. Cette opération est vivement déconseillée car elle réduit considérablement la productivité de vos utilisateurs dans les applications tierces. »

Comment déceler les utilisations abusives des applications Azure ?

Le moyen le plus simple de détecter les consentements illicites est de surveiller les événements d’autorisation dans Azure AD, et d’examiner régulièrement vos « Applications d’entreprise » sur le portail Azure.

Posez-vous les questions suivantes :

  • Est-ce que je connais cette application ?
  • Est-elle vérifiée par une organisation en laquelle j’ai confiance ?

Pour les clients Varonis : DatAlert inclut des modèles de menaces qui détectent les consentements malveillants accordés. Il est aussi possible de créer des règles personnalisées pour émettre des alertes spécifiques en cas d’autorisation d’accès accordée à une application.

Pour vérifier que vous disposez de la version la plus récente de DatAlert et que les modèles de menace adéquats sont activés, contactez votre interlocuteur habituel ou l’assistance Varonis.

Comment retirer des applications malveillantes ?

Sur le portail Azure, allez dans « Enterprise Applications » dans l’onglet « Azure Active Directory » et supprimez les applications. Un utilisateur normal peut aussi retirer l’accès en se rendant sur https://myapps.microsoft.com, et en consultant la liste des applications puis en révoquant les droits comme il le souhaite.

Pour des instructions détaillées, voir : https://docs.microsoft.com/en-us/microsoft-365/security/office-365-security/detect-and-remediate-illicit-consent-grants

Avatar

Adrien Rahmati-Georges

Ancien étudiant en informatique, diplômé de l'Ecole de Guerre Economique en Risques, Sûreté Internationale et Cybersécurité. Adrien travaille chez Varonis en tant que Coordinateur Marketing pour la région EMEA. Il prépare sa carrière de consultant en cybersécurité en fournissant du contenu français et allemand, écrit par nos incroyables auteurs Varonis !

 

Votre cybersécurité est-elle au cœur de votre infrastructure ?

Bénéficiez d'une évaluation personnalisée des risques auxquels sont exposées vos données, effectuée par des ingénieurs passionnés par la sécurité des données.