Varonis announces strategic partnership with Microsoft to accelerate the secure adoption of Copilot.

Learn more

Utilizzare Power Automate per l'exfiltration dei dati segreti su Microsoft 365

In che modo gli attori di minacce possono utilizzare Microsoft Power Automate per automatizzare data exfiltration, comunicazione C2, movimento laterale e per eludere le soluzioni DLP.
Eric Saraga
5 minuto di lettura
Ultimo aggiornamento 19 settembre 2023

Che cos'è Power Automate?

Power Automate, un tempo conosciuto come Microsoft Flow, consente agli utenti di automatizzare i flussi di lavoro fra varie app e servizi. Con Power Automate è possibile creare "flussi" su Microsoft 365 for Outlook, SharePoint e OneDrive per condividere o inviare automaticamente file, inoltrare e-mail e altro ancora.

Indubbiamente, si tratta di una funzionalità potente per l'automazione delle attività quotidiane, tuttavia può essere utilizzata dagli aggressori per automatizzare data exfiltration, comunicazione C2, movimento laterale e per eludere le soluzioni DLP.

Come funziona?

Power Automate è abilitato per le applicazioni Microsoft 365 per impostazione predefinita e consente agli utenti di creare i propri flussi in modo programmatico o utilizzando l'interfaccia utente del pianificatore dei flussi.

Per creare un flusso, la prima cosa da fare è stabilire una connessione. Questa consente al flusso stesso di accedere all'applicazione o alla risorsa desiderata utilizzando le autorizzazioni dell'utente.

Non appena la connessione viene stabilita e il flusso viene salvato, quest'ultimo comincerà ad essere eseguito. Le attività svolte vengono registrate a nome dell'utente che ha stabilito la connessione.

Questo lo si può vedere nell'esempio dei registri qui sotto, preso da compliance.microsoft.com/auditlogsearch. Qui vediamo il registro di un'azione di flusso automatizzata, dove il flusso dell'utente Ringo crea un link di condivisione per il file "Share_me.docx". Le azioni vengono registrate a nome dell'utente Ringo in quanto è stato lui a creare la connessione con il suo account anche se, in realtà, sono automatizzate.

In che modo gli aggressori riescono a sfruttare Power Automate?

In modo simile a come le regole di inoltro dei client di posta elettronica possono essere utilizzate per l'esfiltrazione, anche i flussi di Power Automate possono essere sfruttati per estrarre non solo le e-mail ma anche i file da SharePoint e OneDrive. È inoltre possibile esfiltrare i dati da altre applicazioni Microsoft 365 (compresa MSGraph).

Guardiamo alcuni esempi.

Esfiltrazione delle e-mail

MicrosoftTeams-image-3

Questa non è una regola di inoltro su Outlook/Exchange, e pertanto la rilevazione e la prevenzione della creazione di regole di inoltro non possono né bloccarla né identificarla.

Esfiltrazione dei dati tramite link condivisi

Il flusso seguente crea un link di condivisione anonimo per tutti i file creati sul sito SharePoint ai quali l'utente ha accesso e lo pubblica sul server dell'aggressore tramite una chiamata API.

Quando viene creato un flusso che usa come trigger la creazione di un file (ad esempio, quando viene creato un file per svolgere una certa attività), il flusso monitorerà tutti i file creati sul sito SharePoint, anche non dal proprietario del flusso. Se il proprietario dispone dell'autorizzazione a visualizzare il file, il flusso verrà attivato.

Nella maggior parte degli ambienti, le autorizzazioni SharePoint sono complesse e difficili da mantenere. Di conseguenza, molti utenti dispongono di accessi eccessivi a informazioni di cui non hanno bisogno, offrendo agli aggressori un raggio di azione molto più ampio.

Ma c'è di più: se il flusso viene disattivato per qualche giorno, i nuovi file creati nel frattempo verranno recuperati alla sua riattivazione e inviati all'aggressore.

Creare i flussi con uno script

La creazione dei flussi può essere effettuata in modo programmatico utilizzando l'API del flusso. Anche se non esiste un'API esclusivamente dedicata a Power Automate, gli endpoint del flusso possono essere utilizzati per eseguire le query delle connessioni esistenti e creare un flusso.

Il nostro script mostra come opera un aggressore per compromettere le e-mail aziendali.

Una volta che un account Microsoft 365 viene compromesso, gli aggressori possono eseguire facilmente un comando che diffonderà i dati sensibili in entrata, senza bisogno di creare manualmente il flusso Power Automate.

Questo script crea un flusso chiamato "Inoltro delle e-mail" per inoltrare automaticamente tutte le e-mail ricevute alla casella di posta in arrivo dell'aggressore.

In seguito, il flusso compare nell'interfaccia utente e viene abilitato:

Il nome del flusso è personalizzabile e può essere modificato con un valore più oscuro.

I flussi dannosi possono essere sfruttati per altre attività, ad esempio per ottenere organigrammi da Delve, file statistici da SharePoint e altro ancora.

Abuso dei flussi tramite le app Azure

Come abbiamo già spiegato nelle nostre ricerche precedenti, gli aggressori possono ingannare gli utenti, facendo loro installare applicazioni Azure dannose che assomigliano a codici ufficiali e approvati da Microsoft.

Quando un utente installa un'app Azure dannosa, l'aggressore può sfruttare Power Automate senza nemmeno dover ottenere le credenziali dell'account.

Per prima cosa, creiamo un'app nel tenant del nostro aggressore e inviamo un link alla vittima. Quando fa clic sul link, la vittima viene indirizzata automaticamente alla pagina di destinazione dell'autorizzazione ad eseguire l'applicazione Azure. Una volta autorizzata, la nostra applicazione disporrà delle autorizzazioni necessarie per creare un flusso.

Qui possiamo vedere la nostra applicazione dannosa che richiede l'autorizzazione da parte dell'utente per creare e modificare i flussi:

img6-png-1

L'applicazione autentica la richiesta utilizzando un dominio Microsoft e un URL validi, che aumentano le possibilità di successo.

Bisogna però fare una precisazione su questo metodo: non sono riuscito a creare una nuova connessione Power Automate utilizzando l'app Azure, ma solo a utilizzare connessioni già esistenti. Infatti, il token dell'applicazione non dispone delle autorizzazioni necessarie a creare una connessione. Ciò significa che utilizzare le applicazioni Azure per questo attacco ci limita agli utenti che hanno già stabilito connessioni su Power Automate.

Il metodo più efficace sarebbe utilizzare le credenziali dell'utente o un token di autenticazione di Power Automate. In questo modo, si possono creare connessioni e flussi in modo programmatico, senza interazioni con l'utente, e creare i flussi di exfiltration automatici a proprio piacimento.

Rilevamento e prevenzione

Gli attacchi di cui abbiamo parlato descrivono solo alcuni dei vettori di minaccia che gli aggressori possono utilizzare per accedere a Power Automate all'interno di un'organizzazione.

Varonis aggiunge a Microsoft 365 gli alert basati sul comportamento, in grado di rilevare le anomalie negli accessi ai dati e nelle e-mail in base ai dati pregressi dell'utente. Questo si verifica sia che le operazioni vengano svolte manualmente dall'utente tramite script, sia utilizzando Power Automate.

Si tratta forse della linea di difesa più concreta contro l'exfiltration di Power Automate, perché non richiede la scrittura di regole di rilevamento specifiche né il rilevamento manuale di modifiche sospette negli indirizzi IP o nelle stringhe degli user agent.

Gli alert basati sul comportamento rilevano con estrema efficacia quando un utente viene infettato da un malware che opera nel suo stesso contesto: per un aggressore, è molto complicato riprodurre il comportamento quotidiano di un utente.

Monitorare le autenticazioni anomale alla risorsa Power Automate

Azure AD monitora tutti gli accessi nei suoi registri di accesso. Questo può essere uno strumento potente per monitorare l'accesso alle risorse.

In questo caso, possiamo vedere gli accessi effettuati alla risorsa Power Automate (o "Microsoft Flow Service") e inviare un alert quando si verifica un'anomalia.

L'evento di accesso qui sopra mostra il nostro script in esecuzione come utente Ringo, che si autentica a Microsoft Flow Service utilizzando in modo inaspettato l'applicazione Azure Active Directory PowerShell. L'autenticazione tradizionale tramite interfaccia utente utilizzerebbe invece l'applicazione Microsoft Flow Portal.

Altre anomalie rilevabili includono:

  • Accessi da posizioni in blacklist
  • Accessi da account amministratori appositi
  • Utilizzo anomalo dei dati da parte di un utente

Monitorare la creazione dei flussi Power Automate

Per avere un'idea dei nuovi flussi creati, possiamo guardare direttamente i registri dei flussi:

CleanShot 2022-02-03 at 07.27.53@2x

È importante ricordare che i registri dei flussi non contengono dati riguardanti le modifiche esatte all'interno di un flusso, né quali flussi sono stati creati con determinate connessioni. Tuttavia, possiamo utilizzarli per avere un'idea più precisa di cosa succede dopo che l'utente effettua l'autenticazione alla risorsa Power Automate. Può darsi che l'utente sia autorizzato ad accedere da qualsiasi posizione, ma non a creare flussi dal suo interno.

Monitorare l'attività automatizzata dei flussi

Le azioni automatiche eseguite da Power Automate sono indicate nei registri dallo user agent "azure-logic-apps/*", come mostrato di seguito:

Un'altra cosa da notare è che l'azione è sempre effettuata da un IP Microsoft. Tuttavia, affidarsi a questo dato potrebbe creare falsi positivi, in quanto abbiamo a che fare con una piattaforma Microsoft.

Utilizzando questo user agent indicativo, possiamo emettere direttamente un alert per le azioni sospette o confrontare l'attività automatizzata con quella regolare dell'utente e quelle automatizzate passate per rilevare le anomalie.

Monitoraggio delle applicazioni Azure

Utilizzare le applicazioni Azure per questo attacco crea una traccia di registro diversa rispetto all'utilizzo diretto delle credenziali. La differenza nei registri di accesso Azure AD è questa:

L'applicazione utilizzata per l'autenticazione è l'app "MicrosoftOffice", che è la nostra applicazione dannosa (chiamata "MicrosoftOffice" per motivi di phishing), e la risorsa è il Microsoft Flow Service (come prima).

Monitorare o limitare l'autenticazione a Flow Service solo per le app approvate limiterà la superficie di attacco e, di conseguenza, aiuterà a prevenire lo sfruttamento di Power Automate.

Il monitoraggio delle autorizzazioni concesse alle applicazioni può anche aiutare a prevenire questo attacco e altri attacchi potenzialmente distruttivi.

Bloccare le e-mail inoltrate da Power Automate

È possibile bloccare direttamente l'exfiltration tramite e-mail impostando i controlli per i connettori:

https://docs.microsoft.com/en-us/power-platform/admin/block-forwarded-email-from-power-automate

Riferimenti:

What you should do now

Below are three ways we can help you begin your journey to reducing data risk at your company:

  1. Schedule a demo session with us, where we can show you around, answer your questions, and help you see if Varonis is right for you.
  2. Download our free report and learn the risks associated with SaaS data exposure.
  3. Share this blog post with someone you know who'd enjoy reading it. Share it with them via email, LinkedIn, Reddit, or Facebook.

Try Varonis free.

Get a detailed data risk report based on your company’s data.
Deploys in minutes.

Keep reading

Varonis tackles hundreds of use cases, making it the ultimate platform to stop data breaches and ensure compliance.