Why is the Active Directory krbtgt account password reset twice during eradication?
answer
- the KDC signs tickets with one domain key
- forged tickets ignore user password resets
- the directory keeps a previous key too
- wait for replication between the two
- service tickets are signed with another key
basics
~20 sActive Directory keeps the current and the previous krbtgt key, so one reset leaves the old key valid and forged tickets minted with it still work. Reset twice, allowing the first change to replicate to every domain controller in between.
solid answer
~50 sThe key derived from the krbtgt account password is what the KDC uses to sign and encrypt ticket-granting tickets, so an adversary who steals it can mint a TGT for any principal with any group membership and any lifetime, and that forged ticket survives every user password reset in the domain. Only changing krbtgt invalidates it. Active Directory keeps a password history of two for the account, so after a single reset the previous key is still accepted and the forgery still validates; you need two resets to push the stolen key out of history. Between them you must let the first change replicate to every domain controller, and in practice also let issued tickets age out, or you break Kerberos for controllers still holding the older key. Sequence the whole thing after the adversary has lost the access that let them steal the key, otherwise they simply take the new one.
go deeper
Know that a forged ticket-granting ticket is signed with a single domain-wide key, so resetting the impersonated users' passwords does nothing to it.
Explain the two-deep key history that makes one reset insufficient, and why the first change must replicate to every domain controller before the second.
Show that you sequence the reset after the adversary has lost domain-controller access, plan the window with application owners, and reset harvested service and computer accounts too.
Own the cost side: a domain-wide ticket invalidation is a business event, so weigh the disruption window against continued forged-ticket access and get it scheduled, not improvised.
## What the krbtgt key is In a Kerberos realm backed by Active Directory, the key distribution centre issues a ticket-granting ticket to an authenticated principal and protects that ticket with a key derived from the password of a special domain account named `krbtgt`. When the principal later asks for a service ticket, the KDC unwraps the TGT with that same key and trusts what it finds inside, including the user identity and the group security identifiers that end up in the access token on the target service. That design is what makes the key so valuable to an intruder. An adversary who has obtained the krbtgt key material, typically after reaching domain-controller-level privilege, can construct a TGT offline for any principal they like: a non-existent user, a real user, with domain-admin group membership and an arbitrary lifetime. This forged ticket is what the industry calls a golden ticket. It requires no further contact with the compromised account, and crucially it is unaffected by resetting the passwords of the users it impersonates, because the KDC never re-checks a password when it unwraps a TGT. ## Why one reset is not enough Active Directory retains two keys for the krbtgt account: the current one and the immediately previous one. The previous key is kept so that tickets issued shortly before a change keep working while the change propagates. The consequence during eradication is direct: after a single reset, the stolen key is now the previous key, and it still validates. A golden ticket forged with it is still accepted. A second reset pushes the stolen key out of that two-deep history. Only then is the forgery dead. Note that you do not choose the password; the directory generates the krbtgt secret itself, so the operation is a reset rather than a password you pick. ## Why you wait in between The two resets are not back to back. The first change has to replicate to every domain controller in the domain. If you reset again before convergence, a controller still holding the pre-reset key ends up two generations behind and cannot validate tickets issued by its peers, which produces broad authentication failures. The safe rule is to confirm replication has reached every controller, including any that were offline or on a slow link, and in practice to allow the maximum ticket lifetime as well (ten hours by default for a TGT) so that legitimate tickets minted under the old key have aged out. On a large or partially reachable forest that turns a two-command job into a planned operation with verification between the steps. ## What the double reset does not fix - **Silver tickets.** A forged service ticket is protected with the key of the target service account or computer account, not with the krbtgt key. Resetting krbtgt twice leaves those forgeries intact. Any service or computer account whose key the adversary harvested has to be reset in its own right. - **Trust keys.** Where domain or forest trusts exist, the inter-realm trust key is a separate secret and needs separate treatment if the adversary could have taken it. - **A key stolen again.** The reset is meaningless if the adversary still holds the privilege that let them extract the key in the first place. If they retain code execution or replication rights on a domain controller, they will simply take the new key. This is why krbtgt sits late in the containment sequence, after the access paths that reach domain controllers have been cut, and why the operation is planned rather than done reflexively at the first sign of trouble. - **Everything outside Kerberos.** Certificates, application credentials, cloud tokens and federation signing keys are untouched. ## Blast radius and how it is felt A krbtgt reset invalidates every TGT in the domain, so principals re-authenticate. For interactive users this is mostly transparent, but long-running services, scheduled processes and applications holding delegated credentials can throw errors during the window, and anything mid-transaction may fail. Do it with a change record, with the application owners told a window is coming, and with someone watching authentication failure rates on both sides of each reset. Verification afterwards is behavioural rather than declarative: watch for ticket-related failures settling back to baseline, and watch for renewed use of the impersonated identities, which would tell you the adversary still has a path to the key.
- Does the double reset invalidate a forged service ticket for a file server?No. A service ticket forgery is protected with the key of that service or computer account, not with the krbtgt key, so it survives the krbtgt reset entirely. You have to reset the affected service and computer accounts separately. This is why the eradication list from a domain-level compromise is a list of accounts derived from what the adversary could reach, not a single krbtgt action.
- What breaks if you run the two resets back to back?Domain controllers that have not yet replicated the first change end up more than one generation behind and cannot validate tickets issued by controllers that have. The symptom is widespread Kerberos authentication failure concentrated on sites or controllers with slow or broken replication. Confirm convergence on every controller, including offline ones, before the second reset.
- When in the incident should the krbtgt reset happen?After the adversary has lost the privileged access that let them extract the key. Resetting while they still hold domain-controller-level access simply gives them a new key to steal and burns your one clean opportunity. It is a planned step with a change window, application owners warned, and authentication failure rates watched on both sides of each reset.
The directory keeps a spare copy of the old lock cylinder so late arrivals can still get in; changing the lock once leaves that spare in the drawer, so you have to change it twice.
saying these in an interview costs you the question
- Says a single krbtgt reset invalidates golden tickets
- Runs both resets immediately with no replication wait
- Thinks resetting user passwords kills a forged TGT
- Believes krbtgt reset also kills forged service tickets
- Resets krbtgt while the adversary still holds domain controller access