Tre vulnerabilità zero-day sono state individuate in Windows 10 e interessano il modulo Utilità di pianificazione, il servizio di reporting degli errori e la versione 11 di Internet Explorer.
La vulnerabilità che interessa l’Utilità di pianificazione potrebbe consentire ad un attaccante remoto di eseguire un file .job creato ad hoc (e diffuso probabilmente mediante campagne di phishing) per avviare un processo malevolo e ottenere l’accesso come amministratore al sistema grazie ad una LPE (Local Privilege Escalation).
La falla zero-day del servizio di reporting degli errori potrebbe invece consentire ad un aggressore di eliminare o modificare qualsiasi file di Windows, compresi gli eseguibili di sistema, cosa che altrimenti può fare solo un utente privilegiato.
Relativamente alla vulnerabilità zero-day di Internet Explorer, invece, non si hanno ancora dettagli tecnici, ma pare che possa essere sfruttata quando il browser gestisce una libreria DLL malevola creata ad hoc.
Al momento non sono ancora disponibili patch e quindi le vulnerabilità potrebbero essere sfruttate dai criminal hacker per campagne di distribuzione massiva di malware o per azioni di cyber sabotaggio.
I nuovi exploit sono stati pubblicati nell’arco di 24 ore sulla piattaforma GitHub dal noto hacker che si firma con il nickname “SandboxEscaper“, senza avvisare prima Microsoft e violando, quindi, tutte le regole basilari di responsible disclosure e dell’hacking etico.
Si tratta dello stesso hacker che dallo scorso mese di agosto ha già divulgato pubblicamente altri 4 exploit zero-day individuati in Windows 10. Sul suo blog ha inoltre annunciato di essere già stato contattato da “persone non occidentali” interessate all’acquisto del nuovo exploit e di essere disponibile a venderlo per 60.000 dollari o euro, non lo specifica.
Indice degli argomenti
Analisi tecnica delle vulnerabilità zero-day in Windows 10
Come dicevamo, la nuova vulnerabilità zero-day identificata da SandboxEscaper nell’Utilità di pianificazione è un tipico difetto LPE (Local Privilege Escalation) che permette ad un utente con pochi privilegi sul computer di modificare arbitrariamente qualsiasi file, compresi gli eseguibili di sistema, consentendo di ottenere permessi elevati, solitamente riservati a utenti come SYSTEM e TrustedInstaller, anche su account limitati.
Questo significa che un aggressore esterno che ha ottenuto l’accesso remoto a qualche computer in rete e ha trovato o indovinato le credenziali di qualsiasi utente del dominio Windows, anche con bassi privilegi amministrativi, potrebbe compiere la sua azione malevola.
La tecnica, quindi, non consente di compromettere direttamente la macchina target, ma mette l’aggressore in condizione di poter sfruttare la vulnerabilità per rendere più efficace il suo attacco.
Vulnerabilità nell’Utilità di pianificazione: le fasi di attacco
L’exploit, in particolare, sfrutta il fatto che i vecchi task di Windows XP in formato .job possono essere importati in Windows 10 tramite l’Utilità di pianificazione.
Quello che succede è che l’Utilità di pianificazione importa il file JOB con diritti di controllo DACL (Discretionary Access Control List) arbitrari. In mancanza di una DACL corretta, il sistema garantisce a qualsiasi utente l’accesso completo al file.
A questo punto, l’esecuzione di un comando utilizzando gli eseguibili schtasks.exe e schedsvc.dll copiati dal vecchio sistema operativo produce una chiamata di tipo RPC (Remote Procedure Call) alla funzione _SchRpcRegisterTask utilizzata tipicamente dall’Utilità di pianificazione per sincronizzare un task con un eventuale server.
“Presumo che per attivare questo bug si possa semplicemente richiamare direttamente questa funzione, senza usare l’eseguibile schtasks.exe copiato da Windows XP… ma non sono bravo nel reverse engineering” ha comunicato lo stesso SandboxEscaper sul suo blog personale.
Lo stesso SandboxEscaper ha inoltre pubblicato anche l’exploit per le versioni a 64 bit di Windows 10 e gli esperti di sicurezza che hanno analizzato entrambe le versioni del codice (a 32 bit e a 64 bit) assicurano che funzionano perfettamente.
Con opportune ricompilazioni, inoltre, potrebbe funzionare anche su tutte le altre versioni di Windows da XP e Server 2003.
I dettagli delle altre vulnerabilità zero-day in Windows 10
La seconda vulnerabilità zero-day risiede nel servizio di reporting degli errori di Windows e, come la precedente, può essere sfruttata utilizzando un’operazione DACL (Discretionary Access Control List) per identificare e manomettere gli account utente e i gruppi a cui sono assegnate o negate le autorizzazioni di accesso a un oggetto protetto.
Qualora un eventuale aggressore dovesse riuscire a sfruttare la vulnerabilità, sarebbe quindi in grado di eliminare o modificare qualsiasi file di Windows, compresi gli eseguibili di sistema, cosa che altrimenti può fare solo un utente privilegiato.
Il bug è stato soprannominato AngryPolarBearBearBug2 da SandboxEscaper ed è, come è facile intuire, una variante di una precedente vulnerabilità nel servizio di segnalazione degli errori di Windows che poteva consentire ad un attaccante locale e senza privilegi di amministratore di sovrascrivere qualsiasi file scelto sul sistema.
L’ultima vulnerabilità scoperta da SandboxEscaper riguarda invece la versione 11 del browser Web Internet Explorer. Al momento l’hacker non ha rilasciato note tecniche sull’exploit, ma il Proof of Concept (PoC) che ha pubblicato sul suo blog mostra che la vulnerabilità esiste a causa di un errore che si verifica quando il browser gestisce una libreria DLL creata ad hoc.
Questo permetterebbe ad un attaccante di bypassare la modalità protetta di Internet Explorer e di eseguire codice arbitrario con permessi privilegiati.
Alcuni consigli per proteggersi
La scoperta delle tre vulnerabilità è la dimostrazione, secondo Andrea Argentin, Sales Engineer Manager, Italy & Iberia di CyberArk, “che la sicurezza dell’infrastruttura aziendale non si può basare solamente sulla sicurezza di un oggetto, in questo caso il sistema operativo di un endpoint. Gli zero-day sia di sistema operativo sia di applicativi ci saranno sempre, pertanto l’approccio che dobbiamo avere è quello della segregazione e dell’auditing, in modo che il PC compromesso non diventi il punto di ingresso per l’attaccante ma si limiti a confinarlo. Soprattutto, dobbiamo assicurarci di proteggere il domain controller e i server core con un approccio “zero trust”, dove l’accesso è mediato sia a livello network sia a livello di credenziali privilegiate”.
Come dicevamo, SandboxEscaper ha già rilasciato in passato altri quattro exploit zero-day per Windows:
- LPE in Advanced Local Procedure Call (ALPC)
- LPE in Microsoft Data Sharing (dssvc.dll)
- LPE in ReadFile
- LPE nel sistema Windows Error Reporting (WER)
Dai laboratori di ricerca Microsoft fanno sapere che al momento si hanno evidenze di sfruttamento del primo zero-day (ALPC) in campagne di malware lanciate poche settimane dopo il suo rilascio, ad agosto 2018. Non sono state segnalate, invece, campagne di attacco basate sugli ultimi tre rilasciati.
Per quanto riguarda invece le nuove vulnerabilità zero-day, abbiamo già anticipato che non sono al momento disponibili patch ufficiali rilasciate da Microsoft. Probabilmente lo saranno in occasione del prossimo Patch Tuesday previsto per martedì 11 giugno 2019.
Per tanto, nel caso particolare della vulnerabilità che interessa l’Utilità di pianificazione, tenendo conto della possibile diffusione dei file .job compromessi mediante campagne di phishing, si consiglia di non aprire file ricevuti da fonti sconosciute, di non comunicare le proprie credenziali di accesso in risposta a messaggi di posta elettronica di dubbia provenienza.
In merito anche alle altre vulnerabilità è inoltre importante attuare azioni di mitigazione e informazione verso gli utenti e i propri dipendenti mettendo a punto politiche di security awareness aziendale.