Daniel Petri

Negli ambienti Active Directory (AD), gli oggetti Criteri di gruppo (GPO) possono essere utilizzati per configurare gli script di accesso. Questi script possono essere strumenti potenti per gestire e automatizzare il processo di accesso per gli utenti e i computer nell'ambiente AD. È possibile assegnare e inserire tali script in qualsiasi GPO dell'organizzazione. Un'organizzazione di grandi dimensioni potrebbe avere decine o addirittura centinaia di policy di gruppo, ognuna delle quali contiene uno o più script di accesso, disattivazione, avvio e spegnimento, che insieme possono essere utilizzati per controllare molti aspetti dei profili degli utenti, delle applicazioni e delle impostazioni del desktop e molto altro ancora.

Ma come per la maggior parte dei vantaggi offerti da Active Directory, bisogna tener conto dell'altro lato della medaglia.

Con l'evoluzione e i cambiamenti dell'ambiente AD, aumenta la complessità delle GPO assegnate a domini, siti o unità organizzative (OU). Con il passare del tempo e con l'aggiunta di altri oggetti e di altri utenti dell'ambiente AD, quella che una volta era una struttura di GPO ben documentata e monitorata può diventare difficile da gestire, valutare e controllare. Gli autori di attacchi informatici lo sanno e approfittano degli script di accesso mal gestiti.

Cosa sono gli script di accesso GPO?

Gli script di accesso GPO sono una serie di comandi o istruzioni che vengono eseguiti automaticamente quando un utente accede a un computer. È possibile utilizzare questi script per mappare le unità di rete, assegnare le stampanti, eseguire applicazioni specifiche ed eseguire altre attività richieste durante il processo di accesso.

Per configurare uno script di accesso GPO, occorre innanzitutto creare una nuova GPO o modificare una GPO esistente che si applica agli utenti o ai computer che si desidera configurare. Dopo aver collegato la GPO al livello di dominio, sito o OU pertinente, è possibile utilizzare l'applicazione Editor Criteri di gruppo per specificare lo script da eseguire. Una volta configurata una GPO con lo script di accesso corretto, questo viene applicato a tutti gli utenti o computer a cui la GPO si rivolge.

Gli script non si limitano al processo di accesso. È anche possibile assegnare script di disattivazione che vengono eseguiti quando un utente si disconnette dal computer. Allo stesso modo, è possibile assegnare script di avvio o di arresto che vengono eseguiti rispettivamente quando il computer viene riavviato o spento. Questo post tratta specificamente gli script di accesso, ma lo stesso concetto si applica a tutti i tipi di script assegnati dalle GPO.

Come funzionano gli script di accesso?

Ogni GPO ha un file scripts.ini associato. Questo file è fondamentalmente un file di configurazione che viene creato automaticamente quando viene creata una GPO in AD. Il file viene utilizzato per memorizzare le informazioni sugli script assegnati alla GPO, compreso il percorso in cui lo script risiede su disco e l'informazione sull'esecuzione o meno dello script durante il processo di accesso, disconnessione, avvio o spegnimento.

Il file scripts.ini è memorizzato nella cartella SYSVOL di ogni controller di dominio (DC) e viene replicato in tutti i DC del dominio. Quando un utente accede a un computer unito al dominio, il file scripts.ini di ogni GPO pertinente viene letto per determinare quali script devono essere eseguiti.

Il file scripts.ini fornisce una posizione centrale per la memorizzazione delle informazioni sugli script assegnati a una GPO. Ciò semplifica la gestione e l'aggiornamento degli script in più GPO e aiuta a garantire l'esecuzione degli script corretti durante il processo di accesso.

Per configurare uno script di accesso GPO:

  1. Aprire l'Editor Criteri di gruppo.
  2. Passare alla sezione Configurazione utente o Configurazione computer, a seconda che si voglia applicare lo script di accesso agli utenti o ai computer.
  3. Accedere a Impostazioni di Windows.
  4. Selezionare Script (Accesso/Disconnessione).
  5. Specificare il percorso dello script da eseguire durante il processo di accesso.

Ogni volta che un utente si collega a un computer interessato dalla GPO, lo script corrispondente viene eseguito automaticamente, a seconda del tipo e dell'assegnazione dello script stesso. Uno script di accesso viene eseguito su qualsiasi computer a cui l'utente si collega; uno script di avvio viene eseguito indipendentemente dall'utente che si collega al computer (a seconda dell'assegnazione della GPO).

Script di accesso e sicurezza di Active Directory

Le vulnerabilità della sicurezza dei Criteri di gruppo sono un rischio comune per le organizzazioni che utilizzano AD. Gli intervistati nel nostro ultimo report Purple Knight hanno riportato un punteggio complessivo di sicurezza dei Criteri di gruppo di appena 63, un voto appena sufficiente. Data la potenziale influenza che gli script di accesso hanno sui computer, gli utenti, le risorse, i servizi, le applicazioni e i dati dell'organizzazione, è fondamentale garantirne la sicurezza e l'integrità.

Il monitoraggio della sicurezza degli script di accesso richiede l'enumerazione di tutte le GPO, l'analisi di tali GPO e la ricerca dei percorsi degli script di accesso. Per ridurre al minimo il rischio di accesso non autorizzato e di potenziali violazioni della sicurezza, è necessario verificare che gli script di accesso siano ben formati, monitorati e collocati in percorsi sicuri.

Gli aggressori che ottengono l'autorizzazione a modificare uno script di accesso possono manipolare lo script per creare nuovi file nei percorsi dello script. In questo modo, possono inserire malware nel percorso, portando non solo alla distruzione dei dati o alla crittografia a scopo di riscatto, ma anche a una presenza persistente sui computer di destinazione. Tale persistenza consente agli aggressori di accedere ai sistemi anche dopo un riavvio.

Cosa bisogna cercare quando si valutano gli script di accesso? Come punto di partenza, determinare:

  • Se un utente SID non noto (come gli utenti che non sono membri del gruppo di amministrazione dei domini) ha le autorizzazioni per il percorso dello script
  • A quali UO si applica la GPO
  • Quali impostazioni di ereditarietà o di applicazione si applicano alla GPO

Inoltre, controllate lo scripts.ini in ogni GPO e il set di autorizzazioni sul percorso.

Il monitoraggio regolare e continuo di tutti gli script di accesso è essenziale per la sicurezza di AD. Per facilitare questo compito, è possibile utilizzare strumenti come Purple Knight o Semperis Directory Services Protector (DSP). Questi strumenti sono in grado di enumerare tutte le GPO, analizzarle, trovare tutti gli script configurati dalle GPO ed esaminare i percorsi degli script, per poi mostrare queste informazioni in un report generato.

Mitigazione del rischio degli script di accesso

Per ridurre il rischio associato agli script di accesso:

  1. Esaminare il report della GPO e i risultati ottenuti.
  2. Rimuovere gli script non necessari dalle GPO dell'ambiente.
  3. Apportare le modifiche necessarie alle autorizzazioni assegnate ai percorsi e ai nomi dei file segnalati.
  4. Eseguire una nuova scansione dell'ambiente AD per determinare se sono necessarie ulteriori modifiche.

Mitigazione del rischio degli script di accesso utilizzando Purple Knight

La Figura 1 mostra i risultati di una scansione di Purple Knight che ha rilevato diversi problemi negli script di accesso alle GPO e nei loro percorsi.

Purple Knight scansione, che mostra i problemi dello script di logon GPO
Figura 1. Scansione di Purple Knight , che mostra i problemi dello script di logon GPO

Il rapporto mostra le GPO che hanno assegnato gli script, se il file è effettivamente esistente e se ad eventuali SID non noti sono assegnate autorizzazioni che dovrebbero essere esaminate.

Mitigazione del rischio degli script di accesso utilizzando DSP

La Figura 2 mostra un rapporto di scansione di DSP.

DSP scansione, che mostra i problemi dello script di logon GPO
Figura 2. Scansione di DSP , che mostra i problemi dello script di logon GPO

Questo rapporto spiega il concetto alla base degli indicatori, i risultati della scansione e le misure correttive suggerite.

La sicurezza dell'ambiente AD: un compito costante

In qualsiasi modo si scelga di monitorare gli script di accesso alle GPO, è necessario eseguire regolarmente una scansione di AD per assicurarsi che non siano state apportate modifiche non autorizzate ai privilegi di accesso e che non siano stati aggiunti script non controllati alle GPO. L'aggiunta di questa attività all'elenco delle cose da fare può salvare l'azienda dai problemi di un attacco informatico messo a segno.

Maggiori informazioni sulla sicurezza di AD