Tecniche di Ethical Hacking per Microsoft Active Directory

L’infrastruttura Microsoft Active Directory (AD) rappresenta il fulcro della gestione delle identità e degli accessi per un’ampia maggioranza di organizzazioni a livello globale. La sua centralità nel controllo dell’autenticazione, dell’autorizzazione e delle politiche di sicurezza lo rende un bersaglio primario per gli attacchi informatici. Un ambiente AD compromesso può portare a conseguenze devastanti, tra cui la perdita di dati sensibili, l’interruzione dei servizi e danni reputazionali significativi.

Per contrastare efficacemente queste minacce, le organizzazioni si affidano sempre più all’ethical hacking. Questo articolo si propone come una guida pratica e approfondita sulle tecniche di attacco più comuni rivolte ad Active Directory, illustrando come gli ethical hacker le replicano per scoprire debolezze, e fornendo indicazioni sui metodi di rilevamento e sulle strategie di mitigazione.

Perché Active Directory è un bersaglio critico?

Active Directory è un sistema complesso che gestisce migliaia di oggetti, interagendo tra loro attraverso intricate configurazioni, permessi e relazioni. Questa complessità, sebbene necessaria per la gestione di ambienti IT estesi, può anche nascondere configurazioni errate e vulnerabilità sfruttabili.

Dopo aver ottenuto un accesso iniziale a un ambiente con Active Directory, gli attaccanti malevoli conducono frequentemente una fase di enumerazione per raccogliere informazioni dettagliate sulla struttura, sugli oggetti, sulle configurazioni e sulle relazioni specifiche di ogni organizzazione. Acquisendo una comprensione approfondita dell’ambiente AD, spesso superiore a quella dell’organizzazione stessa, i cybercriminali possono mirare ai sistemi con una maggiore probabilità di successo, sfruttando debolezze e misconfigurazioni per escalare i privilegi, muoversi lateralmente all’interno della rete e, in ultima analisi, ottenere il controllo completo del dominio Active Directory.

Sebbene un accesso significativo possa essere ottenuto anche compromettendo altri account utente, come gli account di servizio, impedire agli attaccanti di acquisire i massimi privilegi è fondamentale per limitare la loro portata complessiva. Pertanto, proteggere Active Directory  dovrebbe rappresentare una priorità assoluta per tutte le organizzazioni.

Tecniche di attacco comuni su Active Directory

Gli ethical hacker, armati della conoscenza delle tattiche, tecniche e procedure (TTP) degli avversari reali, simulano una serie di attacchi comuni per valutare la sicurezza di Active Directory. Di seguito vengono illustrate alcune delle tecniche più diffuse:

Kerberoasting

Il Kerberoasting è una tecnica di attacco che sfrutta il sistema di autenticazione Kerberos per ottenere credenziali. Gli attaccanti cercano account utente (spesso account di servizio) che hanno un Service Principal Name (SPN) registrato. Un SPN identifica un’istanza di un servizio a cui è associato un account. Quando un utente richiede un ticket di servizio Kerberos (TGS) per un servizio con un SPN, il Key Distribution Center (KDC) rilascia un ticket crittografato con la password dell’account di servizio.

Gli attaccanti possono richiedere questi TGS e, poiché sono crittografati, possono essere scaricati e tentati di decifrare offline tramite attacchi di forza bruta per rivelare la password in chiaro dell’account di servizio. Una volta compromesso un account di servizio, gli attaccanti possono sfruttare i permessi associati a tale account, che in alcuni casi possono essere elevati.

Il Kerberoasting può essere rilevato analizzando gli eventi sui Domain Controller. Eventi con ID 4769 vengono generati quando viene richiesto un ticket TGS. Un numero elevato di richieste TGS per lo stesso account di servizio in un breve periodo o richieste con tipo di crittografia RC4 (valore ‘0x17’ nel campo “Ticket Encryption Type”), meno frequentemente utilizzato, possono indicare attività di Kerberoasting.
Inoltre, valori specifici nel campo “Ticket Options” (‘0x40800000’ o ‘0x40810000’), spesso utilizzati dagli strumenti di attacco, possono essere indicatori. Le modifiche agli account utente che aggiungono e rimuovono rapidamente SPN (eventi 4738 e 5136) possono anche suggerire tentativi di preparare un attacco Kerberoasting.

Mitigazione:

  • Utilizzare password complesse e uniche per tutti gli account, inclusi gli account di servizio.
  • Monitorare gli eventi di sicurezza sui Domain Controller alla ricerca di attività sospette correlate alle richieste di ticket Kerberos.
  • Applicare il principio del minimo privilegio, assicurandosi che gli account di servizio abbiano solo i permessi necessari per svolgere le loro funzioni.
  • Limitare l’uso di crittografia RC4 per i ticket Kerberos, ove possibile, poiché è più suscettibile ad attacchi di forza bruta.

AS-REP Roasting

La tecnica di AS-REP Roasting prende di mira gli utenti che hanno l’opzione “Do not require Kerberos preauthentication” abilitata sui loro account. In questa configurazione, quando un utente richiede un ticket di concessione ticket (TGT) al KDC (Authentication Server – AS), il KDC risponde con un TGT parzialmente crittografato utilizzando la password dell’utente come chiave, senza richiedere una pre-autenticazione.

Un attaccante può sfruttare questa impostazione per richiedere i TGT per gli account target. Il TGT ricevuto, sebbene non completamente utilizzabile senza la password, contiene informazioni che possono essere estratte e sottoposte a tentativi di cracking offline per recuperare la password dell’utente.

Il rilevamento di AS-REP Roasting può essere complesso poiché l’attività stessa è una richiesta di autenticazione Kerberos valida. Tuttavia, un numero elevato di richieste AS per account specifici con l’opzione “Do not require Kerberos preauthentication” abilitata, specialmente se provenienti da una singola origine sospetta, potrebbe essere un indizio. L’utilizzo di Active Directory canaries, account fittizi creati appositamente per essere letti da attaccanti durante la ricognizione, può aiutare a rilevare attività di enumerazione associate a questa tecnica.

Mitigazione:

  • Disabilitare l’opzione “Do not require Kerberos preauthentication” per tutti gli account utente, a meno che non sia strettamente necessario e giustificato da specifici requisiti applicativi.
  • Monitorare le modifiche agli account utente che potrebbero abilitare questa opzione.
  • Implementare Active Directory canaries per rilevare attività di ricognizione sospette.

Password spraying

Il Password Spraying è un attacco di forza bruta “a basso impatto” che tenta di autenticarsi a molteplici account utente utilizzando un numero limitato di password comuni. L’obiettivo è sfruttare password deboli o riutilizzate tra più account, minimizzando al contempo il rischio di blocco degli account a causa di troppi tentativi di accesso falliti su un singolo account. Le password utilizzate possono provenire da elenchi pubblici di password comuni o essere derivate da informazioni specifiche sull’organizzazione target per aumentare la probabilità di successo.

Se un attaccante riesce a compromettere un account tramite password spraying, ottiene il controllo di tale account e ne eredita accessi e privilegi. Questa tecnica è particolarmente efficace contro organizzazioni in cui il riutilizzo delle password è diffuso.

Il Password Spraying può essere rilevato monitorando i log di autenticazione sui Domain Controller alla ricerca di un gran numero di tentativi di accesso falliti provenienti da una singola origine IP o da un numero limitato di origini IP, diretti a un elevato numero di account utente diversi. I sistemi di Security Information and Event Management (SIEM) sono strumenti preziosi per correlare questi eventi e identificare pattern sospetti.

Mitigazione:

  • Applicare policy per password forti e complesse e imporre la loro rotazione periodica.
  • Implementare il blocco degli account dopo un numero limitato di tentativi di accesso falliti.
  • Abilitare l’autenticazione multi-fattore (MFA) per aggiungere un ulteriore livello di sicurezza.
  • Monitorare i log di autenticazione alla ricerca di attività sospette.
  • Educare gli utenti sull’importanza di password uniche e complesse e sui rischi del riutilizzo delle password.

DCSync

DCSync è una tecnica di attacco post-compromissione che consente a un attaccante con credenziali compromesse (spesso tramite l’ottenimento di privilegi di Domain Admin) di replicare i dati di Active Directory da un Domain Controller, inclusi gli hash delle password degli utenti e altri attributi sensibili. Questa tecnica sfrutta il protocollo di replica utilizzato dai Domain Controller per sincronizzare le informazioni tra loro.

Un attaccante che esegue un attacco DCSync può ottenere gli hash delle password di tutti gli utenti nel dominio, inclusi gli account con i privilegi più elevati, senza dover effettivamente accedere fisicamente o localmente a un Domain Controller. Questi hash possono poi essere utilizzati per attacchi offline di cracking delle password o per attacchi “pass-the-hash” per autenticarsi ad altri sistemi.

Il rilevamento di DCSync può essere impegnativo poiché sfrutta un protocollo di comunicazione legittimo. Tuttavia, è possibile monitorare gli eventi sui Domain Controller relativi alle richieste di replica. Eventi con ID 4662 che mostrano accessi a oggetti di Active Directory, in particolare l’oggetto Directory Service, da account non autorizzati per tali operazioni di replica, o un volume insolitamente elevato di traffico di replica proveniente da un host compromesso, possono essere indicatori di DCSync. L’utilizzo di Active Directory canaries può anche aiutare a rilevare tentativi di accesso agli oggetti canary associati a questa tecnica.

Mitigazione:

  • Proteggere rigorosamente gli account con privilegi elevati, limitando il numero di account membri dei gruppi Domain Admins ed Enterprise Admins.
  • Monitorare attentamente i log di sicurezza sui Domain Controller per rilevare attività di replica anomale.
  • Implementare il principio del minimo privilegio per tutti gli account.
  • Rafforzare la sicurezza degli endpoint per prevenire la compromissione di account con privilegi.

Golden Ticket

Un Golden Ticket è un ticket di concessione ticket (TGT) Kerberos forgiato che consente a un attaccante di autenticarsi a qualsiasi servizio all’interno del dominio Active Directory. Questa tecnica può essere eseguita se un attaccante ha compromesso l’account krbtgt, l’account di servizio utilizzato dal KDC per firmare tutti i ticket Kerberos. Ottenere l’hash della password dell’account krbtgt (spesso tramite DCSync) permette all’attaccante di creare TGT falsificati che sono considerati validi da tutti i membri del dominio.

I Golden Ticket garantiscono un accesso persistente e illimitato all’ambiente AD, consentendo agli attaccanti di eseguire qualsiasi azione come se fossero un amministratore di dominio, senza lasciare tracce significative di autenticazione dopo la creazione del ticket.

Il rilevamento di Golden Ticket è difficile poiché i ticket falsificati appaiono legittimi. Tuttavia, alcune anomalie possono essere rilevate:

  • Richieste di ticket con un intervallo di validità insolitamente lungo.
  • Richieste di ticket provenienti da host non Domain Controller per servizi sensibili che normalmente richiederebbero l’interazione con un DC.
  • Utilizzo di valori di PAC (Privilege Attribute Certificate) incoerenti.
  • Monitoraggio di modifiche non autorizzate all’account krbtgt (evento 4765 e 4766).

Mitigazione:

  • Proteggere estremamente rigorosamente l’account krbtgt. La password dovrebbe essere lunga, complessa e ruotata regolarmente (idealmente seguendo le best practice per la gestione delle chiavi di crittografia).
  • Monitorare attentamente i log di sicurezza sui Domain Controller alla ricerca di anomalie nelle richieste di ticket Kerberos.
  • Implementare soluzioni di rilevamento avanzate in grado di analizzare il traffico Kerberos alla ricerca di indicatori di Golden Ticket.
  • Seguire le best practice per la sicurezza degli account con privilegi, inclusa la minimizzazione del loro utilizzo e l’implementazione di jump server (bastion host).

Silver Ticket

Un Silver Ticket è un ticket di servizio Kerberos (TGS) forgiato che consente a un attaccante di ottenere l’accesso a uno specifico servizio su una specifica macchina all’interno del dominio Active Directory. A differenza del Golden Ticket, che richiede la compromissione dell’account krbtgt, un Silver Ticket può essere creato se un attaccante ha compromesso un account utente o computer con privilegi sufficienti per estrarre l’hash della password di un account di servizio specifico sulla macchina target.

Con un TGS falsificato, l’attaccante può autenticarsi direttamente al servizio target (ad esempio, il servizio file server tramite CIFS/SMB, LDAP, SQL Server o il servizio HOST per l’accesso tramite PowerShell Remoting) senza dover interagire con un Domain Controller per l’autenticazione del servizio.

Il rilevamento di Silver Ticket è particolarmente complesso poiché l’autenticazione è isolata tra l’attaccante e la macchina target, evitando i log sui Domain Controller. Per rilevare un Silver Ticket, è necessario analizzare gli eventi sulla macchina target. È meno comune che le organizzazioni registrino gli eventi di autenticazione su tutte le workstation e i server, rendendo più difficile l’individuazione. Monitorare gli eventi di sicurezza sulla macchina target relativi all’utilizzo dei servizi presi di mira, in particolare richieste di accesso anomale o non previste, può fornire indizi.

Mitigazione:

  • Proteggere rigorosamente le password degli account di servizio su ogni macchina.
  • Implementare il principio del minimo privilegio per tutti gli account utente e di servizio.
  • Monitorare i log di sicurezza non solo sui Domain Controller ma anche su server e workstation critici alla ricerca di attività di autenticazione anomale ai servizi.
  • Assicurarsi che il gruppo di sicurezza “Domain Computers” non abbia permessi di scrittura o modifica su alcun oggetto in Active Directory. Tutti gli oggetti computer sono membri di questo gruppo e, se dispone di diritti su altri oggetti, gli attaccanti potrebbero sfruttarli per compromettere altri sistemi ed escalare i privilegi.

Active Directory Certificate Services (AD CS) Compromise e Golden Certificate

La compromissione di Active Directory Certificate Services (AD CS) può portare a scenari di attacco avanzati, tra cui l’emissione di certificati fraudolenti per impersonare qualsiasi utente o servizio nel dominio. Se un attaccante ottiene l’accesso amministrativo a una Certification Authority (CA), può estrarre il certificato della CA e la chiave privata.

Una volta ottenuti, questi elementi possono essere utilizzati per forgiare Golden Certificates, ovvero certificati validi per l’autenticazione client che permettono di impersonare qualsiasi altro oggetto utente nel dominio. I certificati creati con la chiave privata della CA estratta sono considerati validi all’interno del dominio fino alla loro revoca. Se la revoca non viene gestita periodicamente, i certificati potrebbero rimanere validi indefinitamente, garantendo all’attaccante una persistenza a lungo termine sulla rete.

Il rilevamento di compromissioni AD CS richiede il monitoraggio degli eventi relativi alla gestione dei certificati e delle modifiche alle configurazioni della CA. Eventi con ID 4900 sui server CA indicano modifiche alle impostazioni di sicurezza dei template di certificato, che potrebbero introdurre condizioni vulnerabili come la modifica dei diritti di enrollment.

Mitigazione:

  • Proteggere rigorosamente i server AD CS, limitando l’accesso amministrativo.
  • Monitorare le modifiche ai template di certificato e alle autorizzazioni di enrollment.
  • Implementare controlli rigorosi sul processo di emissione e revoca dei certificati.
  • Utilizzare strumenti per identificare vulnerabilità AD CS come Certificate Manager (certmgr.msc), Certutil, PSPKIAudit e Certify.
  • Seguire le linee guida di hardening specifiche per AD CS.

Come avviene la simulazione degli attacchi

Gli ethical hacker conducono le loro simulazioni seguendo una metodologia strutturata che include fasi di pianificazione e ricognizione, scanning, exploitation e analisi e reporting. Tuttavia, a differenza di un penetration testing, l’ethical hacking coinvolge tecniche più avanzate, lo sviluppo di strumenti personalizzati per scoprire vulnerabilità nascoste e attacchi al fattore umano (Social Engineering).

Gli ethical hacker utilizzano una vasta gamma di strumenti per simulare attacchi contro Active Directory. Alcuni esempi includono:

  • Mimikatz: uno strumento potente per l’estrazione di credenziali dalla memoria, inclusi gli hash delle password, i ticket Kerberos e le chiavi della CA.
  • Metasploit Framework: un framework open-source utilizzato per sviluppare ed eseguire exploit, condurre attività di ricognizione e post-exploitation.
  • Acunetix e Nikto: scanner di vulnerabilità web che possono identificare debolezze nelle applicazioni web che interagiscono con Active Directory.
  • Strumenti personalizzati e script sviluppati per simulare TTP specifiche.

Una fase cruciale nel processo di ethical hacking è l’analisi dei risultati, che si basa ampiamente sul logging e sull’auditing. I log forniscono una registrazione dettagliata delle azioni intraprese dagli ethical hacker durante la simulazione, consentendo di ricostruire i percorsi di attacco, identificare le vulnerabilità sfruttate e valutare l’efficacia dei meccanismi di difesa. Proteggere l’integrità dei log e analizzare i dati in modo tempestivo è fondamentale per trasformare i risultati dell’ethical hacking in azioni concrete per migliorare la sicurezza informatica.

Se la sicurezza del vostro ambiente Active Directory è una priorità, considerate l’adozione di un approccio proattivo attraverso valutazioni di ethical hacking regolari per rimanere un passo avanti rispetto alle minacce in continua evoluzione.

Quali requisiti un ethical hacker deve avere per poter lavorare su Active Directory?

Un ethical hacker specializzato in Active Directory (AD) deve possedere un ampio spettro di competenze tecniche e metodologiche, data la complessità e la criticità di questo servizio di directory, spesso obiettivo primario degli attaccanti a causa del suo ruolo centrale nell’autenticazione e autorizzazione all’interno delle organizzazioni.

Innanzitutto, è fondamentale una conoscenza approfondita dell’architettura di AD, inclusi i suoi componenti principali come domini, foreste, trust relationship, Group Policy Objects (GPO) e la struttura degli oggetti (utenti, gruppi, computer). Deve comprendere i meccanismi di autenticazione (Kerberos, NTLM, LDAP) e le relative vulnerabilità, nonché le configurazioni spesso errate che possono esporre l’ambiente a rischi significativi.

Sul piano tecnico, l’ethical hacker deve padroneggiare tecniche avanzate di attacco specifiche per AD, tra cui:

  • Kerberoasting e AS-REP Roasting
  • Pass-the-Hash e Pass-the-Ticket 
  • DCSync
  • Golden Ticket e Silver Ticket 
  • Password Spraying e Brute Force

Deve inoltre essere esperto nell’uso di strumenti specializzati come:

  • BloodHound 
  • Mimikatz
  • Impacket 
  • ADExplorer e PingCastle 

Oltre alle competenze tecniche, è essenziale la conoscenza di framework e metodologie strutturate, come:

  • MITRE ATT&CK, per simulare tecniche reali utilizzate dagli avversari
  • Threat-Led Penetration Testing (TLPT), specialmente in contesti regolamentati come il settore finanziario (DORA, TIBER-EU)
  • OSCP/OSEP per approcci pratici all’exploitation

Un aspetto cruciale è l’utilizzo della threat intelligence per contestualizzare gli attacchi simulati, basandosi su minacce reali e attuali. L’ethical hacker deve anche rispettare rigorosamente scope definiti e autorizzazioni, garantendo che le attività siano condotte in modo etico e conforme alle normative.

Infine, deve essere in grado di documentare in modo chiaro e dettagliato le vulnerabilità individuate, i percorsi di attacco sfruttati e le raccomandazioni per la remediation, producendo report che supportino l’organizzazione nel rafforzare la propria sicurezza.

Formazione ed esperienza:

Oltre alle competenze tecniche, un ethical hacker che opera su Active Directory deve possedere una solida formazione e un’esperienza pratica consolidata. Data la complessità degli ambienti AD e l’evoluzione continua delle tecniche di attacco, è essenziale un percorso di apprendimento strutturato, che includa:

  • Certificazioni riconosciute nel campo della cybersecurity
  • Corsi specializzati su Active Directory, che coprano sia gli aspetti di amministrazione e hardening che quelli di ethical hacking, come Active Directory SecurityRed Teaming e AD Exploitation.
  • Partecipazione a laboratori pratici, che permettano di testare le abilità in scenari realistici, simulando attacchi avanzati e difese complesse.

L’esperienza sul campo è altrettanto cruciale. Un ethical hacker efficace deve aver maturato anni di pratica in penetration test, red teaming e valutazioni di sicurezza, affrontando ambienti AD in contesti organizzativi diversi. Solo attraverso un’esposizione continuativa a scenari reali è possibile sviluppare quella mentalità tattica necessaria per:

  • Identificare vulnerabilità non documentate o configurazioni errate non immediatamente evidenti.
  • Comprendere il comportamento degli avversari e anticipare le loro mosse.
  • Adattarsi a contesti regolamentati (come finanza o sanità), dove le valutazioni devono rispettare standard specifici (es. DORA, NIS2).

Infine, un ethical hacker deve mantenere un approccio di continuous learning, aggiornandosi costantemente su nuove minacce e strumenti emergenti. Forum specializzati, conferenze e threat intelligence sharing sono risorse preziose per restare al passo con un panorama cyber in continua evoluzione.

Lavorare su Active Directory come ethical hacker richiede una combinazione di competenze tecniche avanzate, conoscenza approfondita di AD, familiarità con strumenti e metodologie di attacco/difesa, capacità di analisi e reporting, oltre a una rigorosa aderenza a principi etici e normativi. Solo con questo approccio olistico è possibile identificare e mitigare efficacemente i rischi in ambienti AD, contribuendo a costruire infrastrutture più resilienti.