Senza darne esplicita comunicazione, con il rilascio delle patch di aprile 2021, Microsoft ha risolto un problema di sicurezza individuato in Windows 7 e Windows Server 2008 R2 che può consentire a un aggressore di acquisire privilegi più elevati usando un account utente dotato di un ventaglio di autorizzazioni ridotto.
Ne avevamo parlato a novembre 2020 quanto il problema venne a galla: Scoperta una grave vulnerabilità in Windows 7 e Windows Server 2008 R2: c’è una patch non ufficiale.
Il francese Clément Labro ha scoperto che le chiavi del registro di sistema RpcEptMapper
e DnsCache
sono configurate per default utilizzando permessi deboli (la prima non soltanto su Windows 7 e Windows Server 2008 R2 ma anche su Windows 8 e Windows Server 2012).
Utilizzando un normale account utente locale è possibile utilizzare il componente di sistema Windows Performance Counters per disporre il caricamento di qualunque libreria DLL, anche quelle potenzialmente dannose, usando i diritti NT AUTHORITY\SYSTEM
.
In questa pagina su GitHub Labro ha pubblicato un tool gratuito che permette di simulare l’attacco: digitando dapprima Perfusion -c cmd -i
da un account utente con privilegi ridotti quindi usando il comando whoami
, si noterà che Windows risponderà con NT AUTHORITY\SYSTEM
offrendo massima libertà d’azione.
La vulnerabilità LPE (local privilege escalation) in questione non ha ancora un numero CVE identificativo ma è stata parzialmente risolta con gli aggiornamenti di aprile 2021 distribuiti agli utenti che hanno attivo un contratto ESU (Extended Security Updates) a pagamento: Windows 7, supporto esteso fino a tre anni con ESU.
Abbiamo scritto “parzialmente risolta” perché i tecnici Microsoft sembrano essersi concentrati sulla chiave di registro RpcEptMapper
mentre DnsCache
pare sia stata al momento ignorata.
Se ancora si utilizzassero sistemi Windows 7 e Windows 2008 R2 (il consiglio è comunque quello di isolarli dal resto della rete), si può utilizzare lo script PowerShell RegistryPatch.ps1
distribuito da Labro nella pagina GitHub citata in precedenza oppure installare il “micro-aggiornamento” sviluppato e distribuito da 0patch (vedere Aggiornamento di Windows 10, Windows Server e degli altri software anche quando non sono disponibili patch ufficiali) di cui si parla in questa pagina.
Da 0patch si assicura che l’aggiornamento resterà gratuito fintanto che Microsoft non risolverà completamente il problema di sicurezza in questione.