Ricerche sulle CyberMinacce

Identificazione degli attacchi alle Group Policy

Un threat hunt analizza tre modifiche apportate dagli aggressori a una Active Directory compromessa e spiega come comprenderle e superarle

In questo post parleremo degli attacchi alle Group Policy, basando la caccia alle minacce su un’indagine sul ransomware condotta dal team X-Ops Incident Response di Sophos all’inizio di quest’anno. Analizzeremo i comportamenti dannosi associati agli attacchi di Active Directory e Group Policy, mostrandovi come indagare e porre rimedio ad alcune di queste minacce.

Gran parte del materiale contenuto in questo post è illustrato anche nel video “Identificazione degli attacchi alle Group Policy”, ora disponibile sul nostro nuovo canale YouTube Sophos X-Ops. Il video mostra una caccia e una bonifica (utilizzando Sophos Live Response – una funzionalità chiave di Sophos Intercept X Advanced con XDR, il nostro strumento di indagine standard, anche se i cacciatori possono replicare questi passaggi su qualsiasi shell Windows).

Questo post presenta lo stesso materiale, ma fornisce le informazioni a video in un formato user-friendly.

Il caso

Nel seguente caso di ransomware Cyclops, l’aggressore ha ottenuto l’accesso iniziale all’ambiente sfruttando una vulnerabilità ProxyShell per violare un server Exchange privo di patch. Quattro giorni dopo aver ottenuto il primo accesso, l’aggressore ha avviato l’esecuzione dell’attacco utilizzando comandi PowerShell codificati dalla shell Web del server Exchange.

L’aggressore ha proceduto a disattivare la protezione degli endpoint come tecnica di evasione della difesa e a cancellare i log degli eventi di Windows e la cronologia del browser Internet. In seguito, ha sfruttato il protocollo RDP (Remote Desktop Protocol) per effettuare un movimento laterale verso altri computer della rete. Sia il malware di comando e controllo Cobalt Strike che il software di accesso remoto AnyDesk sono stati installati su più macchine per mantenere l’accesso. Un giorno dopo, l’aggressore ha utilizzato l’accesso alla rete per esfiltrare i dati su diversi provider di hosting di cloud storage.

Successivamente, l’aggressore ha sfruttato le Group Policy di Active Directory per distribuire il binario del ransomware Cyclops ai computer del dominio, creando anche una Group Policy per eseguirlo tramite attività pianificate. Nella fase finale dell’attacco, il malintenzionato ha eliminato i backup delle shadow copy. I computer del dominio hanno eseguito l’attività pianificata, eseguendo il binario del ransomware Cyclops, criptando i file e inviando note di riscatto.

Perché prendere di mira le Group Policy?

Gli attacchi alle Group Policy sono un segnale di un attacco più ampio ad Active Directory. In una di tali aggressioni, i malintenzionati possono sfruttare gli oggetti Group Policy esistenti, come il percorso UNC, per eseguire payload dannosi da posizioni meno sicure preimpostate in una GPO, oppure possono intercettare le password utente impostate tramite Group Policy con l’attributo vulnerabile cpassword.

Una volta che un aggressore ha ottenuto l’escalation dei privilegi, spesso crea delle GPO per raggiungere obiettivi vasta scala, come la disabilitazione del software e delle funzioni di sicurezza principali, tra cui firewall, antivirus, aggiornamenti di sicurezza e logging. Può anche utilizzare le GPO per distribuire strumenti dannosi attraverso la creazione di attività pianificate, script di avvio o di login o servizi per mantenere la persistenza ed eseguire il malware.

Buona caccia

Gli investigatori iniziano un processo di indagine e bonifica del ransomware raccogliendo le testimonianze delle vittime e i dati scientifici disponibili. Utilizzando gli strumenti a disposizione, cercano gli indicatori di compromissione negli artefatti scientifici standard, come i log degli eventi di Windows, la cronologia di PowerShell, gli elementi di avvio, le shellbag, le attività pianificate, la shim cache e così via.

Quando si esegue un’analisi, se si riscontrano prove sincronizzate o ricorrenti, è possibile che si tratti di un’indicazione chiave di un attacco alle Group Policy. Ad esempio, quando un’attività pianificata o l’esecuzione di un file viene rilevata su più macchine, ciò indica un’esecuzione remota o l’uso delle Group Policy. Quando i log di sistema indicano l’uso di strumenti di distribuzione del software o l’assenza di Windows Management Instrumentation ciò significa che probabilmente le Group Policy sono state compromesse. L’uso della sincronizzazione dannosa è particolarmente evidente durante il triage, quando le attività pianificate persistenti ricompaiono sui sistemi dopo essere state rimosse.

Una volta riscontrato il sospetto di un attacco alla Group Policy, gli investigatori devono esaminare tutti i suoi oggetti sul controller di dominio, utilizzando il comando PowerShell get-GPO -All per elencarli tutti. Filtrare i risultati

Get-GPO -All | Sort-Object ModificationTime -Descending | Format-Table DisplayName, ModificationTime, CreationTime 

permette all’investigatore di vedere gli orari di modifica e creazione, cercando incroci con altri fatti del caso. L’ordinamento in base alla data dell’ultima modifica dei file può portare a eventuali GPO create o modificate dall’aggressore. A questo punto, è utile per l’investigatore generare un report delle GPO per ulteriori indagini.

Get-GPOReport -All -ReportType Html -Path "C:\Windows\Temp\Sophos_GPOReport.html” 

Esaminando il report delle GPO è possibile individuare lo scopo di tutti gli oggetti delle Group Policy con nomi sospetti. Nel caso Cyclops reso anonimo per il nostro video, abbiamo identificato tre GPO dall’aspetto sospetto, che per motivi di anonimizzazione abbiamo chiamato ” Pawn”, ” Rook” e ” Queen”.

  • Nel caso di Pawn, l’aggressore ha utilizzato la GPO per installare un’attività pianificata sui computer del dominio al fine di eseguire il programma rook.exe.
  • La GPO Rook viene utilizzata per copiare il file rook.exe sui computer collegati al dominio da una condivisione amministrativa sul file server. Poiché sarebbe logico per l’aggressore fare esattamente questo con il malware, andiamo immediatamente sul sistema locale per vedere se una copia è ancora disponibile, utilizzando Get-ItemProperty “C:\Windows\rook.exe”. Se è disponibile, un investigatore può ottenere il valore dell’hash di questo file (usando Get-FileHash “C:\Windows\rook.exe”) e controllarlo con VirusTotal per vedere se è noto come dannoso; questo hash fornisce anche i mezzi per bloccare il file nel sistema. È consigliabile conservare un campione del malware per ulteriori analisi scientifiche.
  • La GPO Queen configura gli stati di Windows Firewall su Off. Sembra inoltre che Queen disabiliti le protezioni antimalware di Windows Defender, compresa la capacità di scansione in tempo reale.

Come migliorare la situazione

Una volta identificati i comportamenti dannosi nell’ambiente, è possibile iniziare il contenimento e la correzione tramite lo strumento di gestione delle Group Policy sul server di gestione di Active Directory.

Per prima cosa, è necessario affrontare il problema di Queen, che sta compromettendo le operazioni di Windows Firewall e Windows Defender. La disattivazione di questa policy impedirà a tali impostazioni di sovrascrivere le configurazioni locali predefinite di Windows.

Poi tocca a Rook essere eliminato dalla scacchiera. Disattivando questa policy, si impedirà che il malware rook.exe venga copiato su altri computer della rete. L’eseguibile del malware dovrebbe anche essere inserito nella lista nera delle impostazioni globali dell’intera rete. In questo modo si eliminerà la possibilità di eseguire il malware in futuro, ad esempio in caso di un nuovo tentativo di attacco o nel caso in cui un backup infetto tenti di ricaricare l’eseguibile. (Una buona igiene dei backup è un argomento importante da considerare per i difensori, ma esula leggermente dallo scopo di questo articolo).

Infine, occorre rimediare all’attività pianificata dannosa denominata Pawn. La disabilitazione di questa GPO impedisce ulteriori distribuzioni dell’attività pianificata ai computer del dominio. L’esecuzione di questi passaggi di correzione aiuterà a prevenire la diffusione di attività dannose in tutta la rete.

Tutti e tre questi passaggi comportano la disattivazione delle GPO dannose, ma non basta; una corretta bonifica comporta l’adozione di misure che eseguono l’azione o le azioni opposte a quelle intraprese dalle GPO dannose. Questo può essere fatto su scala con GPO o con altre piattaforme di gestione dei dispositivi. Un’altra opzione, che alcune aziende potrebbero preferire, è il rollback. Se si sceglie quest’ultima soluzione, si raccomanda vivamente di controllare il materiale archiviato per verificare la presenza di infezioni o alterazioni indesiderate.

Ringraziamenti

Elida Leite e Rajat Wason hanno contribuito a questa ricerca.