How Active Directory Sign-In Works
How a Windows domain checks who you are, step by step, and what each step leaves behind.
What a Domain Sign-In Is
In a Windows domain, accounts do not live on each machine. They live on servers called domain controllers, and every machine in the domain trusts them to say who an account is. When you sign in, or reach a file share or another service, your machine and the server you are reaching both rely on a domain controller to prove your identity.
That proof uses one of two protocols, Kerberos or NTLM. Knowing which one ran, and what each one writes to the logs, tells an investigator where to look for the trace of a sign-in.
Kerberos: What It Is and Why It Exists
Kerberos is the protocol Windows uses by default to prove who an account is in a domain, and it works with tickets. When you sign in, a domain controller checks your identity once and gives your machine a ticket-granting ticket (TGT), a sealed note that says who you are. Your machine keeps the TGT and reuses it until it expires, so you are not asked for your password again.
To reach a service, such as a file server, your machine shows the TGT to the domain controller and asks for a service ticket for that one service. It then presents the service ticket to the server. The server can trust the ticket without calling the domain controller, because the domain controller sealed it with the server's own key, which only the two of them hold.
Kerberos fixes two weaknesses of NTLM, the older protocol described next. With NTLM a server has to ask a domain controller about every client that signs in, while a Kerberos ticket already carries what the server needs. NTLM also gives a client no way to check that the server is genuine, and Kerberos lets each side check the other.
Microsoft calls Kerberos version 5 the preferred way to sign in to Active Directory. The service that checks identities and issues the tickets is the key distribution centre (KDC). It runs on every domain controller and keeps its accounts in the Active Directory Domain Services database, so Kerberos needs Active Directory.
NTLM: What It Is and Where It Is Still Used
NTLM is the older family of protocols that Windows used before Kerberos, and it proves an account with a challenge and a response. The server sends a random challenge, and the client answers with a value computed from the account's password. The server checks the answer itself for a local account, or asks a domain controller to check it for a domain account.
NTLM has not gone away. Windows still uses it when Kerberos cannot run. That happens when a machine is in a workgroup instead of a domain, when the account is local to the machine, or when a program names the server by its IP address. Some applications also call NTLM directly.
The choice is usually made for you. A program that asks Windows for Negotiate gets Kerberos unless one of the machines cannot use it, or the program gave no name that Kerberos can use, such as a server's IP address. In those cases it gets NTLM.
Microsoft deprecated every version of NTLM in June 2024, which means it is no longer under active feature development, though it still works. Its version 1, NTLMv1, was removed starting with Windows 11 version 24H2 and Windows Server 2025. In January 2026 Microsoft said the next major Windows Server release and its client releases will block NTLM sign-ins across the network by default. New policy controls will let administrators turn them back on, and Microsoft gave no date.
Until then NTLM still appears in real sign-ins, so an investigator has to know both protocols and the different events each one leaves.
How to Use This Topic
Read these three sections first, then step through the messages below one at a time. Each step shows what travels between the machines, which key seals it, what the receiver checks and what it writes to which log. The table under the window, Who Holds Which Key, says what each of those keys is made from and which machines hold it. Every page in the sidebar then explains one message or one idea in full.
The section Where a Sign-In Is Logged, on the Authentication and Authorisation page, gathers the sign-in events in one table, with the log each one lands in and the audit setting that switches it on.
This message: ws-017 to dc-01 Request for a TGT KRB_AS_REQ Kerberos, port 88
dana signs in on ws-017 and opens \\srv-fin-01\finance.
ws-017 Client
- dana's key
- TGT
- TGT session key
- service ticket
- service session key
dc-01 Domain controller
- dana's key
- krbtgt key
- srv-fin-01 key
srv-fin-01 File server
- srv-fin-01 key
- service session key
Step 1 of 6
AS Request
ws-017 asks dc-01 for a ticket-granting ticket (TGT) for dana, proving she knows her password without sending it.
What Travels in This Step
Each part says what it holds, which key protects it and who can read it.
ws-017 Client to dc-01 Domain controller
dana's name
cname, realmWho is signing in, which is dana in the realm CORP.EXAMPLE.
In the clear Anyone who sees the traffic can read it.
The ticket wanted
snameA ticket-granting ticket, named krbtgt/CORP.EXAMPLE.
In the clear Anyone who sees the traffic can read it.
Encryption types
etypeThe types ws-017 supports, in its order of preference.
In the clear Anyone who sees the traffic can read it.
Pre-authentication
PA-ENC-TIMESTAMPThe current time, sealed so that only a holder of her key could have made it.
Encrypted with dana's AES key Only ws-017 and dc-01 can open it.
What dc-01 Checks
dc-01 opens the timestamp with its copy of dana's key and accepts it only within five minutes of its own clock, the default tolerance.
Logged
4771 Kerberos pre-authentication failed
On dc-01, in the Security log On failure
Failure Code 0x18 when the timestamp does not open with her key, which means a wrong password.
A success is logged once, as event 4768 in dc-01's Security log, when dc-01 answers. A name that does not exist logs 4768 with Result Code 0x6.
Attacks That Hook in Here
These attacks use this step. Each says what it is and what it does here.
- Password SprayingOne guessed password tried against many accounts, over Kerberos and NTLM.At This Step Each guess, account after account, is one of these requests. A wrong password logs 4771 in dc-01's Security log with Failure Code 0x18.
- AS-REP RoastingAsks for a TGT for an account that skips pre-authentication, then guesses offline.At This Step This request normally proves the password. An account set not to need that proof is answered without it, so anyone can get its reply.
- Overpass-the-HashUses a stolen NT hash or AES key to get a real TGT, turning a hash into Kerberos.At This Step The proof here is a timestamp sealed with the account's key, so a stolen NT hash (the RC4 key) or AES key makes it as the password would.
- Skeleton KeyPatches LSASS on a DC so one master password signs in as any account.At This Step A DC patched in memory also accepts this proof made from one master password, for any account, in RC4 where the account would use AES.
- Certificate Services AbuseGets a certificate that signs in as another account, often a Domain Admin.At This Step With certificate sign-in a certificate replaces this request's timestamp, so one wrongly issued in an admin's name signs in as that admin.
- Shadow CredentialsA key added to an account lets a certificate sign in as it, past a password reset.At This Step A certificate is the proof here, for an account that never uses one, so the event 4768 in dc-01's Security log shows certificate fields.
- Delegated Managed Service Account AbuseA superseded service account hands a new managed account its reach.At This Step A sign-in as the dMSA logs a routine event 4768 in dc-01's Security log, so the lead is the 5136 that pointed it at a privileged account.
Who Holds Which Key
Every message in the window is sealed or proved with one of these keys. The table says what each key is made from, which machines hold it from the start or receive it during a sign-in, and what someone who stole it could do.
| Key | Made From | Held By | If Stolen |
|---|---|---|---|
| dana's key | It is made from her password, which the domain keeps as an NT hash and as AES keys salted with the realm and user name (CORP.EXAMPLEdana). NT hash (NTLM, and Kerberos RC4) AES keys (Kerberos) | ws-017 dc-01 | Its holder can sign in as dana without her password. The NT hash answers NTLM, and an AES key, or the NT hash where RC4 is allowed, gets her Kerberos tickets. Pass-the-HashOverpass-the-Hash |
| krbtgt key | It is made from the krbtgt account's password, which only domain controllers know. NT hash (Kerberos RC4) AES keys (Kerberos) | dc-01 | Its holder can forge a TGT for any name and any groups, which is what golden, diamond and sapphire tickets are. Golden TicketDiamond and Sapphire Tickets |
| srv-fin-01 key | It is made from the server's computer account password, which Windows sets and changes. A service run by a user account, such as svc-backup, uses that account's password instead. NT hash (NTLM, and Kerberos RC4) AES keys (Kerberos) | dc-01 srv-fin-01 | Its holder can forge tickets to that one service, which is a silver ticket. Silver Ticket |
| svc-backup key | It is made from the password a person chose for svc-backup, the user account that runs the backup service on srv-fin-01. NT hash (NTLM, and Kerberos RC4) AES keys (Kerberos) | dc-01 srv-fin-01 | Its holder can sign in as svc-backup and forge tickets to its service, which is a silver ticket. Because a person chose the password, it can be guessed offline from any ticket to that service, which is Kerberoasting. KerberoastingSilver Ticket |
| TGT session key | The DC makes it at random for one TGT. |
| With the TGT, its holder can act as dana until the ticket expires, which is pass-the-ticket. Pass-the-Ticket |
| service session key | The DC makes it at random for one service ticket. |
| With the service ticket, its holder can reach that one service as dana, which is pass-the-ticket. Pass-the-Ticket |
| Netlogon key | srv-fin-01 and dc-01 agree it from the server's computer account password. | dc-01 srv-fin-01 | It comes from the same password as srv-fin-01's key, so it falls with that key. |
Sources
- Microsoft Learn: Kerberos Authentication Overview in Windows Server (opens in a new tab)
- RFC 4120 Section 1.7: Glossary of Terms (Ticket) (opens in a new tab)
- Microsoft Learn: NTLM Overview in Windows Server (opens in a new tab)
- Microsoft Learn: Microsoft Negotiate (opens in a new tab)
- Microsoft Learn: Configuring Kerberos for IP Addresses (opens in a new tab)
- Microsoft Learn: Deprecated Features in the Windows Client (NTLM) (opens in a new tab)
- Windows IT Pro Blog: Disabling NTLM by Default (29 Jan 2026) (opens in a new tab)