Come eseguire macro dannose senza lasciare traccia su macOS

Il ricercatore Patrick Wardle ha dimostrato come una catena di exploit possa essere utilizzata con successo per attaccare il macOS Catalina.

Molti utenti di computer macOS sono ancora convinti che i propri dispositivi non abbiano bisogno di protezione. O ancor peggio, gli amministratori di sistema delle aziende i cui i dipendenti lavorano su hardware Apple spesso la pensano allo stesso modo.

Alla conferenza Black Hat USA 2020, il ricercatore Patrick Wardle ha provato ad aprire gli occhi al pubblico presentando la sua analisi dei malware per macOS e costruendo una catena di exploit per prendere il controllo di un computer Apple.

Microsoft, macro e Mac

Uno dei modi più comuni per attaccare i computer che eseguono macOS è attraverso documenti con macro dannose, cioè attraverso le applicazioni di Microsoft Office. Infatti, nonostante la disponibilità delle app di produttività Apple, molti utenti preferiscono utilizzare Microsoft Office. Alcuni lo fanno per abitudine, altri per motivi di compatibilità con i documenti creati dai loro colleghi.

Naturalmente, tutti sono a conoscenza da tempo della potenziale minaccia rappresentata dai documenti contenenti macro. Pertanto, sia Microsoft, sia Apple dispongono di meccanismi per proteggere l’utente.

Microsoft avvisa gli utenti quando aprono un documento che contiene una macro. Inoltre, se l’utente decide di proseguire comunque, il codice viene eseguito in una sandbox, il che, secondo gli sviluppatori di Microsoft, impedisce al codice di accedere ai file dell’utente o di causare altri danni al sistema.

Da parte di Apple, l’azienda ha introdotto diverse nuove funzioni di sicurezza nell’ultima versione del suo sistema operativo, macOS Catalina. In particolare, queste includono la quarantena dei file e la “notarizzazione”, che è una tecnologia che impedisce il lancio di file eseguibili da fonti esterne.

Fondamentalmente, queste tecnologie insieme dovrebbero essere sufficienti a prevenire qualsiasi danno da macro dannose. In teoria, tutto sembra abbastanza sicuro.

Una catena di exploit fa uscire la macro dalla sandbox

In pratica, però, molti meccanismi di sicurezza sono implementati in modo piuttosto problematico. Pertanto, i ricercatori (o i cybercriminali) possono potenzialmente trovare metodi per aggirarli. Wardle ce lo ha dimostrato grazie a una catena di exploit.

1. Aggirare il meccanismo che disattiva le macro

Prendiamo, ad esempio, il sistema che avverte l’utente quando rileva una macro in un documento. Nella maggior parte dei casi, funziona come previsto dagli sviluppatori. Allo stesso tempo, però, è possibile creare un documento in cui la macro si avvia automaticamente e senza alcuna notifica all’utente, anche se le macro sono state disattivate nelle impostazioni.

Questo può essere fatto utilizzando il formato di file Sylk (SLK). Il formato, che utilizza il linguaggio macro XLM, è stato sviluppato negli anni ’80 ed è stato aggiornato per l’ultima volta nel 1986. Tuttavia, le applicazioni Microsoft (ad es. Excel) supportano ancora Sylk per ragioni di retro-compatibilità. Questa vulnerabilità non è nuova ed è stata descritta in dettaglio già nel 2019.

2. Fuga dalla sandbox

Come abbiamo potuto appurare, un cybercriminale può eseguire una macro senza lasciare traccia. Ma il codice viene comunque eseguito all’interno della sandbox isolata di MS Office. Come può un criminale informatico attaccare il computer? Beh, a quanto pare non è molto difficile sfuggire alla sandbox di Microsoft su un Mac.

È vero che non è possibile modificare i file già memorizzati sul computer dall’interno della sandbox. Tuttavia, è possibile crearli. Questo exploit è già stato utilizzato in precedenza per uscire dalla sandbox e sembra che Microsoft abbia rilasciato un aggiornamento per questa vulnerabilità. Tuttavia, il problema non è stato realmente risolto, come dimostrato da un esame più dettagliato della patch: la correzione ne ha affrontato i sintomi, bloccando la creazione di file dall’interno di ubicazioni che alcuni sviluppatori ritenevano non sicuri, come ad esempio nella cartella LaunchAgents, dove vengono custoditi gli script che vengono lanciati automaticamente dopo un riavvio.

Ma davvero Microsoft ha tenuto conto di ogni “ubicazione pericolosa” durante la creazione della patch? Come è successo, uno script scritto su Python e lanciato da un documento di Office, e quindi eseguito all’interno di una sandbox, poteva essere usato per creare un oggetto chiamato “Login Item”. Un oggetto con quel nome si lancia automaticamente quando l’utente effettua il login nel sistema. Il sistema lancia l’oggetto, che verrà eseguito fuori dalla sandbox di Office e quindi aggirerà le restrizioni di sicurezza di Microsoft.

3. Aggirare i meccanismi di sicurezza Apple

Quindi, ora sappiamo come eseguire segretamente una macro e creare un oggetto Login Item. Naturalmente, i meccanismi di sicurezza di macOS impediscono ancora il ll’esecuzione della backdoor che, essendo stata creata da un processo non sicuro dall’interno della sandbox, non è affidabile, vero?

Da un lato, è vero: i meccanismi di sicurezza Apple bloccano infatti l’esecuzione del codice ottenuto in questo modo. Dall’altro lato, però,c’è una soluzione per aggirare il problema: se si inserisce un archivio ZIP come Login Item, al prossimo login il sistema decomprimerà automaticamente il file.

Al cybercriminale non resta che scegliere la posizione giusta per decomprimere il file. Ad esempio, l’archivio può essere collocato nella stessa directory delle librerie degli utenti, un gradino sopra quella in cui si suppone che siano memorizzati gli oggetti di tipo Launch Agent (quelli che Microsoft considera giustamente pericolosi). L’archivio stesso può includere una directory chiamata LaunchAgents, contenente lo script Launch Agent.

Una volta decompresso, lo script viene posizionato nella cartella LaunchAgents per essere eseguito al riavvio. Essendo stato creato da un programma di fiducia (Archiver) e non avendo gli attributi di quarantena, può essere usato per eseguire qualcosa di più pericoloso. I meccanismi di sicurezza non impediranno nemmeno l’avvio di questo file.

Di conseguenza, un cybercriminale può eseguire un meccanismo attraverso la shell di comando Bash per ottenere l’accesso remoto (ottenendo così una cosiddetta shell inversa). Questo processo Bash può essere utilizzato per scaricare file, che mancheranno anche dell’attributo di quarantena, permettendo ai cybercriminali di scaricare un codice veramente dannoso e di eseguirlo senza alcuna restrizione.

In sintesi:

  • Un cybercriminale può lanciare di nascosto una macro dannosa senza che compaia alcun avviso o senza interpellare l’utente, anche se l’esecuzione della macro è disabilitata nelle impostazioni. Tutto ciò di cui l’hacker ha bisogno è che l’utente scarichi un documento di Office e lo apra;
  • Successivamente, il criminale informatico può sfuggire alla sandbox di Microsoft Office e creare un oggetto Login Item e un archivio con il Launch Agent all’interno che viene eseguito automaticamente all’esterno della sandbox all’accesso successivo;
  • In poche mosse, un cybercriminale può facilmente aggirare i meccanismi di sicurezza di Apple estraendo un oggetto di tipo Launch Agent da un file ZIP. Avendo così eluso i meccanismi di sicurezza del sistema, il programma può poi scaricare ed eseguire la parte “combat” del codice dannoso.

Come difendersi da macro dannose su macOS

Naturalmente, il ricercatore ha riferito le sue scoperte sia ad Apple che a Microsoft, ed entrambe le aziende hanno tranquillamente apportato correzioni senza pubblicizzarle o addirittura assegnare identificatori CVE ufficiali alle vulnerabilità. Ma la situazione suggerisce che, con un attento studio dei meccanismi di sicurezza, è possibile trovare metodi per aggirarli.

In passato macOS era giustamente considerato un sistema sicuro, ma ciò non significava tanto avere meccanismi di sicurezza particolarmente avanzati quanto il risultato di poca conoscenza da parte dei cybercriminali. Tuttavia, i computer Apple sono diventati molto più popolari, anche nell’ambiente aziendale, e quindi gli attacchi che prendono di mira macOS stanno diventando molto più interessanti per i criminali informatici.

Quindi, per difendersi, non solo è necessario mantenere il sistema e i software aggiornati, ma anche utilizzare soluzioni di sicurezza in grado di rilevare e contrastare le attività sospette. Ad esempio, la nostra linea di prodotti di sicurezza, sia per utenti privati, sia per clienti aziendali, include versioni per macOS.

Amanti delle Serie TV? Occhio al cybercrime!

Gli attacchi informatici più frequenti sono quelli che prendono di mira gli utenti e una delle aree di maggior vulnerabilità oggi è rappresentata dal mondo dell’entertainment. Per approfondire il tema abbiamo intervistato Florencia Di Stefano-Abichain, content creator, autrice e speaker radiofonica e televisiva, ma soprattutto grande esperta e appassionata di serie TV.

Consigli