Gli analisti di sicurezza Yoroi e il Cert Nazionale hanno lanciato l’allarme in merito all’esistenza di una vulnerabilità di tipo zero-day nel gestore contatti in formato vCard di Microsoft Windows (VCF). Questa vulnerabilità potrebbe consentire ad un attaccante di eseguire, da remoto, codice arbitrario sui sistemi affetti.
Il bug è originato da alcune lacune nel sistema di validazione nei campi di contatto all’interno dei file vCard con estensione “.contact” o “.vcf”. Se un utente dovesse aprire in lettura questi file, immediatamente consentirebbe la compromissione della macchina bersaglio tramite l’esecuzione di codice arbitrario.
In pratica, vista la particolare tipologia di attacco, la vulnerabilità potrebbe essere sfruttata per portare a segno massicce campagna malevoli di spear phishing, particolarmente dannosi soprattutto in ambito aziendale, nei quali gli attaccanti invitano le potenziali vittime a visionare contatti all’interno di vCard appositamente modificate.
Una vCard, lo ricordiamo, contiene informazioni relative al nome del contatto, al titolo, ai numeri di telefono, agli indirizzi e-mail e ad eventuali URL di siti personali, e può essere inviata come allegato di posta elettronica o mediante un messaggio di WhatsApp. Le vCard, inoltre, possono essere utilizzate per aggiungere un nuovo contatto alla rubrica o per importare ed esportare una lista di contatti in un solo file.
Indice degli argomenti
Vulnerabilità delle vCard: analisi tecnica
La scoperta della vulnerabilità delle vCard risale allo scorso mese di gennaio ed è attribuibile al ricercatore di sicurezza John Page (conosciuto con lo pseudonimo di hyp3rlinx) che ha immediatamente pubblicato i dettagli e un proof-of-concept (PoC, cioè la realizzazione pratica, tipicamente mediante simulazioni in ambiente controllato, di un attacco informatico o di un exploit, allo scopo di dimostrarne la fattibilità e verificarne le reali potenzialità e conseguenze in situazioni reali), segnalando anche il problema a Microsoft tramite l’iniziativa Zero Day Initiative (ZDI) gestita da Trend Micro.
Adesso sono comparsi i primi tutorial pubblicamente accessibili su Exploit-DB che spiegano passo passo come sfruttare la vulnerabilità a partire dai dettagli rilasciati da John Page.
Dall’analisi di questi howto si scopre che un criminal hacker potrebbe essere in grado di includere un file VBScript malevolo nella sezione email del file VCF sfruttando proprio la vulnerabilità “Mailto: HTML Link Injection RCE”. Per farlo, è sufficiente utilizzare il framework Metasploit e, tramite il modulo msfvenom, generare un payload di tipo VBS da consegnare alla vittima insieme al file VCF contenente l’HTML injection. Ecco un esempio di stringa malevola utilizzabile per sfruttare la vulnerabilità:
<a href=”raj\shell.vbs”>raj@gmail.com</a>
in cui si può osservare come il collegamento mailto punti al file VBS specificato su href.
Ecco come appare il nuovo contatto aggiunto alla rubrica mediante una vCard malevola.
Il sistema di gestione dei file vCard avviserà l’utente che l’indirizzo email non è valido ma consentirà comunque di forzare l’inserimento del nuovo contatto in rubrica. A questo punto il payload malevolo contenuto nel file VBS aprirà una nuova sessione meterpreter che consentirà all’attaccante di avere accesso da remoto alla macchina della vittima, con le evidenti conseguenze.
Il codice VBS del paylod malevolo che sfrutta la vulnerabilità delle vCard per eseguire codice arbitrario sulle macchine infette.
I consigli per proteggersi dalla vulnerabilità delle vCard
Dai dettagli tecnici della vulnerabilità si evince che risultano affette le versioni di Windows 10, 8, 7 e Vista. Al momento Microsoft non ha rilasciato alcuna patch, anche se inizialmente ne aveva annunciato la presenza nel Patch Tuesday di gennaio. All’ultimo istante, la Casa di Redmond ha cambiato idea rimandando la correzione alla successiva release del sistema operativo nota al momento come 19H1, che dovrebbe essere rilasciata ad aprile 2019.
Occorre, dunque, prestare la massima attenzione anche perché, secondo Marco Ramilli, Founder & CEO di Yoroi, “la complessità dei sistemi digitali impone una elevata difficoltà nell’individuare vettori creativi, come quello descritto. La creatività degli attaccanti è frutto di una fervida immaginazione umana che nessun sistema automatico è in grado di bloccare, per questo oltre alla tanto acclamata consapevolezza digitale è necessario affidarsi a gruppi di esperti che possano comprendere la creatività dell’attaccante e rispondere con altrettanta creatività impedendo la diffusione della minaccia”.
Dello stesso parere anche Luca Bechelli, Information & Cyber Security Advisor presso P4I – Partners4Innovation, secondo cui “spesso le aziende concentrano i loro sforzi di analisi e di messa in sicurezza delle applicazioni ritenute più critiche. Questa vulnerabilità dimostra come un componente software apparentemente secondario (il gestore della rubrica), se compromesso, può determinare impatti significativi sul sistema”.
L’analisi di Bechelli continua sottolineando come “siamo all’ennesima dimostrazione di un fatto di cui spesso tutti noi (imprese, cittadini ecc.) siamo poco consapevoli: è sufficiente un errore nel software per consentire ad un attaccante di creare una breccia “importante” sui nostri sistemi, siano essi il personal computer, come il telefono cellulare, o un servizio remoto a cui affidiamo informazioni importanti, aziendali o personali”.
“Questo tema”, continua ancora Bechelli, “è fortemente connesso con un altro, molto più caldo e attuale, su cui tutte le aziende in un modo o in un altro si stanno (o si dovrebbero) misurare: quello della sicurezza by design come elemento imprescindibile per assicurare il principio più ampio (e certamente non solo tecnico) di privacy by design. Realizzare software sicuro è una sfida complessa, in quanto è impossibile garantire che un software rispetti le proprie specifiche in tutte le condizioni. Quello che possiamo fare è “alzare l’asticella”, creare le condizioni entro le quali almeno gli errori più comuni o più facili da individuare siano rilevati e corretti, o addirittura evitati all’origine”.
“Un sistema operativo”, conclude Bechelli, “con le applicazioni a supporto come la gestione dei contatti, consta di decine di milioni di righe di codice. Ciascuna di esse può contenere un errore. Molte di esse sono state scritte anni fa, quando le pratiche di sviluppo sicuro erano meno consolidate, e questo è il motivo per il quale la stessa vulnerabilità può colpire ben 4 versioni diverse dello stesso sistema operativo. Non si tratta di puntare il dito su uno specifico fornitore: questo caso è un monito, per tutti coloro che realizzano software, lo acquistano, o se lo fanno realizzare. Se, nonostante la continua ricerca da parte delle comunità underground, una tale problematica è sopravvissuta per ben 12 anni, cosa potrebbe accadere sul vostro software, molto meno testato e certamente frutto di investimenti, controlli, revisioni di minore entità?”.
Al momento, sebbene non siano ancora state rilevate applicazioni pratiche, la vulnerabilità potrebbe essere sfruttata per campagne di distribuzione massiva di malware. Il consiglio è quindi quello di non aprire file vCard in formato “.contact” o “.vcf” ricevuti da mittenti sconosciuti e di mantenere alto il livello di consapevolezza degli utenti attuando azioni di mitigazione e informative, suggerendo loro di avvisandoli periodicamente delle minacce in corso. Utile, infine, utilizzare un team di esperti in grado di salvaguardare la sicurezza del perimetro “cyber” dell’azienda.