Qu’est-ce que Power Automate ?
Power Automate, anciennement Microsoft Flow, permet d’automatiser des workflows entre divers services et applications. Avec Power Automate, vous pouvez créer dans Microsoft 365 des « flux » pour Outlook, SharePoint et OneDrive afin d’automatiser le partage ou l’envoi de fichiers, le transfert de courriels, etc.
Cette fonctionnalité est très puissante au quotidien, mais elle peut aussi être utilisée par des acteurs malveillants pour automatiser l’exfiltration de données, la communication C2, les mouvements latéraux et l’évitement des solutions DLP.
Obtenez une évaluation gratuite des risques liés aux données
Comment ça marche ?
Power Automate est activé par défaut dans les applications Microsoft 365 et permet à n’importe quel utilisateur de créer ses propres flux. Ces flux peuvent être mis en place par voie programmatique ou via l’interface utilisateur.
Pour créer un flux, un utilisateur doit d’abord créer une connexion qui permet au flux d’accéder à l’application ou la ressource adéquate à l’aide des droits de cet utilisateur.
Dès que la connexion est établie et le flux enregistré, ce dernier est exécuté. Toute activité réalisée par le flux sera consignée sous le nom de l’utilisateur qui a créé la connexion.
Ce comportement est illustré dans l’exemple de journal suivant, tiré de compliance.microsoft.com/auditlogsearch.Cette illustration présente une action exécutée automatiquement par le flux de Ringo, à savoir la création d’un lien de partage pour le fichier Share_me.docx. Les actions sont consignées sous le nom de Ringo, car la connexion a été créée avec son compte, mais elles sont en réalité réalisées automatiquement.
Comment les attaquants peuvent-ils détourner Power Automate ?
Tout comme les règles de transfert des clients de messagerie peuvent servir à exfiltrer des données, les flux Power Automate permettent d’exfiltrer des courriels, mais aussi des fichiers SharePoint et OneDrive. Vous pouvez également exfiltrer des données provenant d’autres applications Microsoft 365 (et même de MSGraph).
Penchons-nous sur quelques exemples.
Exfiltration de courriels
Il ne s’agit pas d’une règle de transfert définie dans Outlook/Exchange et elle ne sera donc pas bloquée ou détectée par les fonctions correspondantes liées à ce type de règle.
Exfiltration de fichiers via des liens partagés
Le flux suivant génère un lien de partage anonyme pour tous les fichiers créés sur le site SharePoint auquel l’utilisateur a accès et envoie ce lien via à un appel à l’API (méthode POST) au serveur de l’attaquant.
Lors de la création d’un flux dont le déclenchement survient à la création d’un fichier, le flux surveille tous les fichiers créés sur le site SharePoint, même ceux dont le propriétaire du flux n’est pas l’auteur. Tant que le propriétaire du flux est autorisé à consulter le fichier, le flux se déclenchera.
Dans la plupart des environnements, les droits SharePoint sont complexes et difficiles à gérer. Par conséquent, de nombreux utilisateurs disposent d’accès à des informations dont ils n’ont pas besoin, une aubaine pour les attaquants.
Cerise sur le gâteau, si le flux est désactivé pendant quelques jours, les fichiers créés pendant cette période seront détectés par le flux lors de sa réactivation et envoyés eux aussi à l’attaquant.
Création de flux avec un script
Vous pouvez créer des flux par voie programmatique. Il n’existe pas d’API Power Automate spécifique pour cette action, mais les terminaux des flux permettent de rechercher des connexions existantes et de créer un flux.
Notre script montre comment un hacker pourrait exécuter une attaque BEC.
Une fois qu’un compte Microsoft 365 est compromis, les attaquants n’ont plus qu’à exécuter une commande pour exfiltrer les données sensibles, sans avoir à créer manuellement de flux Power Automate.
Le script suivant crée un flux nommé « Email Forwarding » qui transfère automatiquement tous les e-mails reçus vers la boîte de réception du hacker.
Le flux s’affiche dans l’interface et est actif :
Son nom est personnalisable : il peut tout à fait être remplacé par un intitulé plus obscur.
Il est possible d’utiliser des flux malveillants à d’autres fins, comme récupérer une arborescence organisationnelle via Delve, réunir des statistiques sur les fichiers SharePoint, etc.
Détournement des flux via les applications Azure
Comme nous l’avons évoqué dans notre étude précédente, les attaquants peuvent faire installer aux utilisateurs des applications Azure malveillantes qui paraissent officielles et approuvées par Microsoft.
Une fois que l’utilisateur a installé une application de ce type, un acteur malveillant peut tout à fait détourner Power Automate sans jamais avoir accès aux identifiants du compte.
Tout d’abord, nous créons une application sur le tenant de l’attaquant, puis envoyons un lien à notre victime. En cliquant sur ce lien, celle-ci sera redirigée vers la page de demande d’autorisations pour l’application Azure. Une fois que l’utilisateur aura donné son autorisation, notre application disposera des droits nécessaires pour créer un flux.
Cette image illustre la demande d’autorisations pour la création et la modification de flux.
L’application authentifie la demande à l’aide d’un domaine et d’une URL Microsoft valides, ce qui renforce les chances de réussite.
Cette méthode a toutefois un défaut : je ne suis pas parvenu à créer une connexion Power Automate avec l’application Azure. Je n’ai pu qu’utiliser des connexions existantes, car le jeton de l’application n’inclut pas le droit de création. Cela signifie que recourir à des applications Azure pour ce type d’attaque nous limite aux utilisateurs ayant déjà créé des connexions dans Power Automate.
Une méthode plus sûre consisterait à tirer parti des identifiants de l’utilisateur ou d’un jeton d’authentification Power Automate. Il serait alors possible de créer des connexions et des flux par voie programmatique, sans interaction avec l’utilisateur, et d’élaborer librement des flux d’exfiltration automatisés.
Détection et prévention
Ces attaques présentent différents vecteurs que les hackers peuvent utiliser pour accéder à Power Automate au sein d’une organisation.
Avec Varonis, Microsoft 365 bénéficie d’alertes comportementales déclenchées lors de la détection d’accès anormaux aux données (définis à partir des habitudes des utilisateurs). Ces alertes fonctionnent que les actions soient réalisées manuellement par l’utilisateur, via des scripts ou avec Power Automate.
Il s’agit sans doute de la ligne de défense la plus simple contre l’exfiltration de données via Power Automate, car vous n’avez pas à écrire de règles de détection spécifiques ou à rechercher manuellement des modifications suspectes des adresses IP ou des agents utilisateurs.
Les alertes comportementales sont également très efficaces pour détecter les infections par des malwares s’exécutant dans le contexte de l’utilisateur. En effet, il est très difficile pour les attaquants d’imiter le comportement habituel d’un utilisateur.
Surveillance des authentifications inhabituelles auprès des ressources Power Automate
Azure AD consigne chaque connexion dans son journal des connexions. À ce titre, il peut jouer un rôle central dans la surveillance des accès aux ressources.
Nous pouvons analyser les connexions aux ressources Power Automate (alias « Microsoft Flow Service ») et générer des alertes en cas d’anomalie.
L’événement ci-dessus montre que notre script est exécuté par l’utilisateur Ringo et s’authentifie auprès de Microsoft Flow Service avec l’application Azure Active Directory PowerShell, ce qui est inhabituel. Une authentification classique via l’interface utilisateur utilise le portail Microsoft Flow.
Autres anomalies à rechercher :
- Connexions depuis des emplacements en liste noire
- Connexions par des comptes d’administrateur dédiés
- Utilisation anormale des données par un utilisateur
Surveillance des créations de flux Power Automate
Nous pouvons directement nous plonger dans les journaux de flux pour prendre connaissance des nouveaux flux :
Notez que ces journaux ne précisent pas ce qui a changé dans le flux ou quel flux a été créé avec quelle connexion. Toutefois, ils permettent de mieux se rendre compte de ce qui se passe une fois l’utilisateur authentifié auprès de la ressource Power Automate. Il est possible que l’utilisateur soit autorisé à se connecter depuis n’importe quel emplacement, mais pas à y créer des flux.
Surveillance de l’activité automatisée des flux
Les actions automatisées exécutées par Power Automate sont identifiées par l’agent utilisateur azure-logic-apps/* dans les journaux, comme nous pouvons le voir ici :
Autre point à noter : l’action est toujours réalisée depuis une adresse IP de Microsoft. Toutefois, cette information pose un problème de faux positifs, car la plateforme elle-même appartient à Microsoft.
Avec cet agent utilisateur, nous pouvons immédiatement générer des alertes sur les actions suspectes ou comparer l’activité automatisée à l’activité habituelle de l’utilisateur et ses activités automatisées passées pour identifier d’éventuelles anomalies.
Surveillance des applications Azure
L’utilisation d’applications Azure pour cette attaque ne laisse pas exactement les mêmes traces qu’une utilisation directe des identifiants. Nous pouvons voir la différence dans les journaux de connexion d’Azure AD :
L’application utilisée pour l’authentification est « MicrosoftOffice » : il s’agit de notre application malveillante que nous avons nommée ainsi pour faciliter le phishing. La ressource est quant à elle toujours le Microsoft Flow Service.
La surveillance ou la limitation des authentifications auprès de Microsoft Flow Service aux seules applications approuvées limite la surface d’attaque et réduira ainsi le risque d’exploitation de Power Automate.
La surveillance des autorisations accordées aux applications peut également contribuer à éviter cette attaque, ainsi que d’autres, potentiellement destructrices.
Blocage des courriels transférés par Power Automate
Bloquez directement l’exfiltration par courriel à l’aide de contrôles de connecteurs :
https://docs.microsoft.com/en-us/power-platform/admin/block-forwarded-email-from-power-automate
Références :
Que dois-je faire maintenant ?
Vous trouverez ci-dessous trois solutions pour poursuivre vos efforts visant à réduire les risques liés aux données dans votre entreprise:
Planifiez une démonstration avec nous pour voir Varonis en action. Nous personnaliserons la session en fonction des besoins de votre organisation en matière de sécurité des données et répondrons à vos questions.
Consultez un exemple de notre évaluation des risques liés aux données et découvrez les risques qui pourraient subsister dans votre environnement. Cette évaluation est gratuite et vous montre clairement comment procéder à une remédiation automatisée.
Suivez-nous sur LinkedIn, YouTube et X (Twitter) for pour obtenir des informations sur tous les aspects de la sécurité des données, y compris la DSPM, la détection des menaces, la sécurité de l’IA et plus encore.