Utilisation de logiciels malveillants dans Azure pour accéder aux locataires Microsoft 365



Le phishing reste l'un des moyens les plus efficaces pour infiltrer une organisation. Nous avons constaté un grand nombre d'infections de logiciels malveillants résultant de l'ouverture par des utilisateurs de pièces jointes infectées ou de la suite de liens vers des sites malveillants qui tentaient de compromettre des navigateurs ou des plugins vulnérables.

Maintenant que les organisations migrent vers Microsoft 365 à un rythme aussi rapide, nous voyons un nouveau vecteur d'attaque - les applications Azure .

Comme vous le verrez ci-dessous, les cybercriminels peuvent créer, masquer et déployer des applications Azure malveillantes à utiliser dans leurs campagnes de phishing. Les applications Azure ne nécessitent pas l'approbation de Microsoft et, plus important encore, elles ne nécessitent pas l'exécution de code sur l'ordinateur de l'utilisateur, ce qui facilite le contournement des outils de détection et des programmes antivirus sur les postes de travail.

Après que l'attaquant a convaincu la victime d'installer l'application Azure malveillante, il sera en mesure de savoir à quelle organisation appartient la victime, d'accéder aux fichiers de la victime, de lire ses e-mails, d'envoyer des e-mails au nom de la victime (idéal pour une attaque de phishing interne) et en général beaucoup plus.

Que sont les applications Azure?


Microsoft a créé Azure Application Service pour permettre aux utilisateurs de créer leurs propres applications basées sur le cloud qui peuvent appeler et utiliser des API et des ressources Azure. Cela facilite la création de programmes personnalisés puissants qui s'intègrent à l'écosystème Microsoft 365.

L'une des API les plus courantes dans Azure est l' API MS Graph . Cette API permet aux applications d'interagir avec l'environnement de l'utilisateur, à savoir: utilisateurs, groupes, documents OneDrive, boîtes aux lettres et chats Exchange Online.



Tout comme votre téléphone iOS vous demande si l'application peut être autorisée à accéder à vos contacts ou à votre emplacement, Azure vous demandera de donner à l'application l'accès aux ressources nécessaires. De toute évidence, un attaquant peut saisir cette opportunité pour donner frauduleusement à une application l'accès à une ou plusieurs ressources cloud confidentielles.

Comment est l'attaque


Pour effectuer cette attaque, l'attaquant doit disposer de l'application Web elle-même et du locataire Azure pour l'héberger. Après avoir configuré la boutique, nous pouvons démarrer une campagne de phishing en utilisant le lien pour installer l'application Azure: le



lien dans l'e-mail dirige l'utilisateur vers un site Web contrôlé par des attaquants (par exemple, myapp.malicious.com ), qui, à son tour, redirige la victime vers la page de connexion Microsoft . Le processus d'authentification est entièrement géré par Microsoft, donc l'utilisation de l'authentification multifacteur n'est pas une solution.

Dès que l'utilisateur entre dans son instance O365, un jeton sera créé pour l'application malveillante, et l'utilisateur sera invité à se connecter et à fournir à l'application les autorisations nécessaires. Voici à quoi cela ressemble pour l'utilisateur final (et cela devrait sembler très familier si l'utilisateur a précédemment installé l'application dans SharePoint ou Teams):



Voici les autorisations de l'API MS Graph qui sont demandées par l'attaquant dans le code de notre application:



Comme vous pouvez le voir, l'attaquant contrôle le nom de l'application ("MicrosoftOffice" ) et le raccourci (nous avons utilisé le raccourci OneNote). L'URL est une URL Microsoft valide, le certificat est également valide.

Cependant, le nom du locataire de l'attaquant et un message d'avertissement sont indiqués sous le nom de l'application, et ni l'un ni l'autre ne peuvent être masqués. L'attaquant espère que l'utilisateur sera pressé, verra un raccourci familier et ignorera ces informations aussi rapidement et sans réfléchir que les notifications sur les conditions d'utilisation.

En cliquant sur «Accepter», la victime accorde des autorisations à notre application au nom de son compte, c'est-à-dire que l'application pourra lire les courriels de la victime et accéder à tous les fichiers auxquels la victime a accès.

Cette étape est la seule nécessitant le consentement de la victime, l' attaquant a désormais un contrôle total sur le compte utilisateur et les ressources .

Après avoir donné son consentement à la demande, la victime sera redirigée vers le site Web de notre choix. La comparaison de l'accès utilisateur récent aux fichiers et leur redirection vers l'un des documents SharePoint internes récemment ouverts peut être une bonne astuce pour éveiller un minimum de suspicion.

Opportunités reçues


Cette attaque est idéale pour les activités suivantes:

  • Intelligence (obtention d'une liste de comptes, groupes, objets dans le locataire utilisateur);
  • Phishing interne
  • Vol de données dans les ressources de fichiers et les e-mails.

Pour illustrer la puissance de notre application Azure, nous avons créé une console amusante pour afficher les ressources auxquelles nous avons accédé dans le cadre de notre test PoC (proof of concept): la



section «Moi» montre les détails de la victime: la



section «Utilisateurs» nous montrera les métadonnées ci-dessus pour chaque Un utilisateur individuel dans une organisation, y compris une adresse e-mail, un numéro de téléphone portable, un titre de poste, etc., en fonction des attributs d'Active Directory de l'organisation. Cet appel API peut à lui seul entraîner une violation massive des politiques de protection des données personnelles, en particulier dans le cadre du RGPD et du CCPA.



Section Calendriernous montre les événements du calendrier de la victime. Nous pouvons également planifier des rendez-vous en son nom, afficher les réunions existantes et même supprimer les réunions futures.

La section la plus importante de notre application console est peut- être la section RecentFiles , qui nous permet de voir n'importe quel fichier auquel l'utilisateur a accédé dans OneDrive ou SharePoint. Nous pouvons également télécharger ou modifier des fichiers (y compris des fichiers avec des macros malveillantes pour développer une attaque).



IMPORTANT: lorsque nous accédons au fichier via cette API, Azure crée un lien unique. Ce lien est accessible à toute personne de n'importe où, même si l'organisation n'autorise pas l'échange anonyme de liens pour les utilisateurs 365 ordinaires.
Les liens API sont spéciaux. Franchement, nous ne savons pas pourquoi ils ne sont pas bloqués par la stratégie de l'organisation pour l'échange de liens; peut-être que Microsoft ne veut pas interrompre les applications utilisateur existantes si la stratégie change. L'application peut demander un lien de téléchargement ou un lien pour modifier le fichier - dans notre PoC, nous avons demandé les deux.

La section «Outlook» nous donne un accès complet au courrier électronique de la victime. Nous pouvons voir les destinataires de n'importe quel message, les filtrer par priorité, envoyer des e-mails (phishing interne) et bien plus encore.



En lisant les courriels de la victime, nous pouvons identifier le cercle de ses communications et les contacts les plus vulnérables de ce cercle, envoyer des courriels de phishing internes au nom de notre victime et ainsi développer une attaque au sein de l'organisation. Nous pouvons également utiliser l'adresse e-mail et les contacts de la victime de son cercle pour filtrer les données que nous trouvons dans 365.

De plus, Microsoft dispose d'une API qui fournit des informations sur le cercle de communication actuel de la victime:



comme nous l'avons mentionné ci-dessus, nous pouvons modifier les fichiers utilisateur sous réserve des droits pertinents. Mais que faire si nous utilisons l'API pour modifier des fichiers?



Une option consiste à transformer notre application Azure malveillante en un programme de rançongiciel qui crypte à distance les fichiers que la victime a accès pour modifier sur SharePoint et OneDrive:



Néanmoins, cette méthode de chiffrement des fichiers n'est pas fiable (car certains fichiers peuvent être restaurés à l'aide de paramètres de sauvegarde plus stricts), mais les locataires avec des configurations par défaut risquent de perdre des données de manière permanente. D'un autre côté, nous pouvons toujours révéler des données confidentielles et menacer de les publier, à moins d'obtenir une rançon.

Autres sources:

  • Kevin Mitnik a présenté une méthode de chiffrement basée sur le cloud similaire qui s'applique aux boîtes aux lettres;
  • Krebs On Security a également écrit un bon article sur une telle attaque sur son blog.

Urgence du problème


La connaissance de cette technique de phishing est relativement faible aujourd'hui. De nombreux experts ne comprennent pas le niveau potentiel de dommages qu'un attaquant peut infliger en raison d'un seul employé de l'organisation qui a fourni l'accès à l'application Azure malveillante. Donner son consentement à une application Azure n'est pas très différent d'exécuter un fichier .exe malveillant ou d'autoriser l'activation de macros dans un document à partir d'un expéditeur inconnu. Mais, puisqu'il s'agit d'un vecteur plus récent qui ne nécessite pas l'exécution de code sur la machine de l'utilisateur, il est plus difficile à détecter et à bloquer.

Que diriez-vous de désactiver toutes les applications tierces?


Microsoft ne recommande pas de définir une interdiction pour les utilisateurs d'accorder des autorisations aux applications:
«Vous pouvez désactiver les applications intégrées pour votre locataire. Il s'agit d'une étape radicale qui prive globalement les utilisateurs finaux de la possibilité de donner leur consentement au niveau du locataire. Cela empêche vos utilisateurs d'accorder par inadvertance l'accès à une application malveillante. Ce n'est pas une recommandation forte, car elle compromet sérieusement la capacité de vos utilisateurs à travailler avec des applications tierces. »

Comment puis-je détecter un abus des applications Azure?


Le moyen le plus simple de détecter les autorisations illégales consiste à suivre les événements d'accès dans Azure AD et à consulter régulièrement vos applications d'entreprise dans le portail Azure.

Posez-vous toujours des questions:

  • Est-ce que je connais cette application?
  • Appartient-il à une organisation que je connais?

Pour les clients Varonis: le module DatAlert possède des modèles de menace qui détectent les autorisations malveillantes. Il est également possible de créer vos propres règles de notification de partage d'application Azure.

Comment supprimer des applications malveillantes?


Dans le portail Azure, accédez à la section "Applications d'entreprise" de l'onglet "Azure Active Directory" et désinstallez les applications. Un utilisateur ordinaire peut supprimer les autorisations accordées précédemment en allant sur myapps.microsoft.com , en vérifiant les applications qui y sont répertoriées et en révoquant les autorisations si nécessaire.

Consultez les directives officielles de Microsoft pour des instructions détaillées .

All Articles