AS-REP Roasting: Kerberos Pre-Authentication Abuse (T1558.004)

AS-REP Roasting è una tecnica di Credential Access (TA0006) che sfrutta account Active Directory configurati senza il requisito di pre-autenticazione Kerberos. Quando un utente richiede un ticket, il flusso normale prevede che il client invii un timestamp cifrato con l'hash della password nel messaggio AS-REQ; il Domain Controller lo decifra per validare l'identità prima di rilasciare il Ticket Granting Ticket (TGT). Se il flag DONT_REQ_PREAUTH è impostato sull'account, il DC risponde con un AS-REP contenente materiale cifrato con la chiave derivata dalla password utente, senza aver mai verificato che il richiedente conosca la password stessa.

Questo materiale è tipicamente cifrato con algoritmi deboli come RC4-HMAC (etype 0x17), rendendolo vulnerabile a cracking offline con strumenti come Hashcat o John the Ripper. Chiunque abbia un account di dominio, anche non privilegiato, può enumerare via LDAP tutti gli account con pre-autenticazione disabilitata e raccogliere hash da attaccare senza generare eventi di autenticazione fallita.

Il valore per l'attaccante è duplice: opera con credenziali legittime già in possesso, non genera lockout, e le password recuperate abilitano Persistence, Privilege Escalation e Lateral Movement tramite Valid Accounts. Gli account tipicamente vulnerabili sono account di servizio legacy, applicativi con protocolli Kerberos datati, o configurazioni ereditate mai riviste. Anche un solo account service con password debole può compromettere l'intero dominio.

L'attività inizia con l'enumerazione degli account che hanno pre-autenticazione disabilitata. Con credenziali di dominio valide, anche di basso privilegio, si interroga LDAP filtrando gli oggetti user con l'attributo userAccountControl contenente il flag 0x400000 (DONT_REQ_PREAUTH).

Da PowerShell con il modulo Active Directory:

Get-ADUser -Filter 'useraccountcontrol -band 4194304' -Properties useraccountcontrol

In alternativa, con PowerView (open source, parte di PowerSploit) si usa Get-DomainUser -PreauthNotRequired. Da Linux, ldapsearch (open source) permette la stessa query con filtro (&(objectClass=user)(userAccountControl:1.2.840.113556.1.4.803:=4194304)).

La fase successiva è la raccolta degli hash AS-REP. Lo strumento di riferimento è Rubeus (S1071, open source), eseguito da un contesto autenticato:

Rubeus.exe asreproast /format:hashcat /outfile:hashes.txt

Rubeus enumera automaticamente gli account vulnerabili e richiede i TGT, restituendo hash pronti per il cracking. Da Linux, impacket-GetNPUsers (open source, parte di Impacket) è l'equivalente:

impacket-GetNPUsers dominio.local/ -usersfile users.txt -format hashcat -outputfile hashes.txt

Quando non si dispone di credenziali, si può fornire una lista di username presunti e testarli uno per uno: il DC risponderà con AS-REP solo per gli account vulnerabili, senza autenticazione richiesta. Questa modalità genera più rumore ma non richiede un account valido.

Il cracking offline avviene con Hashcat (open source) usando la modalità 18200 per AS-REP RC4:

hashcat -m 18200 hashes.txt wordlist.txt -r rules/best64.rule

In alternativa John the Ripper (open source) con il formato krb5asrep. Un hash RC4 con password debole (dizionario o lunghezza inferiore a 10 caratteri) cade tipicamente in minuti su GPU consumer.

In un engagement red team, dopo aver ottenuto le credenziali in chiaro, si valuta l'appartenenza dell'account a gruppi privilegiati con BloodHound (open source), mappando percorsi verso Domain Admins. Account di servizio con pre-auth disabilitata sono spesso membri di gruppi applicativi con permessi eccessivi, o hanno SPN registrati che aprono a Kerberoasting successivo.

In laboratorio, la simulazione richiede un DC Windows Server con almeno un utente configurato con Do not require Kerberos preauthentication attivo dalle proprietà dell'account in ADUC. Si consiglia di documentare timing, encryption type osservato e volume di query LDAP per validare le regole di detection SOC.

Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?

Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo

TEST GRATUITO
2 minuti · 7 domande Che professionista cyber sei? Scopri il profilo più vicino al tuo modo di pensare e inizia dal percorso giusto.