Sono emersi i dettagli tecnici su ProxyToken, una grave vulnerabilità in Microsoft Exchange Server di tipo Information Disclosure (identificata come CVE-2021-33766 con punteggio CVSS di 7.3) che non richiede autenticazione per accedere ai messaggi di un account e-mail target.
Un attaccante potrebbe sfruttarla creando una richiesta malevola ai servizi web all’interno dell’applicazione Exchange Control Panel (ECP) e rubare i messaggi dalla casella di posta della vittima, riuscendo così a rivelare informazioni personali, dati aziendali sensibili e altro ancora.
In particolare, la vulnerabilità consente di eseguire azioni di configurazione su caselle di posta appartenenti a utenti arbitrari e quindi copiare tutte le e-mail indirizzate all’account target e inoltrarle a un account controllato dall’attaccante.
La vulnerabilità, ora corretta da Microsoft con gli aggiornamenti cumulativi di Exchange di luglio, è stata scoperta da Le Xuan Tuyen, un ricercatore presso l’Information Security Center of Vietnam Posts and Telecommunications Group (VNPT-ISC), e riportata nello scorso mese di marzo 2021 nel programma Zero-Day Initiative (ZDI) di Trend Micro.
Indice degli argomenti
I dettagli della vulnerabilità ProxyToken
Per comprendere come sia possibile armare la vulnerabilità, i ricercatori della Zero-Day Initiative hanno pubblicato un post che sintetizza brevemente il funzionamento di base di Microsoft Exchange Server.
In pratica, Microsoft Exchange utilizza due differenti siti web: il primo, il front-end, è quello a cui gli utenti si connettono per accedere alle loro caselle di posta elettronica e quindi alle loro e-mail. Il secondo è invece un sito back-end che gestisce la funzione di autenticazione degli utenti.
Il sito web di front-end può essere assimilato a un proxy per il back-end. Per consentire l’accesso che richiede l’autenticazione dei moduli, il front-end genera pagine di tipo /owa/auth/logon.aspx. Quindi, per tutte le richieste di post-autenticazione, il ruolo principale del front-end è quello di impacchettare le richieste provenienti dai singoli endpoint sul sito Exchange di back-end, raccoglierne le risposte e inoltrale al client.
La falla di sicurezza risiede in una caratteristica chiamata Delegated Authentication che si riferisce a un meccanismo per cui il sito web front-end – in particolare il client Outlook web access (OWA) – passa le richieste di autenticazione direttamente al back-end quando rileva la presenza di un cookie SecurityToken.
In poche parole, se il front-end trova un cookie non vuoto chiamato per l’appunto SecurityToken, delega l’autenticazione al back-end.
Fin qui niente di anomalo, se non fosse che Exchange deve essere specificamente configurato per far sì che il back-end esegua i controlli di autenticazione, ma nella configurazione predefinita del server il modulo responsabile di ciò (cioè il DelegatedAuthModule) non viene caricato e non è quindi attivo.
Di fatto, quindi, le richieste di accesso vengono “ignorate” dal server senza essere sottoposte ad alcuna autenticazione sia sul front-end sia sul back-end.
A questo punto, dopo essere riuscito a “forzare” l’autenticazione, l’attaccante potrebbe modificare la configurazione predefinita di Microsoft Exchange Server e creare una regola di inoltro che gli permette di leggere la posta in arrivo della vittima.
Attacco ai server Microsoft Exchange: tre lezioni (fondamentali) che dobbiamo imparare
Come mitigare il rischio
Come dicevamo, la vulnerabilità ProxyToken è stata mitigata da Microsoft con gli aggiornamenti cumulativi di Exchange di luglio: il consiglio per tutte le organizzazioni è dunque quello di aggiornare i loro prodotti per evitarne la compromissione.
Ricordiamo, inoltre, che la scoperta della vulnerabilità ProxyToken arriva dopo quella di ProxyLogon all’inizio di marzo che, lo ricordiamo, è in realtà una “raccolta” di exploit composta da quattro difetti di Exchange (CVE-2021-26855, CVE-2021-26857, CVE-2021-26858, CVE-2021-27065) che insieme creano un exploit di esecuzione di codice remoto pre-autenticazione (RCE).
Sfruttando la vulnerabilità ProxyLogon, gli attaccanti possono prendere il controllo dei server non patchati senza conoscere le credenziali di un account valido, dando loro accesso alle comunicazioni e-mail e la possibilità di installare una shell web per compiere ulteriori azioni malevoli all’interno dell’ambiente compromesso.