Red Hot Cyber
La cybersecurity è condivisione. Riconosci il rischio, combattilo, condividi le tue esperienze ed incentiva gli altri a fare meglio di te.
Cerca

Kerberoasting: Come FIN12 e APT40 Sfruttano il Protocollo Kerberos per Violare le Reti

Alessandro Molinari : 31 Dicembre 2024 08:47

In un panorama di minacce informatiche in continua evoluzione, è fondamentale per i professionisti della sicurezza rimanere informati sulle ultime tecniche di attacco e sulle strategie di difesa. Il Kerberoasting è una di queste tecniche, che negli ultimi anni ha guadagnato popolarità tra gli aggressori informatici, come dimostra l’aumento del suo utilizzo da parte di gruppi come FIN12, VICE SPIDER, APT40 e Akira.

Questo attacco, che prende di mira il protocollo di autenticazione Kerberos ampiamente utilizzato negli ambienti Active Directory di Microsoft consente agli aggressori di rubare credenziali e muoversi lateralmente all’interno di una rete, compromettendo potenzialmente interi sistemi e causando violazioni di dati, escalation di privilegi e interruzioni operative.

Questo articolo si propone di fornire un’analisi approfondita del Kerberoasting, esplorandone i meccanismi, le fasi di un attacco, gli strumenti utilizzati e le possibili contromisure. L’obiettivo è quello di rendere il concetto di Kerberoasting comprensibile sia agli esperti del settore che agli appassionati di cybersecurity, offrendo una panoramica completa e dettagliata di questa minaccia, come suggerito nel passaggio 7 delle istruzioni di ricerca.

Cos’è il Kerberoasting?

FINO AL 31 DICEMBRE, sconti estremi sui corsi Red Hot Cyber

Affrettati!

Fino al 31 dicembre potrai acquistare a prezzi scontati i nostri corsi cliccando sui seguenti coupon:

  • NIS2 : Network and Information system 2 scontato del 25%
  • Dark Web & Cyber Threat Intelligence scontato del 50%

  • Per ulteriori informazioni, scrivi a [email protected] oppure su Whatsapp al 379 163 8765


    Supporta RHC attraverso:


    Ti piacciono gli articoli di Red Hot Cyber? Non aspettare oltre, iscriviti alla newsletter settimanale per non perdere nessun articolo.

    Il Kerberoasting è una tecnica di attacco “post-compromissione”, il che significa che viene utilizzata dopo che un aggressore ha già ottenuto un punto d’appoggio all’interno di una rete. L’attacco sfrutta una debolezza intrinseca del protocollo Kerberos, che consente a qualsiasi utente autenticato nel dominio di richiedere “ticket di servizio” per gli account associati a un Service Principal Name (SPN).

    In parole semplici, un SPN è un identificativo univoco che associa un servizio a un account utente all’interno di Active Directory. Gli account di servizio sono utilizzati per eseguire applicazioni o servizi critici e spesso dispongono di privilegi elevati.

    Il problema è che questi ticket di servizio sono crittografati utilizzando l’hash della password dell’account di servizio. Se la password è debole o facilmente indovinabile, l’aggressore può estrarre il ticket e decifrarlo offline, ottenendo l’accesso all’account di servizio e ai suoi privilegi.

    Il protocollo Kerberos: Un breve ripasso


    FASE 1: Autenticazione Iniziale

    • Il client richiede un TGT
    • Pre-autenticazione con timestamp cifrato
    • Ricezione TGT e chiave di sessione TGS

    FASE 2: Richiesta Ticket Servizio

    • Presentazione TGT al TGS
    • Generazione autenticatore
    • Ricezione ticket servizio specifico

    FASE 3: Autenticazione al Servizio

    • Presentazione ticket servizio
    • Verifica mutua (opzionale)
    • Stabilimento sessione sicura

    Elementi di Sicurezza:

    • 🔐 Multiple chiavi di cifratura
    • ⏰ Timestamp per prevenire replay attack
    • 🎫 Ticket con tempo limitato di validità
    • 🔄 Autenticazione mutua opzionale

    Prima di addentrarci nei dettagli del Kerberoasting, è fondamentale comprendere il funzionamento del protocollo Kerberos. Kerberos è un protocollo di autenticazione progettato per garantire la sicurezza delle comunicazioni tra client e server in una rete. Il suo funzionamento si basa su un sistema di “ticket” che vengono rilasciati da un Key Distribution Center (KDC).

    Il KDC è un componente fondamentale di Kerberos e funge da autorità di fiducia per l’autenticazione. Quando un utente desidera accedere a un servizio, il suo client invia una richiesta al KDC. Il KDC verifica l’identità dell’utente e, se l’autenticazione ha esito positivo, rilascia un Ticket Granting Ticket (TGT). Il TGT è essenzialmente una “chiave” che consente all’utente di richiedere ticket di servizio (service ticket) per accedere a specifici servizi.

    I service ticket sono ciò che autorizza un utente ad accedere a un determinato servizio. Una parte di questo ticket è crittografata con l’hash della password dell’account del servizio, ed è proprio questo il punto debole che il Kerberoasting sfrutta.

    Sfruttamento di Kerberos nel Kerberoasting

    Gli aggressori sfruttano il fatto che qualsiasi utente autenticato può richiedere ticket di servizio, indipendentemente dai privilegi dell’account. Questi ticket, come menzionato in precedenza, sono crittografati con l’hash della password dell’account di servizio.

    Ottenendo un numero sufficiente di ticket, l’aggressore può poi tentare di decifrarli offline, utilizzando tecniche di forza bruta o dizionari. La debolezza di molte password degli account di servizio rende questo attacco spesso efficace.

    Le fasi di un attacco Kerberoasting

    fonte : https://www.stationx.net/how-to-perform-kerberoasting-attacks/

    Un attacco Kerberoasting si articola in diverse fasi:

    1. Compromissione di un account: L’aggressore inizia compromettendo un account utente nel dominio. Questo può avvenire tramite diverse tecniche, come il phishing, l’utilizzo di malware o l’acquisto di credenziali sul dark web.
    2. Enumerazione degli SPN: Una volta ottenuto l’accesso al dominio, l’aggressore utilizza strumenti specifici per identificare gli account di servizio con SPN registrati in Active Directory. Questo può essere fatto tramite query LDAP, come mostrato nell’esempio seguente:
    ldapsearch -h dc.domain.com -b "dc=domain,dc=com" -s sub "(servicePrincipalName=*)" -l userPrincipalName,servicePrincipalName
    1. Richiesta dei ticket di servizio: L’aggressore, sfruttando l’account compromesso, richiede al KDC i ticket di servizio per gli SPN identificati
    2. Estrazione dei ticket: I ticket di servizio vengono estratti dalla memoria del client utilizzando strumenti come Mimikatz o Rubeus.
    3. Cracking offline: L’aggressore utilizza strumenti di cracking offline, come John the Ripper o Hashcat, per decifrare i ticket di servizio e ottenere le password in chiaro degli account di servizio.
    4. Escalation dei privilegi: Con le password degli account di servizio, l’aggressore può ottenere privilegi elevati e muoversi lateralmente all’interno della rete, compromettendo altri sistemi e dati.

    Strumenti e tecniche di attacco

    Esistono diversi strumenti e tecniche che gli aggressori possono utilizzare per eseguire un attacco Kerberoasting. Alcuni degli strumenti più diffusi includono:

    StrumentoDescrizioneFunzionalità
    RubeusToolset per sfruttare KerberosEstrazione di ticket, cracking di ticket
    MimikatzEstrazione e decifrazione di ticket KerberosDump della memoria, estrazione di credenziali
    ImpacketCollezione di classi Python per lavorare con i protocolli di reteEsecuzione di attacchi di rete, inclusi Kerberoasting
    Nidem/KerberoastScript PowerShell per KerberoastingAutomazione dell’attacco
    John the RipperStrumento di cracking delle passwordForza bruta, dizionari
    HashcatStrumento di cracking delle passwordForza bruta, dizionari, GPU acceleration

    Approfondimento sugli strumenti:

    • Rubeus e Invoke-Kerberoast: Questi strumenti, spesso utilizzati in combinazione, permettono di automatizzare l’intero processo di Kerberoasting, dall’enumerazione degli SPN all’estrazione dei ticket.
    • Impacket: Offre una suite completa di strumenti per l’attacco, tra cui GetUsersSPNs.py, specifico per Kerberoasting.
    • Hashcat: L’utilizzo di GPU con Hashcat permette di accelerare notevolmente il processo di cracking, rendendo l’attacco più efficace.

    Contromisure e best practice

    Fortunatamente, esistono diverse contromisure che le organizzazioni possono adottare per mitigare il rischio di Kerberoasting:

    • Password robuste: Implementare policy di password robuste per tutti gli account di servizio, con una lunghezza minima di 15 caratteri, complessità (maiuscole, minuscole, numeri e simboli), casualità e rotazione regolare.
    • Managed Service Accounts (MSA): Utilizzare gli MSA per gli account di servizio, in quanto le password vengono gestite automaticamente dal dominio e sono più complesse e difficili da decifrare.
    • Limitazione dei privilegi: Limitare i privilegi degli account di servizio al minimo indispensabile, evitando di assegnarli al gruppo Domain Admins.
    • Monitoraggio degli eventi: Monitorare i log di Active Directory per individuare attività sospette, come un numero eccessivo di richieste di ticket di servizio da parte di un singolo utente. Ad esempio, monitorare l’Event ID 4769 per le richieste TGS, prestando attenzione al tipo di crittografia (0x17 per RC4-HMAC) e a eventuali anomalie.
    • Utilizzo di strumenti di rilevamento: Impiegare strumenti di rilevamento avanzati, come Vectra AI, che possono aiutare a identificare attività sospette indicative di Kerberoasting e altre tecniche di furto di credenziali.
    • Educazione degli utenti: Sensibilizzare gli utenti sui rischi del phishing e di altre tecniche di ingegneria sociale che possono essere utilizzate per compromettere gli account.

    Consigli pratici:

    • Configurazione delle policy di password: Utilizzare Group Policy per applicare le policy di password a tutti gli account di servizio. Definire regole specifiche per la lunghezza, la complessità e la rotazione delle password.
    • Monitoraggio dei log: Implementare un sistema di Security Information and Event Management (SIEM) per raccogliere e analizzare i log di Active Directory. Configurare alert per eventi sospetti, come un numero elevato di richieste TGS da un singolo IP.
    • Analisi delle vulnerabilità: Eseguire regolarmente scansioni di vulnerabilità per identificare account di servizio con password deboli o configurazioni errate.

    Rilevamento del Kerberoasting

    Rilevare un attacco Kerberoasting può essere complesso, in quanto molte azioni svolte dall’aggressore simulano il comportamento di un utente normale. Tuttavia, ci sono alcuni segnali che possono indicare un attacco in corso:

    • Richieste anomale di ticket di servizio: Un utente che richiede un numero elevato di ticket di servizio per diversi SPN in un breve periodo di tempo può essere un segnale di Kerberoasting.
    • Utilizzo di strumenti sospetti: L’esecuzione di strumenti come Mimikatz o Rubeus su una macchina client può indicare un tentativo di estrazione dei ticket.
    • Attività sospette nei log di eventi: Monitorare i log di eventi per identificare richieste TGS anomale, come quelle che utilizzano la crittografia RC4-HMAC (tipo 0x17).

    Tecniche di rilevamento avanzate:

    • Honeypot: Creare un account “esca” con un SPN associato a un servizio inesistente. Qualsiasi richiesta di ticket per questo SPN sarà un chiaro segnale di un attacco Kerberoasting.
    • Analisi del traffico di rete: Monitorare il traffico di rete per identificare comunicazioni anomale con il KDC, come un numero elevato di richieste TGS provenienti da un singolo client.

    Il futuro del Kerberoasting

    Nonostante le contromisure disponibili, il Kerberoasting rimane una minaccia persistente. L’evoluzione delle tecniche di attacco e l’utilizzo di strumenti sempre più sofisticati, come l’accelerazione GPU per il cracking delle password rendono necessario un continuo aggiornamento delle strategie di difesa.

    Possibili direzioni di ricerca e sviluppo:

    • Miglioramento delle tecniche di rilevamento: Sviluppare nuovi metodi per identificare gli attacchi Kerberoasting in modo più efficace, ad esempio utilizzando l’intelligenza artificiale e il machine learning.
    • Sviluppo di nuovi strumenti di prevenzione: Creare strumenti che impediscano l’estrazione dei ticket di servizio o che rendano più difficile il cracking offline.
    • Miglioramento della sicurezza del protocollo Kerberos: Introdurre nuove funzionalità di sicurezza nel protocollo Kerberos per renderlo più resistente agli attacchi.

    Conclusioni

    Il Kerberoasting rappresenta una minaccia reale e crescente per gli ambienti Active Directory. La sua efficacia è in aumento grazie all’utilizzo di GPU per accelerare le tecniche di cracking delle password. Tuttavia, con una corretta implementazione delle contromisure e una costante attenzione alla sicurezza, le organizzazioni possono ridurre significativamente il rischio di subire attacchi Kerberoasting e proteggere i propri dati e sistemi.

    È importante sottolineare che il Kerberoasting è solo una delle tante tecniche di attacco che gli aggressori possono utilizzare per compromettere gli ambienti Active Directory. Per una protezione completa, è fondamentale adottare un approccio olistico alla sicurezza, che includa la protezione delle identità, il monitoraggio delle attività sospette e l’aggiornamento costante delle policy di sicurezza. La sicurezza di Active Directory è un elemento cruciale per la sicurezza informatica di un’organizzazione, e la sua protezione richiede un impegno continuo e una strategia multilivello.

    Th3R3dP1ll
    Direttore di Crociera per 6 mesi all'anno, parla Italiano, Inglese, Tedesco, Francese, Spagnolo, Portoghese, Russo e sta attualmente studiando Giapponese (quest'ultima senza grandi risultati... :) ). Detiene Comptia A+ , Network+ , Security+ Pentest+ ed eJPT e sta studiando per eCCPT e PNPT. Nel tempo libero fa sport e legge/ascolta libri dai 60 ai 120 minuti al giorno. Sostiene che con grandi poteri arrivino grandi responsabilitá, come quelle di educare chi ha difficoltà a navigare il mondo digitale ed eventualmente difenderlo/a dai “pirati” e dalle entità che danneggiano il pianeta e la libertà delle persone. Sostiene inoltre che il futuro naturale della vita biologica sia la fusione ed integrazione con il digitale, transizione che tra l'altro è già iniziata con il movimento del transumanesimo del quale é sostenitore.