Blog Post

Core Infrastructure and Security Blog
9 MIN READ

Active Directory Hardening Series - Part 4 – Enforcing AES for Kerberos

JerryDevore's avatar
JerryDevore
Icon for Microsoft rankMicrosoft
Apr 15, 2024

Hi everyone, Jerry Devore here again with another installment in my series on Active Directory hardening.  This time I want to revisit a topic I previously wrote about in September of 2020 which is enforcing AES for Kerberos.  Since I wrote that blog post a few new tips have come my way.  Before we dive in here is a quick re-cap of what was previously discussed:

 

  • RC4 encryption for Kerberos is weak and susceptible to roasting attacks.
  • The msDS-SupportedEncryptionTypes attribute value of the target account will determine the ticket encryption for service ticket requests (AS-REQ).  When the value is blank the KDC will default to RC4.
  • By default, users accounts do not have a value for msDS-SupportedEncryptionTypes.
  • Disabling RC4 support on devices should follow remediation of service accounts.  Otherwise RC4 service tickets could be issued for devices that will not accept them.

 

 

Update - The January 2025 Cumulative update for server 2016 and newer has added new fields to 4768 and 4769 events on Domain Controllers.  Details about this change have been added at the bottom of the page.  

 

Discovering RC4 dependent devices

Identifying devices limited to RC4 is a critical step but has historically been a tricky problem to solve.  However, a recently discovered "feature" in 4768 events can help you identity such devices. Previously I suggested analyzing the Ticket Encryption Type field in 4769 events (service ticket requests).  At the time I was not focused on the 4768 events since a KDC will encrypt all TGTs with AES if the KRBTGT account has a key for AES.  So, what is this new discovery?  Drumroll please…. The Ticket Encryption Type field in 4768 events reflects the session key issued with the TGT.  Why does that matter?  The session key encryption selection for a TGT is dependent on what was negotiated by the device during the AS-REQ (authentication request).  As a result, 4768 events can be used to identify devices that only support RC4.

 

To demonstrate this behavior I configured a device in my lab to only support RC4 (Network security: Configure encryption types allowed for Kerberos).   As you can see from this screenshot the session key for both the primary and delegation TGT was protected with RC4 while the TGT itself was encrypted with AES.

 

 

The 4768 event logged on the domain controller reflects the use of RC4 in the Ticket Encryption Type field even though RC4 was only used for the session key.  That information can be more useful than reporting the actual ticket encryption since all TGTs will be AES if the KDC supports it.

 

 

In the last few years, I have worked with many large organizations as they embarked on a journey to rid their environment of RC4.  So far, I have found four types of devices that you might see defaulting to using RC4 in the AS-REQ.  They are:

 

  • Devices with Keytab files where the only credential available is RC4 (NTLM hash).  Those devices will need a new keytab file created using a different cyrpto switch.
  • Non-Windows devices that have been integrated with the domain (e.g. NAS appliances, Linux, etc).  It is possible the device is capable of using AES but is defaulting to RC4.   Check with the OS vendor if you encounter such devices.
  • Windows devices that have AES disabled using a GPO or the registry setting.  By default, 2008 and newer devices support RC4 and AES.  There is no scenario where disabling AES on Windows is recommended.
  • Legacy Windows devices that do not support AES (2003 / XP and earlier).  If you have any of those, the corrective action is to decommission them immediately.  If that is not possible you should triple your cyber insurance coverage and set an insanely long password on any service account that comes in contact with those devices.

 

 Once you have identified and remediated any device defaulting to RC4 you can ramp up your efforts to enable AES on your SPN enabled service accounts.  I still would not update all accounts at the same time but by all means don't be overly timid.  The risk of not taking action this area is greater than the risk of hardening your environment.

 

To be clear, using 4768 events to detect RC4 devices depends on the devices requesting a TGT.  If you have an application that uses a keytab to decrypt and read tickets but does not use the account to authenticate to Active Directory, there will be no 4768 events logged for the account.  I believe that scenario is rare, but it is worth pointing out that leveraging 4768 events might not catch every last device dependent on RC4.

 

Even better auditing is being planned

 

While using 4768 events to find RC4 dependent devices can be extremely useful, more verbose logging of Kerberos tickets is being planned by the product group.  What the extra logging will capture, when it will be released and how far back it will be ported is still to be determined.  In the meantime, keep moving forward using the auditing currently available.

 

 November 2022 Changes to Kerberos

 

In 2022 some needed changes were made which caused the KDC to start defaulting to AES session keys.  Selection of encryption type for service tickets (TGS) did not change as part of that update, so it is still vitally import to define a value on msDS-SupportedEncryptionTypes for your SPN enabled service accounts.  More information on those changes can be found here:

 

 

 

Something that is not discussed in those articles is the change to cross domain referral tickets.  Previously it was necessary to enable AES in the trust settings.  Otherwise RC4 was used for the referral tickets.  That is no longer necessary given referral tickets will now default to AES.   To better illustrate here are a few screenshots from my lab.  Joe User resides in the contoso.local domain.  When the account attempted to access a resource in the trusted fabrikam.local domain, the referral ticket was issued with AES even though the trust (Trust Domain Object) had no setting for msDS-SupportedEncryptionTypes.  If your RC4 remediation project includes a task for enabling AES on your trusts, you can mark that task complete.

 

 

 

If you have been following my series, you know I always conclude with a list of Do's and Don't to make sure things go as planned.  To avoid disappointing anyone, here is the list.

 

  • Don't forget about the lifetime of cached tickets when testing changes.  By default, tickets are valid for up to 10 hours.  When you change msDS-SupportedEncryptionTypes on an account make sure cached tickets are not skewing your test results.
  • Don't worry about manually defining msDS-SupportedEncryptionTypes on computer objects of Windows devices. They will update their own attribute automatically.  If you apply a policy to manage the Network security: Configure encryption types allowed for Kerberos setting, the device will process the change locally then update the attribute in Active Directory.  It is worth mentioning you may see some latency between when the GPO is applied, and the computer object is updated.
  • Do update your service account (SPN enabled) provisioning process to include setting a value for msDS-SupportedEncryptionTypes.  That will ensure RC4 will not creep back into your environment as new accounts are created.
  • Do know that many password synchronization solutions (e.g ADMT) will only sync the NTLM hash of a user account and not the AES keys for the account.  If you are using such a tool to perform a domain migration and the target domain does not support RC4, you will need to reset the account's password in the target domain in order for Kerberos to work.
  • Don't worry about setting msDS-SupportedEncryptionTypes on user accounts that don't have a SPN.  When a domain user logs onto a device, the device's configuration will determine what is used for the AS-REQ.  As a result, the session key selected for the user’s tickets is determined by the device and not the user's msDS-SupportedEncryptionTypes attribute.
  • Don't worry about setting msDS-SupportedEncryptionTypes on the KRBTGT account.  As long as the account has AES keys (password reset since 2008R2) and the DFL is greater than 2003, the KDC will issues TGTs encrypted with AES.
  • Do monitor your domain controller system logs for Event 16 and Event 27.  Those will let you know if any account lacks a credential for the supported encryption type.  We don't see that often, but it can happen with service accounts that have not had their passwords changed
  • Do know that RC4 can be disabled at the domain level by creating HKEY_LOCAL_MACHINE\System\CurrentControlSet\services\KDC\DefaultDomainSupportedEncTypes on the domain controllers and setting the value to 0x38.  That would be a great way to ensure your environment remains remediated but using that approach for a big bang remediation will be too aggressive for most organizations.  For more details on DefaultDomainSupportedEncTypes see this KB5021131.
  • Do check out this blog post Chris Cartwright wrote which explains how to configure Windows Event Forwarding (WEF) to centrally hunt for RC4 use if you don’t already have a centralize event log solution.
  • Do disable RC4 on devices using the policy Network security: Configure encryption types allowed for Kerberos after you have confirmed the device no longer has any RC4 dependencies.

 

******************************** Update ******************************

The January 2025 cumulative update (1B) added new and very helpful fields to 4768 and 4769 events.  Below are examples of the updated events along with tables which describe key fields.  The enhancements now make it possible to centrally identify:

  • The session key type of both TGTs and Service Tickets.
  • The eTypes the Kerberos client advertised it can support in the AS-REQ and TGS-REQ packets.  Use this information to identify any device (or keytab) that is not able to support AES
  • The available keys for the accounts involved.  Use this information to identify accounts that require a password reset in order to support AES.

 

Account Information

Account Name

Account requesting the TGT

 

MSDS-SupportedEncryptionTypes

If the requesting account does not have a value for MSDS-SupportedEncryptionTypes HKLM\System\CurrentControlSet\Services\KDC\ DefaultDomainSupportedEncTypes of the authenticating domain controller will determine this value.

 

Available Keys

If AES-SHA1 is not reported the password of the requesting account has not been changed since the domain starting supporting AES. 

Service Information

Service Name

TGT requests will always list krbtgt as the service name

 

MSDS-SupportedEncryptionTypes

The encryption types supported by the krbtgt is determined by the domain and not the value of MSDS-SupportedEncryptionTypes for the krbtgt account.

 

Available Keys

If AES-SHA1 is not list the password of the krbtgt account has not changed since the domain began supporting AES

Network Information

Client Address

IP address of the Kerberos client that requested the TGT

 

Advertized Etypes

This is the encryption type the client stated it can support in the AS-REQ.

Additional Information

Error Code

0x0 indicates no error with the request.  For a list of possible values see this table.

 

Ticket Encryption Type

Prior to the January 2025 update this field reported the session key encryption type.  It now reports the actual ticket encryption type of the TGT.  The client does not read the TGT so the encryption type only needs to be supported by the domain controllers.

 

Session Encryption Type

The session key needs to be compatible with the client.  Selection is dependent on the client's Adverstized Etypes.

 

Pre-Authentication EncryptionType

Pre-Authentication EncryptionType is determined by the client's configuration and should be the strongest value reported in advertized Etypes.  If a Windows 2008 or higher device is only reporting RC4 check the policy setting Network security: Configure encryption types allowed for Kerberos

 

 

Account Information

Account Name

Account Requesting the Service Ticket (TGS-REQ)

 

MSDS-SupportedEncryptionTypes

N/A - requesting accounts MSDS-SupportedEncryptionTypes is not a factor when determine the encryption type of the ticket or session key

Service Information

Service Name

Target account of the ticket request

 

MSDS-SupportedEncryptionTypes

The strongest supported value will be used by the KDC to encrypt the service ticket

 

Available Keys

If AES-SHA1 is not listed the account password has not been changed since the domain began supporting AES

Network Information

Client Address

IP address of the Kerberos client that requested the Service Ticket

 

Advertized Etypes

This is the encryption type the client stated it can support in the TSG-REQ. 

Additional Information

Ticket Encryption Type

This is the encryption type to KDC selected for the Service Ticket.  If the target account does not have a value for MSDS-SupportedEncryptionTypes the encryption type will default to RC4.

 

Session Encryption Type

Encryption type of the session key for the Service Ticket.  Starting with the Nov 22 update the session type will default to AES as long as the client advertised it can support AES.

 
Updated Jan 27, 2025
Version 7.0

32 Comments

  • just-tim  "Is there a decoder ring available to determine the possible HEX values for DefaultDomainSupportedEncTypes? Some sources mention 0x3C includes RC4 and it would be better to use 0x18 or 0x38 to eliminate RC4."

     

    I would have to agree with your that 0x3c appears to leave RC4 in play and that another value like 0x18 would remove it.  I am not aware of a decoder ring but I asked an AI to help compute the mapping from decimal value 0-63 based on this documentation.  Here is the output which appears to be correct from what I can tell.

     

    Decimal Hexadecimal Binary Bit Flags Set Supported Encryption Types
    0 0x00 00000000 00000000 00000000 00000000    
    1 0x01 00000000 00000000 00000000 00000001 0 DES-CBC-CRC (A)
    2 0x02 00000000 00000000 00000000 00000010 1 DES-CBC-MD5 (B)
    3 0x03 00000000 00000000 00000000 00000011 0, 1 DES-CBC-CRC (A), DES-CBC-MD5 (B)
    4 0x04 00000000 00000000 00000000 00000100 2 RC4-HMAC (C)
    5 0x05 00000000 00000000 00000000 00000101 0, 2 DES-CBC-CRC (A), RC4-HMAC (C)
    6 0x06 00000000 00000000 00000000 00000110 1, 2 DES-CBC-MD5 (B), RC4-HMAC (C)
    7 0x07 00000000 00000000 00000000 00000111 0, 1, 2 DES-CBC-CRC (A), DES-CBC-MD5 (B), RC4-HMAC (C)
    8 0x08 00000000 00000000 00000000 00001000 3 AES128-CTS-HMAC-SHA1-96 (D)
    9 0x09 00000000 00000000 00000000 00001001 0, 3 DES-CBC-CRC (A), AES128-CTS-HMAC-SHA1-96 (D)
    10 0x0A 00000000 00000000 00000000 00001010 1, 3 DES-CBC-MD5 (B), AES128-CTS-HMAC-SHA1-96 (D)
    11 0x0B 00000000 00000000 00000000 00001011 0, 1, 3 DES-CBC-CRC (A), DES-CBC-MD5 (B), AES128-CTS-HMAC-SHA1-96 (D)
    12 0x0C 00000000 00000000 00000000 00001100 2, 3 RC4-HMAC (C), AES128-CTS-HMAC-SHA1-96 (D)
    13 0x0D 00000000 00000000 00000000 00001101 0, 2, 3 DES-CBC-CRC (A), RC4-HMAC (C), AES128-CTS-HMAC-SHA1-96 (D)
    14 0x0E 00000000 00000000 00000000 00001110 1, 2, 3 DES-CBC-MD5 (B), RC4-HMAC (C), AES128-CTS-HMAC-SHA1-96 (D)
    15 0x0F 00000000 00000000 00000000 00001111 0, 1, 2, 3 DES-CBC-CRC (A), DES-CBC-MD5 (B), RC4-HMAC (C), AES128-CTS-HMAC-SHA1-96 (D)
    16 0x10 00000000 00000000 00000000 00010000 4 AES256-CTS-HMAC-SHA1-96 (E)
    17 0x11 00000000 00000000 00000000 00010001 0, 4 DES-CBC-CRC (A), AES256-CTS-HMAC-SHA1-96 (E)
    18 0x12 00000000 00000000 00000000 00010010 1, 4 DES-CBC-MD5 (B), AES256-CTS-HMAC-SHA1-96 (E)
    19 0x13 00000000 00000000 00000000 00010011 0, 1, 4 DES-CBC-CRC (A), DES-CBC-MD5 (B), AES256-CTS-HMAC-SHA1-96 (E)
    20 0x14 00000000 00000000 00000000 00010100 2, 4 RC4-HMAC (C), AES256-CTS-HMAC-SHA1-96 (E)
    21 0x15 00000000 00000000 00000000 00010101 0, 2, 4 DES-CBC-CRC (A), RC4-HMAC (C), AES256-CTS-HMAC-SHA1-96 (E)
    22 0x16 00000000 00000000 00000000 00010110 1, 2, 4 DES-CBC-MD5 (B), RC4-HMAC (C), AES256-CTS-HMAC-SHA1-96 (E)
    23 0x17 00000000 00000000 00000000 00010111 0, 1, 2, 4 DES-CBC-CRC (A), DES-CBC-MD5 (B), RC4-HMAC (C), AES256-CTS-HMAC-SHA1-96 (E)
    24 0x18 00000000 00000000 00000000 00011000 3, 4 AES128-CTS-HMAC-SHA1-96 (D), AES256-CTS-HMAC-SHA1-96 (E)
    25 0x19 00000000 00000000 00000000 00011001 0, 3, 4 DES-CBC-CRC (A), AES128-CTS-HMAC-SHA1-96 (D), AES256-CTS-HMAC-SHA1-96 (E)
    26 0x1A 00000000 00000000 00000000 00011010 1, 3, 4 DES-CBC-MD5 (B), AES128-CTS-HMAC-SHA1-96 (D), AES256-CTS-HMAC-SHA1-96 (E)
    27 0x1B 00000000 00000000 00000000 00011011 0, 1, 3, 4 DES-CBC-CRC (A), DES-CBC-MD5 (B), AES128-CTS-HMAC-SHA1-96 (D), AES256-CTS-HMAC-SHA1-96 (E)
    28 0x1C 00000000 00000000 00000000 00011100 2, 3 RC4-HMAC (C), AES128-CTS-HMAC-SHA1-96 (D), AES256-CTS-HMAC-SHA1-96 (E)
    29 0x1D 00000000 00000000 00000000 00011101 0, 2, 3 DES-CBC-CRC (A), RC4-HMAC (C), AES128-CTS-HMAC-SHA1-96 (D), AES256-CTS-HMAC-SHA1-96 (E)
    30 0x1E 00000000 00000000 00000000 00011110 1, 2, 3 DES-CBC-MD5 (B), RC4-HMAC (C), AES128-CTS-HMAC-SHA1-96 (D), AES256-CTS-HMAC-SHA1-96 (E)
    31 0x1F 00000000 00000000 00000000 00011111 0, 1, 2, 3 DES-CBC-CRC (A), DES-CBC-MD5 (B), RC4-HMAC (C), AES128-CTS-HMAC-SHA1-96 (D), AES256-CTS-HMAC-SHA1-96 (E)
    32 0x20 00000000 00000000 00000000 00100000 5 AES256-CTS-HMAC-SHA1-96-SK (J)
    33 0x21 00000000 00000000 00000000 00100001 0, 5 DES-CBC-CRC (A), AES256-CTS-HMAC-SHA1-96-SK (J)
    34 0x22 00000000 00000000 00000000 00100010 1, 5 DES-CBC-MD5 (B), AES256-CTS-HMAC-SHA1-96-SK (J)
    35 0x23 00000000 00000000 00000000 00100011 0, 1, 5 DES-CBC-CRC (A), DES-CBC-MD5 (B), AES256-CTS-HMAC-SHA1-96-SK (J)
    36 0x24 00000000 00000000 00000000 00100100 2, 5 RC4-HMAC (C), AES256-CTS-HMAC-SHA1-96-SK (J)
    37 0x25 00000000 00000000 00000000 00100101 0, 2, 5 DES-CBC-CRC (A), RC4-HMAC (C), AES256-CTS-HMAC-SHA1-96-SK (J)
    38 0x26 00000000 00000000 00000000 00100110 1, 2, 5 DES-CBC-MD5 (B), RC4-HMAC (C), AES256-CTS-HMAC-SHA1-96-SK (J)
    39 0x27 00000000 00000000 00000000 00100111 0, 1, 2, 5 DES-CBC-CRC (A), DES-CBC-MD5 (B), RC4-HMAC (C), AES256-CTS-HMAC-SHA1-96-SK (J)
    40 0x28 00000000 00000000 00000000 00101000 3, 5 AES128-CTS-HMAC-SHA1-96 (D), AES256-CTS-HMAC-SHA1-96-SK (J)
    41 0x29 00000000 00000000 00000000 00101001 0, 3, 5 DES-CBC-CRC (A), AES128-CTS-HMAC-SHA1-96 (D), AES256-CTS-HMAC-SHA1-96-SK (J)
    42 0x2A 00000000 00000000 00000000 00101010 1, 3, 5 DES-CBC-MD5 (B), AES128-CTS-HMAC-SHA1-96 (D), AES256-CTS-HMAC-SHA1-96-SK (J)
    43 0x2B 00000000 00000000 00000000 00101011 0, 1, 3, 5 DES-CBC-CRC (A), DES-CBC-MD5 (B), AES128-CTS-HMAC-SHA1-96 (D), AES256-CTS-HMAC-SHA1-96-SK (J)
    44 0x2C 00000000 00000000 00000000 00101100 2, 3, 5 RC4-HMAC (C), AES128-CTS-HMAC-SHA1-96 (D), AES256-CTS-HMAC-SHA1-96-SK (J)
    45 0x2D 00000000 00000000 00000000 00101101 0, 2, 3, 5 DES-CBC-CRC (A), RC4-HMAC (C), AES128-CTS-HMAC-SHA1-96 (D), AES256-CTS-HMAC-SHA1-96-SK (J)
    46 0x2E 00000000 00000000 00000000 00101110 1, 2, 3, 5 DES-CBC-MD5 (B), RC4-HMAC (C), AES128-CTS-HMAC-SHA1-96 (D), AES256-CTS-HMAC-SHA1-96-SK (J)
    47 0x2F 00000000 00000000 00000000 00101111 0, 1, 2, 3, 5 DES-CBC-CRC (A), DES-CBC-MD5 (B), RC4-HMAC (C), AES128-CTS-HMAC-SHA1-96 (D), AES256-CTS-HMAC-SHA1-96-SK (J)
    48 0x30 00000000 00000000 00000000 00110000 4, 5 AES256-CTS-HMAC-SHA1-96 (E), AES256-CTS-HMAC-SHA1-96-SK (J)
    49 0x31 00000000 00000000 00000000 00110001 0, 4, 5 DES-CBC-CRC (A), AES256-CTS-HMAC-SHA1-96 (E), AES256-CTS-HMAC-SHA1-96-SK (J)
    50 0x32 00000000 00000000 00000000 00110010 1, 4, 5 DES-CBC-MD5 (B), AES256-CTS-HMAC-SHA1-96 (E), AES256-CTS-HMAC-SHA1-96-SK (J)
    51 0x33 00000000 00000000 00000000 00110011 0, 1, 4, 5 DES-CBC-CRC (A), DES-CBC-MD5 (B), AES256-CTS-HMAC-SHA1-96 (E), AES256-CTS-HMAC-SHA1-96-SK (J)
    52 0x34 00000000 00000000 00000000 00110100 2, 4, 5 RC4-HMAC (C), AES256-CTS-HMAC-SHA1-96 (E), AES256-CTS-HMAC-SHA1-96-SK (J)
    53 0x35 00000000 00000000 00000000 00110101 0, 2, 4, 5 DES-CBC-CRC (A), RC4-HMAC (C), AES256-CTS-HMAC-SHA1-96 (E), AES256-CTS-HMAC-SHA1-96-SK (J)
    54 0x36 00000000 00000000 00000000 00110110 1, 2, 4, 5 DES-CBC-MD5 (B), RC4-HMAC (C), AES256-CTS-HMAC-SHA1-96 (E), AES256-CTS-HMAC-SHA1-96-SK (J)
    55 0x37 00000000 00000000 00000000 00110111 0, 1, 2, 4, 5 DES-CBC-CRC (A), DES-CBC-MD5 (B), RC4-HMAC (C), AES256-CTS-HMAC-SHA1-96 (E), AES256-CTS-HMAC-SHA1-96-SK (J)
    56 0x38 00000000 00000000 00000000 00111000 3, 4, 5 AES128-CTS-HMAC-SHA1-96 (D), AES256-CTS-HMAC-SHA1-96 (E), AES256-CTS-HMAC-SHA1-96-SK (J)
    57 0x39 00000000 00000000 00000000 00111001 0, 3, 4, 5 DES-CBC-CRC (A), AES128-CTS-HMAC-SHA1-96 (D), AES256-CTS-HMAC-SHA1-96 (E), AES256-CTS-HMAC-SHA1-96-SK (J)
    58 0x3A 00000000 00000000 00000000 00111010 1, 3, 4, 5 DES-CBC-MD5 (B), AES128-CTS-HMAC-SHA1-96 (D), AES256-CTS-HMAC-SHA1-96 (E), AES256-CTS-HMAC-SHA1-96-SK (J)
    59 0x3B 00000000 00000000 00000000 00111011 0, 1, 3, 4, 5 DES-CBC-CRC (A), DES-CBC-MD5 (B), AES128-CTS-HMAC-SHA1-96 (D), AES256-CTS-HMAC-SHA1-96 (E), AES256-CTS-HMAC-SHA1-96-SK (J)
    60 0x3C 00000000 00000000 00000000 00111100 2, 3, 4, 5 RC4-HMAC (C), AES128-CTS-HMAC-SHA1-96 (D), AES256-CTS-HMAC-SHA1-96 (E), AES256-CTS-HMAC-SHA1-96-SK (J)
  • Hi P50062650 - As far as I know the logic for the referral ticket selection logic is the same for inter-forest trusts, forest trusts and external trusts.  Accessing resources in the trusted domains then reviewing the referral tickets in your cache is the easiest why to confirm what is happening your environment.

  • Hi kathraji  - When you have RC4 and AES 128 enabled on the account, the KDC will default to AES128 when issuing service tickets.  If your current keytab file only contains the RC4 credential (NTLM hash), the application will be unable to decrypt and read the service ticket.  You can use ktpass /in as explained in this article to determine which key(s) are in a keytab file https://learn.microsoft.com/en-us/archive/blogs/pie/all-you-need-to-know-about-keytab-files#i-found-a-keytab-what-should-i-do.    In my experience that is most likely explanation for the app breaking when you enable AES 128 on the service account.

     

    How you can be sure cached tickets will not be used following a change is going to depend on how you application is accessed.  If Kerberos delegation is not configured, you should be able to purge the ticket cache of the client machine which will force it to pull a fresh ticket.  Keep in mind that the cache for a user session is separate from the system's ticket cache.  To purge the system's ticket cache you need to run klist purge –li 0x3e7 from an elevated session.  If Kerberos delegation has been configured, you should purge the tickets on the intermediary for good measure.

     

     

  • kathraji's avatar
    kathraji
    Copper Contributor

    Hi Jerry Devore,

    Thanks for the article its much helpful.I've a below scenario to which trying to find the solution.

    My Application currently running using RC4 encryption through key tab but it will still support AES-128 as well. Currently only RC4 is enabled at AD account level. The future release of Application only supports AES-128 so we wanted to move to new key tab file with AES-128 encryption. Below are the issues we're facing.

    1. We've testing by enabling both AES-128 and RC4 and checking with the current version with RC4 still works.But as soon as we enable AES-128 the SSO of application is broken though its still supporting RC4.How we can resolve this issue?

    KerberosEncryptionType : {RC4, AES128}
    msDS-KeyVersionNumber : 14
    msDS-SupportedEncryptionTypes : 12
    2. how to make sure the application wont use cached tickets after making changes to Supported Encryption types?

  • P50062650's avatar
    P50062650
    Copper Contributor

    Hi JerryDevore great article - can i just check the with regard to referral tickets does this relate to certain types of trusts e.g. parent - child trusts or forest trusts etc

  • just-tim's avatar
    just-tim
    Copper Contributor
    Do know that RC4 can be disabled at the domain level by creating HKEY_LOCAL_MACHINE\System\CurrentControlSet\services\KDC\DefaultDomainSupportedEncTypes on the domain controllers and setting the value to 0x3C. 

    JerryDevore  Is there a decoder ring available to determine the possible HEX values for DefaultDomainSupportedEncTypes? Some sources mention 0x3C includes RC4 and it would be better to use 0x18 or 0x38 to eliminate RC4.

  • Glenn Jefferson's avatar
    Glenn Jefferson
    Copper Contributor

    Thanks for another great article Jerry!  Events 4678 and 4679 have been great for identify impacted systems.  You nailed every point that we had discovered!