[cifs-protocol] Significance of empty TrustedDomainSupportedEncryptionTypes value in a TDO 119101021001658

Obaid Farooqi obaidf at microsoft.com
Thu Oct 17 19:19:26 UTC 2019


Hi Alexander:
I am still working on this and will be in touch as soon as I have an answer.

Regards,
Obaid Farooqi
Escalation Engineer | Microsoft

Exceeding your expectations is my highest priority.  If you would like to provide feedback on your case you may contact my manager at ramagane at Microsoft dot com

-----Original Message-----
From: Obaid Farooqi 
Sent: Friday, October 11, 2019 11:06 AM
To: Alexander Bokovoy <ab at samba.org>; cifs-protocol at lists.samba.org
Cc: support <support at mail.support.microsoft.com>
Subject: RE: Significance of empty TrustedDomainSupportedEncryptionTypes value in a TDO 119101021001658

[Tom to Bcc]
Hi Alexander:
I will help you with this issue and will be in touch as soon as I have an answer.

Regards,
Obaid Farooqi
Escalation Engineer | Microsoft

-----Original Message-----
From: Tom Jebo <tomjebo at microsoft.com> 
Sent: Thursday, October 10, 2019 12:41 PM
To: Alexander Bokovoy <ab at samba.org>; cifs-protocol at lists.samba.org
Cc: support <support at mail.support.microsoft.com>
Subject: RE: Significance of empty TrustedDomainSupportedEncryptionTypes value in a TDO 119101021001658

[dochelp to bcc]
[support mail to cc]

Hi Alexander,

Thanks for the question regarding encryption types in trusted domain object. I have created case number 119101021001658 to track this issue and placed the number in the subject of this email. Please refer to it and leave it in the subject when communicating about this issue with our team. One of the Open Specifications team members will get back to you shortly.

Best regards,
Tom Jebo
Sr Escalation Engineer
Microsoft Open Specifications


-----Original Message-----
From: Alexander Bokovoy <ab at samba.org> 
Sent: Wednesday, October 9, 2019 11:09 PM
To: Interoperability Documentation Help <dochelp at microsoft.com>; cifs-protocol at lists.samba.org
Subject: Significance of empty TrustedDomainSupportedEncryptionTypes value in a TDO

Hello dochelp,

I'm seeing an increasing number of cases where trusted domain object, when queried with LsarQueryInfoTrustedDomain operation, level TrustedDomainSupportedEncryptionTypes, returns encryption types field set to all zeros. The query is done with Active Directory domain's administrator privileges, so access checks should grant this access.

However, we see something similar to below, when querying TrustedDomainSupportedEncryptionTypes information class of LsarQueryInfoTrustedDomain between two Active Directory domains based on Microsoft Windows Server versions, the returned value is set to 0:

>rpcclient $> lsaquerytrustdominfobyname example.test 13
>    info                     : union lsa_TrustedDomainInfo(case 13)
>    enc_types: struct lsa_TrustDomainInfoSupportedEncTypes
>        enc_types                : 0x00000000 (0)
>               0: KERB_ENCTYPE_DES_CBC_CRC
>               0: KERB_ENCTYPE_DES_CBC_MD5
>               0: KERB_ENCTYPE_RC4_HMAC_MD5
>               0: KERB_ENCTYPE_AES128_CTS_HMAC_SHA1_96
>               0: KERB_ENCTYPE_AES256_CTS_HMAC_SHA1_96
>               0: KERB_ENCTYPE_FAST_SUPPORTED
>               0: KERB_ENCTYPE_COMPOUND_IDENTITY_SUPPORTED
>               0: KERB_ENCTYPE_CLAIMS_SUPPORTED
>               0: KERB_ENCTYPE_RESOURCE_SID_COMPRESSION_DISABLED

I cannot find any behavioral description for such configuration:
 - what encryption types should be used by the clients to communicate
 - in which situations zeroed encryption types list is expected
 - how zeroed encryption types list is affecting cross-realm
   communication
 - what versions of Windows Server introduced this change

When such TDO is seen between forest root and in-forest domain, we also see KDC_ERR_POLICY response from the forest root DC when a user from in-forest domain attempts to access a resource in a domain from a separate forest. The forests in question trust each other in a direction of access.

I have seen it happening with Windows Server 2019 but we have reports for unspecified older versions (2008-2016).

For completeness, here is how the trusted domain object looks like:
>-----------------
>rpcclient $> lsaquerytrustdominfobyname example.test 12
>    info                     : union lsa_TrustedDomainInfo(case 12)
>    full_info2_internal: struct lsa_TrustDomainInfoFullInfo2Internal
>        info: struct lsa_TrustDomainInfoInfoEx2Internal
>            info_ex: struct lsa_TrustDomainInfoInfoEx
>                domain_name: struct lsa_StringLarge
>                    length                   : 0x0018 (24)
>                    size                     : 0x001A (26)
>                    string                   : *
>                        string                   : 'example.test'
>                netbios_name: struct lsa_StringLarge    
>                    length                   : 0x000C (12)
>                    size                     : 0x000E (14)
>                    string                   : *
>                        string                   : 'EXAMPLE-TEST'
>                sid                      : *
>                    sid                      : S-1-5-21-1234567890-1234567890-12345678
>                trust_direction          : 0x00000003 (3)
>                       1: LSA_TRUST_DIRECTION_INBOUND
>                       1: LSA_TRUST_DIRECTION_OUTBOUND
>                trust_type               : LSA_TRUST_TYPE_UPLEVEL (2)
>                trust_attributes         : 0x00000020 (32)
>                       0: LSA_TRUST_ATTRIBUTE_NON_TRANSITIVE
>                       0: LSA_TRUST_ATTRIBUTE_UPLEVEL_ONLY
>                       0: LSA_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN
>                       0: LSA_TRUST_ATTRIBUTE_FOREST_TRANSITIVE
>                       0: LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION
>                       1: LSA_TRUST_ATTRIBUTE_WITHIN_FOREST
>                       0: LSA_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL
>                       0: LSA_TRUST_ATTRIBUTE_USES_RC4_ENCRYPTION
>            forest_trust_length      : 0x00000000 (0)
>            forest_trust_data        : NULL
>        posix_offset: struct lsa_TrustDomainInfoPosixOffset
>            posix_offset             : 0xc0000000 (3221225472)
>        auth_info: struct lsa_TrustDomainInfoAuthInfo
>            incoming_count           : 0x00000000 (0)
>            incoming_current_auth_info: NULL
>            incoming_previous_auth_info: NULL
>            outgoing_count           : 0x00000000 (0)
>            outgoing_current_auth_info: NULL
>            outgoing_previous_auth_info: NULL
>


--
/ Alexander Bokovoy




More information about the cifs-protocol mailing list