ReferenceCONSTRUCTED

Windows logon and Kerberos failure codes: 4625, 4776, 4768 and 4771

The status and sub-status codes in a failed Windows logon, the Kerberos result codes on the domain controller, and which combination is a typo, a locked account, a stale service or somebody guessing.

version 1.0checked 2026-09-26windows3 min read

T1110.001T1110.003T1078.002

Where a failure is written

Which event you get depends on the protocol and on which machine checked the password, and that decides where you have to look.

EventWritten onWhen
4625The machine the logon was attempted onAny failed logon, local or network
4776The domain controller, or the local machine for local accountsNTLM credential validation, success or failure
4768The domain controllerA Kerberos ticket-granting ticket was requested, success or failure
4771The domain controllerKerberos pre-authentication failed, most often a wrong password

A password spray against a domain using Kerberos produces 4771 on the domain controllers and nothing on the servers it was aimed at. A dashboard built only on 4625 from member servers never sees it.

4625 and 4776 status codes

4625 carries a Status and a Sub Status. When Status is 0xC000006D, the generic "unknown user name or bad password", the Sub Status is the real reason. 4776 reports the same NTSTATUS values as its error code.

CodeMeaningReading it
0xC000006ACorrect user name, wrong passwordTypos, or guessing. Many accounts from one source is a spray
0xC0000064The user name does not existEnumeration, or an application with a stale account name
0xC0000234The account is locked outThe consequence, not the cause. Find the failures before it
0xC0000072The account is disabledAttempts against leavers' accounts are worth a look
0xC000006FLogon outside permitted hours
0xC0000070Logon from a workstation the account is not allowed to use
0xC0000071The password has expiredCommonly a service or scheduled task still using an old password
0xC0000193The account has expired
0xC0000224The user must change the password at next logon
0xC000015BThe user has not been granted this logon type on this machineSomebody trying to log on in a way policy forbids, such as a service account interactively
0xC0000133Clocks out of sync between the client and the domain controllerKerberos fails beyond five minutes of skew by default
0xC0000413Blocked by the authentication firewallSelective authentication across a trust

Kerberos result codes, 4768 and 4771

CodeNameReading it
0x6KDC_ERR_C_PRINCIPAL_UNKNOWNThe user does not exist. In volume, from one source, it is enumeration
0x12KDC_ERR_CLIENT_REVOKEDDisabled, expired or locked out
0x17KDC_ERR_KEY_EXPIREDThe password has expired
0x18KDC_ERR_PREAUTH_FAILEDWrong password. The Kerberos equivalent of 0xC000006A
0x25KRB_AP_ERR_SKEWClock skew

On a successful 4768, Pre-Authentication Type 0 means pre-authentication is disabled for the account, which is what makes AS-REP roasting possible. Nothing should have that setting without a documented reason.

Reading a burst

  • Many accounts, one source, one or two failures each, 0xC000006A or 0x18. A password spray. Look for the success that follows from the same source.
  • One account, many failures, then 0xC0000234. Guessing, or a phone with an old password. The source address tells you which.
  • One account, steady failures with 0xC0000071 around the clock. A service, scheduled task or mapped drive still using an expired password. Noise, but it hides real failures behind it, so fix it.
  • 0xC0000064 across many made-up names. Somebody is trying to find out which accounts exist.

The password spray lab works the first pattern from the domain controller's side.

sources

  1. Microsoft Learn: 4625, An account failed to log on · primary
  2. Microsoft Learn: 4776, The computer attempted to validate the credentials for an account
  3. Microsoft Learn: 4768, A Kerberos authentication ticket (TGT) was requested
  4. Microsoft Learn: 4771, Kerberos pre-authentication failed

Tags: windows · event-logs · kerberos · ntlm · authentication · cheat-sheet · microsoft · T1110.003 · T1110.001