Leggendo leggendo mi sono imbattuto in una infographics veramente interessante.
Devo ammettere che le infographics mi attirano per la loro capacità di rappresentare concetti in modo chiaro e immediato attraverso schemi o disegni. Tale modo di rappresentazione stuzzica spesso la mia curiosità e così é stato anche stavolta.
Si tratta di un post su LinkedIn pubblicato su un gruppo (Ethical Hackers Academy) in cui sono rappresentati dieci metodi per attaccare Active Directory (AD).
E così, ho pensato fosse opportuno approfondire un attimo in quanto più di una volta mi sono reso conto che sono in tanti a pensare che avere un dominio AD possa essere risolutore della sicurezza.
Come tutti i sistemi, AD apporta dei benefici alla sicurezza ma non è priva di limiti e di vulnerabilità (e ancora più spesso di cattiva configurazione!) e di ciò parleremo in questo articolo.
Ma cos'é Active Directory?
Un servizio directory, come Active
Directory, fornisce i metodi per archiviare i dati della directory e
renderli disponibili agli
utenti e agli amministratori della rete. Active Directory archivia
informazioni sugli account utente, ad esempio nomi, password, numeri di
telefono e così via, e consente ad altri utenti autorizzati nella stessa
rete di accedere a tali informazioni.
Active Directory utilizza un archivio dati strutturato come base per
un'organizzazione logica e gerarchica delle informazioni di directory e contiene informazioni
sugli oggetti Active Directory. Questi oggetti
includono in genere risorse condivise quali server, volumi, stampanti e
account utente e computer di rete. La protezione è integrata con
Active Directory tramite l'autenticazione di accesso e il controllo di
accesso agli oggetti nella directory. Con un unico accesso di rete, gli
amministratori possono gestire i dati di directory e l'organizzazione
in tutta la rete e gli utenti di rete autorizzati possono accedere alle
risorse ovunque sulla rete. L'amministrazione basata su policy
semplifica la gestione anche della rete più complessa.
Non dimentichiamo dunque che AD assolve a determinate funzioni e non tutte sono funzioni di sicurezza. AD funge da repository centralizzato per alcuni dati, tali dati possono essere replicati e disseminati in una organizzazione complessa per garantire elevata disponibilità di alcuni servizi, svolge funzioni di sicurezza consentendo l'uso di vari tipi di autenticazione, GPO e flussi di lavoro, svolge funzioni di audit su alcuni eventi che possono verificarsi nel sistema di Identity Management quali la user autentication e inoltre può svolgere funzioni di Single Sign On.
Visto il numero e l'importanza delle funzioni occorre dunque prestare particolare attenzione e porsi una domanda: cosa accade se si attacca AD?
Bene, senza voler essere esaustivo ecco alcuni tipi di attacchi che è opportuno studiare per renderli innoqui o quanto meno per accorgersi di essere sotto attacco.
Kerberoasting. Secondo la definizione di CROWDSTRIKE, si tratta di una tecnica di post-exploitation attack (attaco che tende ad estendere ed elevare le proprie credenziali quando si è già all'interno di un sistema). Questo attacco consiste nell'ottenere l'hash della password di un account AD che utilizza il servizio SPN (Service Principal Name: servizio di Identity Management). Ottenuto l'hash, l'attaccante decifra la password e a questo punto ha tutto ciò che gli occorre per impersonare l'utente e avere così accesso a tutte le reti o sistemi cui esso è autorizzato.
Password Spraying attack. Sempre secondo CROWDSTRIKE, questo tipo di attacco consiste nel provare una stessa password contro un elenco di utenti sulla stessa applicazione. Si tratta dunque di un attacco di Brute Force, più facile da nascondere rispetto al più comune attacco contro un singolo utente con password multiple. In questo casoActive Directory è impiegato dall'attaccante per raccogliere una lista di utenti attivi sul sistema, ma tale raccolta di informazioni può essere fatta anche in altri modi, per cui a mio parere non è corretto considerare tale tipo di attacco tra quelli che prendono di mira active directory. E passiamo al terzo.
Local Loop Multicast Name Resolution (LLMNR). Si tratta di un protocollo che permette la risoluzione dei nomi in una rete locale grazie all'impiego di un pacchetto multicast alla porta UDP 5355. In questo caso AD, se non contiene nella sua GPO l'indicazione di non utilizzare LLMNR, fa il gioco dell'attaccante. Anche in questo caso non si tratta di una debolezza di AD ma di una valutazione (si spera) dell'amministratore di rete, infatti in alcuni casi l'uso di LLMNR è utile, anche se oggigiorno tali casi si sono ridotti tantissimo.
Pass-the-hash usando Mimikatz. Questa tecnica di attacco consiste nel furto di credenziali da AD. Credenziali che poi possono essere impiegate per effettuare movimenti laterali all'interno dell'ambiente attaccato. Per effettuare questo attacco occorre estrarre le hash delle password degli utenti del dominio, che si trovano nel file Ntds.dit, assieme ad altre informazioni su oggetti e gruppi. Quindi grazie all'uso di uno strumento chiamato Mimikatz è possibile utilizzare le hash per effettuare l'attacco, impersonando qualsiasi utente del dominio.
LDAP Reconnaissance. La tecnica chiamata LDAP Reconnaissance consiste in un attacco condotto dall'interno del sistema e che mira a raccogliere informazioni dal LDAP. Tali informazioni sugli user posso poi essere impiegate per condurre attacchi mirati più sofisticati.
BloodHound Reconnaissance. BloodHound è uno strumento che consente la ricerca di vulnerabilità in AD, ma non solo. BloodHound sfrutta la teoria dei grafi per identificare relazioni nascoste, permessi, sessioni e possibili percorsi d'attacco in un dominio windows. In teoria il suo scopo è quello di aiutare gli esperti di cybersecurity nella difesa del loro dominio, ma naturalmente può essere usato anche da un attaccante.
C'è da dire che in linea di massima non si tratta di attacchi o
strumenti specifici per AD ma sono spesso validi anche contro altri
sistemi.
Nell'elenco dei dieci attacchi sono poi comprese delle
tecniche di attacco veramente generiche, non direttamente implicanti AD, in
particolare: default credentials, hard-coded credentials, privilege
escalation. Queste tecniche non sono esclusivamente contro AD ma sono
utilizzabili contro qualunque sistema informatico.
Mi chiedo sempre il perchè delle cose, in particolare quando scrivo.
Un titolo può avere molta influenza nell'attirare o meno lettori e non sempre i lettori fanno abbastanza attenzione a ciò che leggono. Il risultato è il solito: si viene influenzati, a favore o contro un determinato soggetto o idea.
In questo caso, dei dieci metodi di attacco contro Active Directory, volendo essere di manica larga, al massimo sei possono essere presi in considerazione. In ogni caso ringrazio Ethical Hackers Academy per avermi dato il là ad un piccolo approfondimento.
Alessandro Rugolo
P.S: Come sempre un grazie agli amici di SICYNT che hanno voluto contribuire con suggerimenti e correzioni.
Per approfondire:
- https://www.linkedin.com/posts/mohessa511_activedirectory-kerberos-attack-activity-7091528783609905152-uWIE?utm_source=share&utm_medium=member_desktop
- https://www.crowdstrike.com/cybersecurity-101/kerberoasting/
- https://thebackroomtech.com/2018/08/21/explanation-of-service-principal-names-in-active-directory/
- https://www.crowdstrike.com/cybersecurity-101/password-spraying/
- https://www.blackhillsinfosec.com/how-to-disable-llmnr-why-you-want-to/
- https://www.blackhillsinfosec.com/?s=Active+Directory
- https://www.advantio.com/blog/attacking-active-directory-by-llmnr-nbsn
- https://blog.netwrix.com/2021/11/30/passing-the-hash-with-mimikatz/
- https://blog.netwrix.com/2021/11/30/extracting-password-hashes-from-the-ntds-dit-file/
- https://www.netwrix.com/ldap_reconnaissance_active_directory.html
- https://blog.netwrix.com/2022/12/09/bloodhound-active-directory/
- https://learn.microsoft.com/pdf?url=https%3A%2F%2Flearn.microsoft.com%2Fen-us%2Fsecurity%2Fprivileged-access-workstations%2Ftoc.json;
- https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/plan/security-best-practices/best-practices-for-securing-active-directory;
- https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/plan/security-best-practices/reducing-the-active-directory-attack-surface.