banner

Blog

Aug 25, 2023

Nuove tecniche furtive consentono agli hacker di ottenere i privilegi del SISTEMA Windows

I ricercatori di sicurezza hanno rilasciato NoFilter, uno strumento che abusa della piattaforma di filtraggio di Windows per elevare i privilegi di un utente fino ad aumentare i privilegi a SYSTEM, il livello di autorizzazione più alto su Windows.

L'utilità è utile negli scenari post-sfruttamento in cui un utente malintenzionato deve eseguire codice dannoso con autorizzazioni più elevate o spostarsi lateralmente sulla rete della vittima mentre un altro utente ha già effettuato l'accesso al dispositivo infetto.

Microsoft definisce Windows Filtering Platform (WFP) come "un insieme di API e servizi di sistema che forniscono una piattaforma per la creazione di applicazioni di filtraggio della rete".

Gli sviluppatori possono utilizzare l'API WFP per creare codice in grado di filtrare o modificare i dati di rete prima che raggiungano la destinazione, funzionalità presenti negli strumenti di monitoraggio della rete, nei sistemi di rilevamento delle intrusioni o nei firewall.

I ricercatori della società di sicurezza informatica Deep Instinct hanno sviluppato tre nuovi attacchi per elevare i privilegi su una macchina Windows senza lasciare troppe prove e senza essere rilevati da numerosi prodotti di sicurezza.

Il primo metodo consente di utilizzare WFP per duplicare i token di accesso, i pezzi di codice che identificano gli utenti e i loro permessi nel contesto di sicurezza di thread e processi.

Quando un thread esegue un'attività privilegiata, gli identificatori di sicurezza verificano se il token associato ha il livello di accesso richiesto.

Ron Ben Yizhak, ricercatore di sicurezza presso Deep Instinct, spiega che chiamare la funzione NtQueryInformationProcess consente di ottenere la tabella degli handle con tutti i token conservati da un processo.

"Gli handle di questi token possono essere duplicati per consentire a un altro processo di passare a SYSTEM", osserva Yizhak in un post tecnico sul blog.

Il ricercatore spiega che un driver importante nel sistema operativo Windows chiamato tcpip.sys ha diverse funzioni che potrebbero essere richiamate dalle richieste IO del dispositivo ai livelli in modalità kernel WPF ALE (Application Layer Enforcement) per il filtraggio stateful.

"La richiesta di I/O del dispositivo viene inviata per chiamare WfpAleProcessTokenReference. Si collegherà allo spazio degli indirizzi del servizio, duplicherà il token del servizio che appartiene a SYSTEM e lo memorizzerà nella tabella hash” - Ron Ben Yizhak

Lo strumento NoFilter abusa di WPF in questo modo per duplicare un token e ottenere così un'escalation dei privilegi.

Evitando la chiamata a DuplicateHandle, afferma il ricercatore, si aumenta la furtività e molte soluzioni di rilevamento e risposta degli endpoint probabilmente non riusciranno a cogliere l'azione dannosa.

Una seconda tecnica prevede l'attivazione di una connessione IPSec e l'abuso del servizio Spooler di stampa per inserire un token SYSTEM nella tabella.

Utilizzando la funzione RpcOpenPrinter recupera -handle per una stampante in base al nome. Modificando il nome in "\\127.0.0.1", il servizio si connette all'host locale.

Dopo la chiamata RPC, sono necessarie più richieste di I/O del dispositivo a WfpAleQueryTokenById per recuperare un token SYSTEM.

Yizhak afferma che questo metodo è più nascosto del primo perché la configurazione di una policy IPSec è un'azione tipicamente eseguita da utenti privilegiati legittimi come gli amministratori di rete.

“Inoltre, la politica non altera la comunicazione; nessun servizio dovrebbe esserne influenzato e le soluzioni EDR che monitorano l’attività di rete molto probabilmente ignoreranno le connessioni all’host locale”.

Una terza tecnica descritta nel post di Yizhak consente di ottenere il token di un altro utente connesso al sistema compromesso per scopi di movimento laterale.

Il ricercatore afferma che è possibile avviare un processo con le autorizzazioni di un utente registrato se il token di accesso può essere aggiunto alla tabella hash.

Ha cercato i server RPC (Remote Procedural Call) in esecuzione come utente che ha effettuato l'accesso ed ha eseguito uno script per trovare i processi eseguiti come amministratore del dominio ed esporre un'interfaccia RPC.

Per ottenere il token e avviare un processo arbitrario con le autorizzazioni di un utente registrato, il ricercatore ha abusato del servizio OneSyncSvc e di SyncController.dll, che sono nuovi componenti nel mondo degli strumenti offensivi.

È probabile che gli hacker e i penetration tester adottino le tre tecniche poiché segnalarle al Microsoft Security Response Center ha portato l'azienda ad affermare che il comportamento era quello previsto. Ciò in genere significa che non sarà disponibile una soluzione o un'attenuazione.

CONDIVIDERE