SSOGEN / Free tools / Event ID 4768: Decode a Kerberos TGT Request, Free in Your Browser
Free tool
Event ID 4768: Decode a Kerberos TGT Request, Free in Your Browser
Event ID 4768 is logged on a domain controller each time it issues a Kerberos ticket-granting ticket. Paste the event into this free decoder to read the result code, ticket options, encryption type and pre-authentication type, with nothing uploaded.
Paste an event and read it
Paste the text from Event Viewer, or the XML from its Details tab. To see the output first, press TGT requested (4768) to load an Acme sample.
From Event Viewer: open the event, then copy the General text, or the XML from the Details tab (XML View). Events 4624, 4625, 4634, 4647, 4648, 4672, 4740, 4768, 4769, 4771 and 4776 are recognized.
Private by design. Decoding happens in this page and nothing is sent anywhere. Event text holds account names, host names and IP addresses: use a copy you are allowed to look at, and remove anything you must not share.
Free, in your browser. No sign-up and no limit. The page makes no network request when you decode, so the event never leaves your computer. Event text still holds account names and addresses, so use a copy you are allowed to read.
What event 4768 records
Event ID 4768 is the Windows Security log entry for “a Kerberos authentication ticket (TGT) was requested”. Microsoft’s page says the Key Distribution Center generates it every time it issues a ticket-granting ticket, and only on domain controllers.
Four fields carry most of the meaning:
- Result Code: whether the request succeeded and, if not, why.
- Ticket Encryption Type: which cipher protects the ticket.
- Pre-Authentication Type: how the client proved its identity.
- Client Address: where the request came from.
This free decoder reads a pasted event and explains all four.
What a TGT is, and where 4768 fits
Kerberos sign-in happens in steps, and the first is the authentication service (AS) exchange. In RFC 4120’s description:
- The client sends a KRB_AS_REQ naming itself and the service it wants, here the ticket-granting service.
- The KDC answers with a KRB_AS_REP or a KRB_ERROR.
- The reply is encrypted in the client’s secret key and carries a ticket plus a session key (RFC 4120, section 3.1, read 2026-10-09).
That first ticket is the ticket-granting ticket, or TGT, and event 4768 is the domain controller’s record of the exchange.
Later, the client presents the TGT to request tickets for particular services. Microsoft’s page for event 4769 covers that second request type, which it describes as the KDC receiving a ticket-granting service (TGS) request. In summary:
| Event | What it records | Logged where |
|---|---|---|
| 4768 | A TGT was requested (the AS exchange) | Domain controller only |
| 4769 | A service ticket was requested (the TGS exchange) | Domain controller only |
| 4771 | Kerberos pre-authentication failed | Domain controller only |
- A normal workday. One 4768 at sign-in, then many 4769 events as the user reaches file shares and applications.
- 4769 with no matching 4768. The TGT came from a different domain controller, or was issued before your log starts.
- Several domain controllers. Each logs only the requests it answered, so finding a user’s 4768 may mean searching every one.
Related pages:
- The Kerberos explainer explains the ticket flow in plain terms.
- Event 4771 covers the pre-authentication failures that 4768 leaves out.
- Event 4625 covers the failed-logon event on the computer being reached.
Reading the fields
After the January 14, 2025 cumulative update, a 4768 on Windows Server 2016 and later shows extra fields: the supported encryption types and available keys of the account, the service and the domain controller, plus the encryption types the client advertised.
Microsoft’s page marks them “New”. The fields below exist on both versions.
Account Name and Supplied Realm Name
- Account Name. The account the TGT was requested for; a computer account ends in a $ character.
- Supplied Realm Name. The Kerberos realm the account belongs to. Microsoft notes it can appear as the NetBIOS name (CONTOSO), the lowercase domain name or the uppercase domain name, so do not match on one spelling only.
- User ID. It shows a NULL SID in failure events.
Service Name
For a TGT request this is normally krbtgt, the ticket-granting service. In failure events, Microsoft says, it typically looks like krbtgt/REALM_NAME.
Client Address and Client Port
Client Address is where the request came from. Microsoft lists three formats:
- a plain IPv4 or IPv6 address;
- an IPv4 address in the form ::ffff:IPv4_address (an IPv4 address carried in IPv6 notation);
- ::1 for localhost.
Client Port is 0 for local requests.
- The ::ffff: prefix. It is only a notation; it does not indicate a different machine or a spoofed address. Strip it before you compare against an address list.
- Client port. Microsoft’s monitoring notes suggest examining requests with a client port above 0 and below 1024, because a well-known port was used for an outbound connection.
Ticket Options
Ticket Options is a set of ticket flags written as a hexadecimal number.
Microsoft’s page numbers the bits from the left (the style used in RFC documents) and gives three common values:
| Value | Flags set |
|---|---|
| 0x40810010 | Forwardable, Renewable, Canonicalize, Renewable-ok |
| 0x40810000 | Forwardable, Renewable, Canonicalize |
| 0x60810010 | Forwardable, Forwarded, Renewable, Canonicalize, Renewable-ok |
For the first row, bits 1, 8, 15 and 27 are set. Microsoft’s description of each:
- Forwardable means the ticket-granting service may issue a new TGT with a different network address.
- Renewable is used with the end time and renew-till fields so long-lived tickets are renewed at the KDC periodically.
- Name-canonicalize is what a client must request to receive referrals.
- Renewable-ok says a renewable ticket is acceptable if a ticket of the requested life cannot otherwise be provided.
Ticket Options show what the client asked for. They are usually worth reading only when two requests from the same account look different.
Ticket Encryption Type
This is the cipher suite used for the issued TGT. Values from Microsoft’s page:
| Value | Name | Microsoft’s note |
|---|---|---|
| 0x1 | DES-CBC-CRC | Disabled by default starting from Windows 7 and Windows Server 2008 R2 |
| 0x3 | DES-CBC-MD5 | Disabled by default starting from Windows 7 and Windows Server 2008 R2 |
| 0x11 | AES128-CTS-HMAC-SHA1-96 | Supported starting from Windows Server 2008 and Windows Vista |
| 0x12 | AES256-CTS-HMAC-SHA1-96 | Supported starting from Windows Server 2008 and Windows Vista |
| 0x17 | RC4-HMAC | Default suite for operating systems before Windows Server 2008 and Windows Vista |
| 0x18 | RC4-HMAC-EXP | Default suite for operating systems before Windows Server 2008 and Windows Vista |
| 0xFFFFFFFF | none | Shows in Audit Failure events |
Why RC4 and DES deserve a look.
- DES. Microsoft’s monitoring recommendations say that DES (0x1 or 0x3) should not be in use, “because of low security and known vulnerabilities”.
- Anything but AES. They say to monitor for any value other than 0x11 and 0x12 on Windows Vista, Windows Server 2008 and later, because those AES values are the expected ones.
- RC4 (0x17). Not an attack on its own. It usually means an old service, an old account setting or a client that only offers RC4, so find which account and which client address keep producing it.
- AS-REP roasting. MITRE separately lists RC4 requests as an indicator, covered below.
Pre-Authentication Type
Pre-authentication is the step in which the client proves it knows the account’s key before the KDC sends anything encrypted with it.
Microsoft’s Table 5 lists these types:
| Type | Name | Meaning on Microsoft’s page |
|---|---|---|
| 0 | none | Logon without pre-authentication |
| 2 | PA-ENC-TIMESTAMP | The normal type for standard password authentication |
| 11 | PA-ETYPE-INFO | Sent by the KDC to say which key to use for the encrypted timestamp; Microsoft says it was never seen in an Active Directory environment |
| 15 | PA-PK-AS-REP_OLD | Smart card logon |
| 16 | PA-PK-AS-REQ | Request sent to the KDC in smart card scenarios |
| 17 | PA-PK-AS-REP | Also smart card; in some Active Directory environments never seen |
| 19 | PA-ETYPE-INFO2 | As type 11; Microsoft says it was never seen in an Active Directory environment |
| 20 | PA-SVR-REFERRAL-INFO | Used in KDC referral tickets |
| 138 | PA-ENCRYPTED-CHALLENGE | Logon using Kerberos armoring (FAST), supported from Windows Server 2012 domain controllers and Windows 8 clients |
Failure events show a dash. Microsoft’s monitoring table turns the list into checks. Alert on a value that is:
- not 2, if only password authentication is in use;
- not 15, for accounts that must use a smart card;
- not 138, if armoring is on for all Kerberos traffic.
Type 0 is the one Microsoft calls out: all accounts should use pre-authentication, “except accounts configured with ‘Do not require Kerberos preauthentication,’ which is a security risk”.
Result Code
0x0 means the TGT was issued; any other value is a failure. These are the most common codes, with Microsoft’s stated causes:
| Code | Name | What Microsoft says |
|---|---|---|
| 0x6 | KDC_ERR_C_PRINCIPAL_* | The user name does not exist. Several in a short time can indicate account enumeration |
| 0x7 | KDC_ERR_S_PRINCIPAL_* | The domain controller cannot find the server’s name in Active Directory |
| 0x8 | KDC_ERR_PRINCIPAL_NOT_UNIQUE | Duplicate principal names exist |
| 0x9 | KDC_ERR_NULL_KEY | No master key for the client or server; usually means resetting the password |
| 0xC | KDC_ERR_POLICY | Logon restrictions on the account: workstation restriction, smart card requirement, logon time restriction |
| 0xD | KDC_ERR_BADOPTION | The KDC cannot accommodate the requested option; one cause is a delegation target not in the allowed list |
| 0xE | KDC_ERR_ETYPE_NOTSUPP | A packet that the KDC or client cannot decrypt |
| 0x12 | KDC_ERR_CLIENT_REVOKED | Credentials revoked: account disabled, expired or locked out |
| 0x19 | KDC_ERR_PREAUTH_REQUIRED | Common with UNIX interoperability; most MIT Kerberos clients answer by supplying pre-authentication, so it can often be ignored |
| 0x25 | KRB_AP_ERR_SKEW | Client and server clocks differ by more than the policy allows |
| 0x3C | KRB_ERR_GENERIC | PAC overloaded by group membership, recent password changes not replicated, or an SPN that is too long |
Microsoft also lists 0x17 (password expired) and 0x18 (wrong password) in its table, but adds that 0x10 and 0x18 can’t appear in a 4768; they appear in event 4771 instead.
For a wrong password, search 4771, not 4768. The names in the table follow the error codes in RFC 4120, section 7.5.9.
A worked example
Load the TGT requested (4768) sample. It is a fictional Acme event in the field layout of Microsoft’s page. The account maria.lopez requested a TGT from a client at 192.0.2.41, and the result was 0x0, so a ticket was issued.
- Ticket Encryption Type 0x12. AES256, the expected value.
- Pre-Authentication Type 2. Ordinary password authentication.
- Ticket Options 0x40810010. The common set.
Nothing here needs attention.
Three variations would change that:
- With encryption type 0x17, find out which client offered only RC4.
- With pre-authentication type 0, check whether the account is set to skip pre-authentication on purpose.
- With a client address on a network you do not use, find out who owns it.
Those three checks cover most of what a 4768 can tell you.
A successful 4768 for an account that should not log on
A result of 0x0 does not mean the request was legitimate. It means the password (or certificate) was correct and the account was allowed a ticket.
Microsoft’s monitoring recommendations suggest watching this event for accounts that should never be used, for accounts outside an allow list, and for names that break your naming convention, filtering on the account in the event.
A success for a service account that policy disabled, or for a retired user, needs explaining: someone still holds a working credential.
The same page gives two more checks:
- Track every 4768 where the Client Address is outside your internal ranges.
- If an account should only ever be used from known addresses, alert when its Client Address is not on that list.
A Client Address of ::1 means local authentication. If you know which accounts may log on to domain controllers, watch for ::1 with any other account.
AS-REP roasting and pre-authentication type 0
MITRE’s ATT&CK technique T1558.004, AS-REP Roasting (read 2026-10-09) describes an attack on accounts with Kerberos pre-authentication turned off:
- The attacker sends an authentication request with no encrypted timestamp.
- The domain controller answers with data encrypted using the account’s key, often with a weak algorithm such as RC4.
- The attacker tries to crack that data offline.
Pre-authentication exists to stop this, which is why Microsoft calls the unset option a security risk.
MITRE’s detection uses this event:
- The event. A 4768 with Pre-Auth Type 0, correlated with later service-ticket activity (4769) and with RC4 (0x17) requests.
- Enumeration. It also suggests watching for enumeration of accounts that have “Do not require Kerberos preauthentication” set in Active Directory.
- Starting point. Microsoft’s own table gives it: a Pre-Authentication Type of 0 in a 4768.
Treat that as a lead, not a verdict, because accounts set that way for a legacy reason show the same pattern. First list which accounts have the setting, then investigate any type 0 from an account outside that list.
The tool reads one pasted event and cannot see your directory, so it cannot tell you which of your accounts are affected.
4768 compared with 4769 and 4771
| Question | 4768 | 4769 | 4771 |
|---|---|---|---|
| What does it record? | A TGT request | A service ticket request | A pre-authentication failure |
| Result field | Result Code | Failure Code | See the 4771 page |
| Wrong password (0x18)? | Never appears here | Never appears here | Logged here instead |
| Pre-authentication type field? | Yes | Not in its field list | See the 4771 page |
The 4768 page states that the event is not generated for result codes 0x10 and 0x18, and that 4771 is generated instead.
Microsoft’s page for 4769 notes that many failures with code 0x20 are common and mean a service ticket expired: “informational messages” with little security relevance.
That rule belongs to 4769 and does not apply to 4768.
How to find the event
- On a domain controller, open Event Viewer, then Windows Logs, then Security. Reading this log requires an administrator account.
- Filter the current log by event ID 4768, or search for the account name.
- Open the event and copy the text from the General tab, or the XML from the Details tab, then paste it above.
Microsoft lists this event under the Audit Kerberos Authentication Service subcategory (Microsoft Learn, read 2026-10-09).
Where this meets SSO
A Windows domain controller issuing a TGT is the start of Kerberos single sign-on:
- The Kerberos authentication page explains what the user sees.
- Kerberos SSO for web applications covers how a browser and a gateway use these tickets.
- The SSO audit log page describes SSOGEN’s own record of sign-ins, kept separately from your Windows logs.
For the failed-logon side of the same story, see event ID 4625.
What is event ID 4768?
Where is event 4768 logged?
What does Result Code 0x0 mean in event 4768?
What is the difference between event 4768 and 4769?
Why does a wrong password show up as 4771 and not 4768?
What does Result Code 0x6 mean in event 4768?
Which port does Kerberos use?
What does pre-authentication type 0 mean in a 4768?
Where to go next
- Browse the other free tools.
- Read what Kerberos is.
- Open the event ID 4625 decoder.
- Read the next step of the same sign-in in the event ID 4769 decoder and the event ID 4624 decoder.
Sources, all read 2026-10-09: Microsoft Learn pages for events 4768 and 4769, RFC 4120 and MITRE ATT&CK T1558.004. Microsoft and Windows are trademarks of their owner; SSOGEN is not affiliated with Microsoft.