Huy Kha | Architetto senior per l'identità e la sicurezza

Per i cyberattaccanti, ottenere l'accesso al sistema di identità è solo l'inizio del loro viaggio all'interno dell'organizzazione. Una volta che hanno sfruttato una delle decine di tecniche di attacco per entrare, vogliono mantenere la loro presenza ed eludere il rilevamento, aumentando i privilegi, muovendosi lateralmente attraverso l'organizzazione e raccogliendo informazioni vitali lungo il percorso.

Per aiutare i penetration tester e i team di sicurezza a rilevare e prevenire i cyberattacchi, sono disponibili diversi strumenti di post-exploitation, tra cui un nuovo strumento progettato specificamente per gli ambienti Active Directory (AD): Cable.

Sebbene gli strumenti di post-exploitation siano disponibili per favorire l'apprendimento e lo sviluppo di strategie di difesa, possono essere utilizzati anche dagli aggressori. In questo articolo, quindi, analizzeremo come difendersi da un attore malintenzionato che utilizza Cable.

Qual è lo strumento di post-sfruttamento del cavo?

Cable è uno strumento di post-exploitation scritto in .NET e utilizzato per interagire con AD. Consente agli operatori di enumerare utenti, gruppi, computer, trust e autorità di certificazione, nonché di modificare le autorizzazioni sugli oggetti AD. Come mostra la Figura 1 , i moduli di Cable supportano azioni come l'impostazione dei Service Principle Names (SPN), la gestione delle appartenenze ai gruppi e lo sfruttamento della delega vincolata basata sulle risorse (RBCD).

Figura 1. Il menu della guida di Cable mostra i moduli disponibili per l'enumerazione e lo sfruttamento di Active Directory.

Figura 2 mostra le opzioni disponibili in Cable ldap che si concentra sull'interrogazione degli oggetti di Active Directory. Supporta l'enumerazione di utenti, computer e gruppi, nonché ricerche più mirate come account con SPN, delega non vincolata o adminCount set to 1. Queste opzioni sono utili per identificare gli account che potrebbero essere mal configurati o che rappresentano un rischio maggiore, o un'opportunità, dal punto di vista di un attaccante.

Figura 2. Il ldap in Cable offre una serie di opzioni per enumerare gli oggetti chiave di AD e identificare gli account con attributi interessanti come SPN, delega non vincolata o pre-autenticazione Kerberos mancante.

Ad esempio, utilizzando il metodo Cable /spns (Figura 3) permette di enumerare gli account con un SPN configurato, che è un passaggio comune in Attacchi di Kerberoasting. Questi account possono essere presi di mira richiedendo un ticket di assistenza, che può poi essere forzato in modo brutale offline per cercare di recuperare la password.

Figura 3. Il cavo può essere utilizzato per enumerare gli account utente con SPN impostati, un'operazione comune durante la ricognizione di AD per identificare potenziali obiettivi di Kerberoasting.

Come difendersi dal cavo

Cable utilizza le query LDAP per identificare i punti deboli specifici di Active Directory, come i server con delega non vincolata, gli account senza pre-autenticazione Kerberos, gli account vulnerabili a Kerberoasting e altro ancora.

Sia Semperis Directory Services Protector (DSP)(Figura 4) che il nostro strumento comunitario gratuito, Purple Knightscansionano anche i punti deboli di AD, compresi i problemi specifici che lo strumento Cable affronta.

Figura 4. Questo esempio di output di DSP evidenzia vari indicatori di sicurezza di Active Directory.

Ad esempio, come si può vedere nella Figura 5, la DSP include diversi indicatori di esposizione (IOE) che rilevano i rischi legati agli SPN.

Figura 5. DSP evidenzia gli IOE legati all'SPN, compresi gli account con delega non vincolata, gli utenti privilegiati con SPN impostati e altro ancora.

Esempio: Rilevamento dell'uso del cavo in AD

Un metodo di attacco comune, Enterprise CA Security Configuration (ESC1), coinvolge i servizi di certificazione di Active Directory (AD CS), dove è possibile abusare di modelli di certificato mal configurati o troppo permissivi per scalare i privilegi ad amministratore di dominio o equivalente.

Ad esempio, durante la ricognizione, un utente malintenzionato potrebbe scoprire che i computer di dominio hanno diritti di iscrizione a un modello di certificato configurato con l'opzione ENROLLEE_SUPPLIES_SUBJECT e il flag Client Authentication EKU (Figura 6), una combinazione che può aprire un percorso per l'escalation dei privilegi.

Figura 6. Questo esempio mostra un modello di certificato vulnerabile, in cui qualsiasi computer di dominio può richiedere un certificato con l'opzione ENROLLEE_SUPPLIES_SUBJECT e Client Authentication EKU, creando un percorso per l'escalation dei privilegi tramite ESC1.

Nel nostro esempio, in cui i computer di dominio sono autorizzati a iscriversi a un modello di certificato vulnerabile, un utente malintenzionato può utilizzare Cable per creare un nuovo oggetto computer (Figura 7) per sfruttare l'opzione predefinita ms-DS-MachineAccountQuota e quindi richiedere un certificato utilizzando quel modello.

Figura 7. Il cavo viene utilizzato per creare un nuovo oggetto computer (EvilPC) sfruttando l'impostazione predefinita di MachineAccountQuota impostazione.

Inoltre, l'aggressore può ora utilizzare runas.exe per autenticarsi come account del computer appena creato e richiedere un certificato dal modello ESC1 vulnerabile(Figura 8). Ciò consente di impersonare qualsiasi utente dell'ambiente, compreso un amministratore di dominio.

Figura 8. L'aggressore utilizza Certify per richiedere un certificato da un modello vulnerabile (ESC1) impersonando l'account Administrator.

All'interno di DSP, la recente modifica di Active Directory che ha creato un oggetto informatico dannoso è stata rilevata e registrata con successo(Figura 9).

Figura 9. DSP registra la creazione dell'oggetto computer EvilPC, catturando l'operazione, la classe dell'oggetto e le modifiche agli attributi.

Ora che i privilegi di amministratore di dominio sono stati ottenuti, un utente malintenzionato può utilizzare Cable per creare una backdoor RBCD modificando l'account del computer del controller di dominio di destinazione. Aggiungendo l'oggetto computer controllato all'account msDS-AllowedToActOnBehalfOfOtherIdentity (Figura 10), si concedono di fatto la possibilità di impersonare qualsiasi utente, compresi gli obiettivi di alto valore per quel sistema, in qualsiasi momento.

Figura 10. Il cavo viene utilizzato per aggiungere l'account del computer EvilPC$ al sistema di gestione dei dati. msDS-AllowedToActOnBehalfOfOtherIdentity del controller di dominio DSP, creando di fatto una backdoor RBCD..

Cable supporta l'esecuzione di query LDAP, che possono essere utilizzate per verificare se un account ha un valore impostato per l'opzione msDS-AllowedToActOnBehalfOfOtherIdentity attributo. Come Figura 11 mostra che il controllore di dominio selezionato riflette la delega configurata.

Figura 11. Il cavo viene utilizzato per eseguire una query LDAP che conferma che l'utente msDS-AllowedToActOnBehalfOfOtherIdentity è impostato sul controller di dominio di destinazione DSP, verificando che la configurazione RBCD sia stata eseguita.

DSP ha inoltre rilevato e registrato con successo la modifica del file msDS-AllowedToActOnBehalfOfOtherIdentity sull'account del computer del controllore di dominio interessato (Figura 12).

Figura 12. DSP registra la modifica del msDS-AllowedToActOnBehalfOfOtherIdentity sull'account del computer DSP, mostrando l'esatta modifica e l'utente responsabile.

All'interno di DSP, viene analizzato anche il descrittore di sicurezza impostato su questo attributo, consentendo di vedere esattamente quale account di computer è stato aggiunto a msDS-AllowedToActOnBehalfOfOtherIdentity (Figura 13).

Figura 13. DSP analizza l'intero set di descrittori di sicurezza del msDS-AllowedToActOnBehalfOfOtherIdentity che mostra chiaramente che l'account del computer EvilPC$ è stato aggiunto e conferma la presenza di una backdoor RBCD.

Caso d'uso RBCD: Annullamento automatico delle modifiche al cavo

Il DSP consente di creare regole di allarme e di risposta e, poiché il sistema msDS-AllowedToActOnBehalfOfOtherIdentity attributo non deve mai essere modificato nell'account del computer di un controller di dominio.è possibile configurare il DSP in modo che rilevi automaticamente questa modifica e attivi un'azione di azione di auto-undo (Figura 14).

Figura 14. In questa configurazione di regole DSP , abbiamo impostato il rilevamento dell'abuso di RBCD in modo specifico per i controller di dominio. Il filtro LDAP utilizzato è (&(objectCategory=computer)(userAccountControl:1.2.840.113556.1.4.803:=8192))

La Figura 15 mostra un esempio di DSP che esegue un'azione di annullamento automatico, riportando automaticamente la modifica allo stato precedente.

Figura 15. DSP esegue un rollback automatico, ripristinando l'impostazione di msDS-AllowedToActOnBehalfOfOtherIdentity sul controllore di dominio DSP.

Istantanea Semperis

Directory Services Protector offre alle organizzazioni visibilità sulle modifiche all'interno dell'ambiente Active Directory. Come abbiamo dimostrato, DSP non solo rileva le modifiche ad alto rischio come la manipolazione di attributi sensibili quali msDS-AllowedToActOnBehalfOfOtherIdentity ma risponde anche a tali modifiche in modo automatico, riportando le modifiche indesiderate allo stato precedente.

Per saperne di più sul rilevamento e la risposta alle minacce all'identità