AS-REP Roasting
AS-REP Roasting is a quick way to steal password hashes. It targets Active Directory accounts with pre-auth off. First, you ask the DC for the AS-REP. Then the DC sends back a hash. So you crack that hash offline. Also, the attack is quiet. So no alarm fires. And you need no admin rights.

What is AS-REP Roasting?
In short, AS-REP Roasting abuses one flag: DONT_REQ_PREAUTH. Normally the DC checks your password first. However, with pre-auth off, it skips that check. As a result, it replies to anyone. Therefore any user can roast the account.
Keep these facts in mind:
First, the hash lives in the AS-REP reply.
Next, you crack it offline. So lockout never trips.
Also, nothing is logged. Thus it stays quiet.
Finally, old service accounts are easy targets.
Who can run AS-REP Roasting?
First, any domain user can roast these accounts. Second, open LDAP lets you roast with no login. In that case, you just need a name list. So the bar is very low.
Find AS-REP Roastable accounts
First, list the targets. This keeps your footprint small. Also, it makes your goal clear. Then the filter finds every account with pre-auth off.
sAMAccountName: svc-backup sAMAccountName: jdoe
Request the AS-REP hashes
Next, request the hashes. Your tool depends on what you hold. For example, impacket-GetNPUsers works with any login. Then it asks the DC for each account. So you get every AS-REP hash at once.
With a domain login
First, pass a user and a password. Then the tool roasts all pre-auth accounts. Finally, it saves the hashes to a file.
[email protected]:1a2b3c4d5e6f...
Without a login
However, you do not always need a login. If open bind is on, use a name list. First, build the list. Then roast the names for AS-REP hashes.
[email protected]:3e4f5a6b...
Crack the AS-REP hashes
Now crack the loot offline. These AS-REP hashes use etype 23. Therefore Hashcat mode 18200 fits them. Also, weak passwords fall fast. So rockyou often cracks them.
[email protected]:1a2b3c... → Backup2023!
Force AS-REP Roasting with GenericWrite
Sometimes no account has pre-auth off. However, you can force it. First, you need write rights on a target. Then you flip the flag and roast. Finally, you flip it back.
Follow these steps in order:
First, turn off pre-auth on the target.
Then request the AS-REP hash.
Next, crack it offline.
Finally, turn pre-auth back on.
After the roast
Finally, use what you cracked. One password often opens more doors. So map the account first. Then pivot with care.
First, map rights with Object Enumeration.
Then reuse the password with AD Password Spraying.
If it grants admin, try Pass-the-Hash.
Also, read the AS-REP Roasting service page.
Related
References
-
Impacket — GitHubgithub.com/fortra/impacket (opens in new tab)
GetNPUsers reference for AS-REP hash request
-
NetExec (nxc) — GitHubgithub.com/Pennyw0rth/NetExec (opens in new tab)
asreproast module reference
-
BloodyAD — GitHubgithub.com/CravateRouge/bloodyAD (opens in new tab)
add uac / remove uac for DONT_REQ_PREAUTH manipulation
Was this helpful?
Your feedback helps improve this page.