Event ID 4771: Kerberos pre-authentication failed

Written on domain controllers when a Kerberos logon fails before a ticket is issued, most often because of a wrong password.

Log
Security
Category
Kerberos

Why it matters

  • Failure Code 0x18 is a wrong password. Many 0x18s across many accounts from one client is password spraying.
  • Kerberos failures do not appear as 4625 on the domain controller, so spraying can be missed if you only watch 4625.

What to check

Group by Client Address and Failure Code, and check the spread of Account Names.

How to turn it on

Advanced Audit Policy on domain controllers: Account Logon > Audit Kerberos Authentication Service (Failure).

Kerberos failure codes

CodeNameMeaning
0x6KDC_ERR_C_PRINCIPAL_UNKNOWNThe user name does not exist.
0x12KDC_ERR_CLIENT_REVOKEDThe account is disabled, expired or locked out.
0x17KDC_ERR_KEY_EXPIREDThe password has expired.
0x18KDC_ERR_PREAUTH_FAILEDWrong password.
0x25KRB_AP_ERR_SKEWClocks on the client and domain controller are too far apart.
0xEKDC_ERR_ETYPE_NOSUPPThe requested encryption type is not supported.

MITRE ATT&CK

  • T1110.003 Password Spraying
  • T1110 Brute Force