klist.exe

  • File Path: C:\WINDOWS\system32\klist.exe
  • Description: Tool for managing the Kerberos ticket cache

Hashes

Type Hash
MD5 B26B0ACEE8D91082ADCA8C70E5547ACF
SHA1 83446A7B66424052E7D761B130BBD06BDE5443C6
SHA256 9A6C8AA3B6EAD08801EE31B674643BA46C7569B6A94BCE41CE5AEA24AFDC4A8D
SHA384 0242AC021B07705188BD7133229F07DC1E06E37DEFE451F4CD42E14C32A1B0F27DB05D5A8C7794323F6AE3988547C0E2
SHA512 72F4BA846BCC2B1D638D3C806F8C5DF4EC74AECC8ED89D506F396F14CA30B8EF5276BA9B7FD13E1F56955B81D91AE7DBD4E6204B89604B7CF0F19AED4AC14A31
SSDEEP 1536:2JmYkpRIXifb8hKJWX4nFmkkHgEqxWs3pSOsw2upobAS4yTWFdqMxoT:6cpSob8kJWIFnkHgEqxhGbA2vWFdJU
IMP 9CB096AE405B3C7A3DD7CA4C3F71A80E
PESHA1 BF88D439542923E121B9A9A7DC88BCC68ACD309E
PE256 69B2C87508148A07FDDBA52769B2F74D9499E240A651E9D170C2C494676B27B7

Runtime Data

Usage (stdout):


Usage: klist.exe [command]

Command list:
  [tickets] [-lh <LogonId.HighPart>] [-li <LogonId.LowPart>]
  tgt [-lh <LogonId.HighPart>] [-li <LogonId.LowPart>]
  purge [-lh <LogonId.HighPart>] [-li <LogonId.LowPart>]
  sessions [-lh <LogonId.HighPart>] [-li <LogonId.LowPart>]
  kcd_cache [-lh <LogonId.HighPart>] [-li <LogonId.LowPart>]
  get <SPN> [-lh <LogonId.HighPart>] [-li <LogonId.LowPart>]
            [-kdcoptions <options>] [-cacheoptions <options>]
  add_bind <DOMAIN> <DC>
  query_bind
  purge_bind
  cloud_debug

Loaded Modules:

Path
C:\WINDOWS\System32\KERNEL32.DLL
C:\WINDOWS\System32\KERNELBASE.dll
C:\WINDOWS\system32\klist.exe
C:\WINDOWS\SYSTEM32\ntdll.dll

Signature

  • Status: Signature verified.
  • Serial: 33000002ED2C45E4C145CF48440000000002ED
  • Thumbprint: 312860D2047EB81F8F58C29FF19ECDB4C634CF6A
  • Issuer: CN=Microsoft Windows Production PCA 2011, O=Microsoft Corporation, L=Redmond, S=Washington, C=US
  • Subject: CN=Microsoft Windows, O=Microsoft Corporation, L=Redmond, S=Washington, C=US

File Metadata

  • Original Filename: klist.exe.mui
  • Product Name: Microsoft Windows Operating System
  • Company Name: Microsoft Corporation
  • File Version: 10.0.22000.1 (WinBuild.160101.0800)
  • Product Version: 10.0.22000.1
  • Language: English (United States)
  • Legal Copyright: Microsoft Corporation. All rights reserved.
  • Machine Type: 64-bit

File Scan

  • VirusTotal Detections: Unknown

Possible Misuse

The following table contains possible examples of klist.exe being misused. While klist.exe is not inherently malicious, its legitimate functionality can be abused for malicious purposes.

Source Source File Example License
atomic-red-team T1558.001.md klist purge MIT License. © 2018 Red Canary
atomic-red-team T1558.001.md klist MIT License. © 2018 Red Canary
atomic-red-team T1558.003.md klist purge MIT License. © 2018 Red Canary

Additional Info*

*The information below is copied from MicrosoftDocs, which is maintained by Microsoft. Available under CC BY 4.0 license.


klist

Displays a list of currently cached Kerberos tickets.

[!IMPORTANT] You must be at least a Domain Admin, or equivalent, to run all the parameters of this command.

Syntax

klist [-lh <logonID.highpart>] [-li <logonID.lowpart>] tickets | tgt | purge | sessions | kcd_cache | get | add_bind | query_bind | purge_bind

Parameters

Parameter Description
-lh Denotes the high part of the user’s locally unique identifier (LUID), expressed in hexadecimal. If neither –lh nor –li are present, the command defaults to the LUID of the user who is currently signed in.
-li Denotes the low part of the user’s locally unique identifier (LUID), expressed in hexadecimal. If neither –lh nor –li are present, the command defaults to the LUID of the user who is currently signed in.
tickets Lists the currently cached ticket-granting-tickets (TGTs), and service tickets of the specified logon session. This is the default option.
tgt Displays the initial Kerberos TGT.
purge Allows you to delete all the tickets of the specified logon session.
sessions Displays a list of logon sessions on this computer.
kcd_cache Displays the Kerberos constrained delegation cache information.
get Allows you to request a ticket to the target computer specified by the service principal name (SPN).
add_bind Allows you to specify a preferred domain controller for Kerberos authentication.
query_bind Displays a list of cached preferred domain controllers for each domain that Kerberos has contacted.
purge_bind Removes the cached preferred domain controllers for the domains specified.
kdcoptions Displays the Key Distribution Center (KDC) options specified in RFC 4120.
/? Displays Help for this command.
Remarks
  • If no parameters are provided, klist retrieves all the tickets for the currently logged on user.

  • The parameters display the following information:

    • tickets - Lists the currently cached tickets of services that you have authenticated to since logon. Displays the following attributes of all cached tickets:

      • LogonID: The LUID.

      • Client: The concatenation of the client name and the domain name of the client.

      • Server: The concatenation of the service name and the domain name of the service.

      • KerbTicket Encryption Type: The encryption type that is used to encrypt the Kerberos ticket.

      • Ticket Flags: The Kerberos ticket flags.

      • Start Time: The time from which the ticket is valid.

      • End Time: The time the ticket becomes no longer valid. When a ticket is past this time, it can no longer be used to authenticate to a service or be used for renewal.

      • Renew Time: The time that a new initial authentication is required.

      • Session Key Type: The encryption algorithm that is used for the session key.

    • tgt - Lists the initial Kerberos TGT and the following attributes of the currently cached ticket:

      • LogonID: Identified in hexadecimal.

      • ServiceName: krbtgt

      • TargetName <SPN>: krbtgt

      • DomainName: Name of the domain that issues the TGT.

      • TargetDomainName: Domain that the TGT is issued to.

      • AltTargetDomainName: Domain that the TGT is issued to.

      • Ticket Flags: Address and target actions and type.

      • Session Key: Key length and encryption algorithm.

      • StartTime: Local computer time that the ticket was requested.

      • EndTime: Time the ticket becomes no longer valid. When a ticket is past this time, it can no longer be used to authenticate to a service.

      • RenewUntil: Deadline for ticket renewal.

      • TimeSkew: Time difference with the Key Distribution Center (KDC).

      • EncodedTicket: Encoded ticket.

    • purge - Allows you to delete a specific ticket. Purging tickets destroys all tickets that you have cached, so use this attribute with caution. It might stop you from being able to authenticate to resources. If this happens, you’ll have to log off and log on again.

      • LogonID: Identified in hexadecimal.
    • sessions - Allows you to list and display the information for all logon sessions on this computer.

      • LogonID: If specified, displays the logon session only by the given value. If not specified, displays all the logon sessions on this computer.
    • kcd_cache - Allows you to display the Kerberos constrained delegation cache information.

      • LogonID: If specified, displays the cache information for the logon session by the given value. If not specified, displays the cache information for the current user’s logon session.
    • get - Allows you to request a ticket to the target that is specified by the SPN.

      • LogonID: If specified, requests a ticket by using the logon session by the given value. If not specified, requests a ticket by using the current user’s logon session.

      • kdcoptions: Requests a ticket with the given KDC options

    • add_bind - Allows you to specify a preferred domain controller for Kerberos authentication.

    • query_bind - Allows you to display cached, preferred domain controllers for the domains.

    • purge_bind - Allows you to remove cached, preferred domain controllers for the domains.

    • kdcoptions - For the current list of options and their explanations, see RFC 4120.

Examples

To query the Kerberos ticket cache to determine if any tickets are missing, if the target server or account is in error, or if the encryption type is not supported due to an Event ID 27 error, type:

klist
klist –li 0x3e7

To learn about the specifics of each ticket-granting-ticket that is cached on the computer for a logon session, type:

klist tgt

To purge the Kerberos ticket cache, log off, and then log back on, type:

klist purge
klist purge –li 0x3e7

To diagnose a logon session and to locate a logonID for a user or a service, type:

klist sessions

To diagnose Kerberos constrained delegation failure, and to find the last error that was encountered, type:

klist kcd_cache

To diagnose if a user or a service can get a ticket to a server, or to request a ticket for a specific SPN, type:

klist get host/%computername%

To diagnose replication issues across domain controllers, you typically need the client computer to target a specific domain controller. To target the client computer to the specific domain controller, type:

klist add_bind CONTOSO KDC.CONTOSO.COM
klist add_bind CONTOSO.COM KDC.CONTOSO.COM

To query which domain controllers were recently contacted by this computer, type:

klist query_bind

To rediscover domain controllers, or to flush the cache before creating new domain controller bindings with klist add_bind, type:

klist purge_bind

Additional References


MIT License. Copyright (c) 2020-2021 Strontic.