Cos'è l'Elevation of Privilege e perché è significativo?
Sep 5, 2018
L'escalation dei privilegi è una tattica comune presente in quasi ogni attacco informatico oggi. Insider malevoli, gruppi di ransomware e altri attori minacciosi spesso la utilizzano in combinazione con il movimento laterale per attraversare la rete di una vittima per ottenere accesso non autorizzato a risorse IT sensibili. Diritti di accesso elevati sono vitali per attività malevole, inclusi il furto di dati sensibili, l'interruzione delle operazioni aziendali e la creazione di backdoor per future fasi di un attacco. A causa dell'uso diffuso di Active Directory, gli attacchi di escalation dei privilegi su Windows sono più comuni degli assalti ai privilegi su Linux, tuttavia entrambi sono osservati allo stato brado.
Scarica la guida gratuita:
Perché i privilegi elevati sono importanti per gli aggressori
I privilegi elevati sono le chiavi del regno di cui gli attori delle minacce hanno bisogno per modificare le configurazioni di sistema, i permessi dei dati e i controlli di sicurezza. Gli aggressori di solito ottengono accesso a una rete utilizzando un account utente standard compromesso. L'innalzamento dei privilegi è ottenuto rubando le credenziali di un amministratore di sistema o di un account di servizio di alto livello; ciò consente l'accesso a server critici, dispositivi di rete, repository di dati e sistemi di backup.
Purtroppo, la capacità di elevare i privilegi è spesso facile anche per gli hacker poco sofisticati perché molte organizzazioni non dispongono di adeguate misure di sicurezza. Infatti, il controllo degli accessi è troppo spesso configurato pensando alla comodità piuttosto che all'applicazione del the principle of least privilege.
Privilege Escalation orizzontale vs verticale
Gli attacchi informatici coinvolgono spesso lo sfruttamento di qualche tipo di vulnerabilità, come un sistema non aggiornato, una configurazione impropria o un errore di programmazione. Una volta che un sistema è stato compromesso, l'attaccante esegue attività di ricognizione per identificare gli utenti privilegiati da compromettere e modi per aumentare i diritti di accesso degli account che già controllano.
Ci sono due tipi di escalation dei privilegi che gli attori delle minacce utilizzano:
- Escalation orizzontale dei privilegi — Un attaccante compromette un account e poi ottiene lo stesso livello di privilegi o permessi di un altro utente o applicazione su un sistema diverso. Ad esempio, dopo aver compromesso l'account di un utente di internet banking, un avversario potrebbe accedere all'account di un altro utente imparando il loro ID e password.
- Escalation di privilegi verticale (nota anche come elevazione di privilegio o EoP) — Un utente malintenzionato ottiene l'accesso a un account di livello inferiore e sfrutta una debolezza nel sistema per ottenere l'accesso amministrativo o di root a una risorsa o sistema. L'escalation di privilegi verticale richiede tecniche di attacco più sofisticate rispetto all'escalation di privilegi orizzontale, come strumenti di hacking che aiutano l'attaccante a ottenere accesso elevato a sistemi e dati.
Come avviene l'escalation dei privilegi?
Gli aggressori che tentano di eseguire azioni non autorizzate spesso utilizzano exploit per l'escalation dei privilegi. Questi exploit coinvolgono debolezze note o scoperte che riguardano un sistema operativo, un componente software o una cattiva configurazione della sicurezza. L'attacco di solito comporta questo processo in cinque fasi:
- Trova una vulnerabilità.
- Crea l'exploit di escalation dei privilegi correlato.
- Utilizza l'exploit su un sistema.
- Verifica se riesce a sfruttare con successo il sistema.
- Ottieni privilegi aggiuntivi se necessario.
Quali sono le principali tecniche di escalation dei privilegi?
Esistono molteplici tecniche di escalation dei privilegi che gli aggressori utilizzano. Tre delle più comuni sono:
- Manipolazione dei token di accesso
- Eludere il controllo dell'account utente
- Utilizzando account validi
Tecnica 1: Manipolazione del Token di Accesso
La manipolazione del token di accesso sfrutta il modo in cui Windows gestisce i privilegi di amministrazione. Un token di accesso viene creato da un sistema Windows al momento del login di un utente. Modificando un token di accesso, un avversario può ingannare il sistema consentendogli di eseguire un'attività di sistema o di accedere a un processo o servizio in esecuzione che richiede privilegi elevati.
Gli avversari possono sfruttare i token di accesso utilizzando uno dei tre metodi:
- Impersonare o rubare un token — Un avversario può creare un nuovo token di accesso che duplica un token esistente utilizzando la funzione DuplicateToken(Ex). Il token può poi essere utilizzato con la funzione ImpersonateLoggedOnUser per permettere al thread chiamante di impersonare il contesto di sicurezza di un utente connesso, o con la funzione SetThreadToken per assegnare il token impersonato a un thread.
- Creare un processo con un token — Questo accade quando un avversario crea un nuovo token di accesso con la funzione DuplicateToken(Ex) e lo utilizza con la funzione CreateProcessWithTokenW per creare un nuovo processo che funziona sotto il contesto di sicurezza dell'utente impersonato. Questo può essere utile per creare un nuovo processo sotto il contesto di sicurezza di un utente diverso.
- Impersonificazione del token — Qui un avversario possiede un nome utente e una password, ma l'utente non è connesso al sistema. L'avversario può creare una sessione di accesso per l'utente con l'aiuto di LogonUser La funzione restituirà una copia del token di accesso della nuova sessione, e l'avversario può utilizzare SetThreadToken per assegnare quel token a un thread.
Come mitigare questa minaccia
I token di accesso sono una parte integrante del sistema di sicurezza di Windows e non possono essere disattivati. Tuttavia, un attaccante deve già avere accesso a livello di amministratore per sfruttare appieno questa tecnica. Pertanto, è necessario assegnare i diritti di accesso in conformità con il principio del privilegio minimo e assicurarsi che tutti i diritti di accesso siano regolarmente riesaminati. È inoltre necessario monitorare attentamente gli account privilegiati e rispondere prontamente ai segni di attività sospette eseguite da questi account. Idealmente, è possibile sostituire quasi tutti gli account amministrativi permanenti con just-in-time access.
Tecnica 2: Eludere il Controllo dell'Account Utente
La funzionalità di controllo dell'account utente (UAC) di Windows funge da passaggio tra gli utenti normali e gli account con privilegi di amministratore. Limita il software applicativo ai permessi di utente standard fino a quando un amministratore non autorizza un aumento dei privilegi. Richiede a un amministratore di inserire le proprie credenziali per superare il prompt. In questo modo, solo le applicazioni fidate dall'utente possono ricevere privilegi amministrativi, impedendo al malware di compromettere il sistema operativo.
Questo meccanismo non è perfetto, tuttavia. Se il livello di protezione UAC di un computer è impostato su qualcosa che non sia il livello più alto, alcuni programmi Windows sono autorizzati ad elevare i privilegi o eseguire oggetti Component Object Model (COM) elevati senza prima richiedere conferma all'utente.
Come mitigare questa minaccia
È necessario controllare regolarmente l'ambiente IT per le comuni vulnerabilità di bypass dell'UAC e gestire i rischi in modo appropriato. Un'altra buona pratica è rivedere regolarmente quali account si trovano nei gruppi di amministratori locali su tutti i sistemi Windows e rimuovere gli utenti regolari da questi gruppi. Puoi farlo utilizzando Group Policy o Intune.
Tecnica 3: Utilizzo di Account Validi
Gli avversari possono utilizzare tecniche di accesso alle credenziali come il credential stuffing, la manipolazione degli account o l'ingegneria sociale per compromettere le credenziali degli utenti legittimi. Possono persino ottenere l'accesso a sistemi e servizi remoti utilizzando una VPN o una connessione desktop remota. Uno dei principali problemi qui è la sovrapposizione di credenziali e permessi all'interno della rete perché gli avversari potrebbero essere in grado di passare da un account all'altro e da un sistema all'altro per raggiungere un livello di accesso superiore, come Domain Admin o Enterprise Admin.
Come mitigare questa minaccia
Uno dei modi più efficaci per mitigare questa minaccia è applicare una forte password policy per tutti gli account che include requisiti di lunghezza e complessità delle password. Inoltre, cambiate regolarmente le password di tutti gli account amministrativi e utilizzate password uniche per l'account amministratore locale su ogni sistema per impedire agli aggressori di muoversi lateralmente a piacimento attraverso la rete compromettendo un singolo account amministratore locale.
È anche importante monitorare l'ambiente IT per comportamenti utente sospetti che potrebbero indicare una minaccia in corso. La rilevazione precoce è imperativa.
Come proteggersi dall'escalation dei privilegi
Anche se non esiste un modo per proteggere completamente il tuo ambiente da hacker e insider malintenzionati che intendono aumentare i privilegi, puoi ridurre il rischio di escalation dei privilegi rafforzando le superfici di attacco dei sistemi operativi e del software dei tuoi endpoint e applicando il principle of least privilege per tutte le risorse. Dovresti anche richiedere l'autenticazione multifattore per garantire una maggiore sicurezza quando è giustificato, in base al rischio associato all'attività che si sta tentando. Esegui regolari valutazioni del rischio per rilevare e valutare i rischi per i tuoi file sensibili e prendi misure per proteggere i dati in conformità con il loro valore.
Molte imprese utilizzano qualche tipo di soluzione di Privileged Access Management (PAM). La Netwrix Privileged Access Management Solution ti offre visibilità sui privilegi in tutti i tuoi sistemi e applicazioni. Ti avvisa quando vengono creati o modificati nuovi account privilegiati e scopre account privilegiati di cui potresti non essere nemmeno a conoscenza. In breve, ti mette al comando dei privilegi in tutto il tuo patrimonio IT.
Combinando una soluzione di Privileged Access Management (PAM) con l'adesione alle migliori pratiche di sicurezza, è possibile bloccare l'escalation dei privilegi e il movimento laterale per evitare perdite di dati, interruzioni aziendali e sanzioni per non conformità.
Condividi su
Scopri di più
Informazioni sull'autore
Dirk Schrader
VP della Ricerca sulla Sicurezza
Dirk Schrader è un Resident CISO (EMEA) e VP of Security Research presso Netwrix. Con 25 anni di esperienza nella sicurezza informatica e certificazioni come CISSP (ISC²) e CISM (ISACA), lavora per promuovere la cyber resilience come approccio moderno per affrontare le minacce informatiche. Dirk ha lavorato a progetti di cybersecurity in tutto il mondo, iniziando con ruoli tecnici e di supporto all'inizio della sua carriera per poi passare a posizioni di vendita, marketing e gestione prodotti sia in grandi multinazionali che in piccole startup. Ha pubblicato numerosi articoli sull'esigenza di affrontare la gestione dei cambiamenti e delle vulnerabilità per raggiungere la cyber resilience.
Scopri di più su questo argomento
Esempio di Analisi del Rischio: Come Valutare i Rischi
Il Triangolo CIA e la sua applicazione nel mondo reale
Creare utenti AD in massa e inviare le loro credenziali tramite PowerShell
Come aggiungere e rimuovere gruppi AD e oggetti nei gruppi con PowerShell
Attributi di Active Directory: Ultimo accesso