
In Active Directory, gli account utente non sono gli unici ad avere una password: anche gli oggetti computer dispongono di una password, generata e gestita automaticamente dal dominio. Pensare che siano inviolabili è un errore comune.
L’attacco Timeroast sfrutta il modo in cui il protocollo Kerberos gestisce le richieste NTP (Network Time Protocol). Un attaccante (anche non autenticato) può inviare richieste NTP al Domain Controller, ottenendo in risposta un “message authentication code” (MAC). Questo MAC è generato usando come chiave l’hash NTLM della password del computer, combinato con il “salt” timestamp.
Ottenendo questo hash, l’attaccante può poi tentare di forzare offline (brute-force) la password del computer, compromettendone così l’account senza disporre di un Initial Access.
Più semplicemente, immaginate che il Domain Controller sia un custode che risponde sempre alla domanda “Che ore sono?” e lo fa, inviando un messaggio cifrato. Per cifrarlo usa la password segreta del computer (che nessuno dovrebbe conoscere) insieme all’ora esatta. L’attaccante chiedendo continuamente l’ora, otterrà tanti messaggi cifrati. A questo punto, prenderà questi messaggi e proverà a scoprire la password provando varie combinazioni, finché non individuerà quella corretta.
Il Tool che vi segnalo sfrutta l’attacco di Timeroast per estrarre gli hash NTLM (“salted”) delle password degli account computer, craccabili in modalità 31300 di Hashcat.
In alternativa, possiamo usare netexec sul protocollo SMB, richiamando il modulo (-M) timeroast
Download: https://github.com/SecuraBV/Timeroast