Adversaries may attempt to gather information on domain trust relationships that may be used to identify lateral movement opportunities in Windows multi-domain/forest environments. Domain trusts provide a mechanism for a domain to allow access to resources based on the authentication procedures of another domain.[1] Domain trusts allow the users of the trusted domain to access resources in the trusting domain. The information discovered may help the adversary conduct SID-History Injection, Pass the Ticket, and Kerberoasting.[2][3] Domain trusts can be enumerated using the DSEnumerateDomainTrusts() Win32 API call, .NET methods, and LDAP.[3] The Windows utility Nltest is known to be used by adversaries to enumerate domain trusts.[4]
| ID | Name | Description | 
|---|---|---|
| S0552 | AdFind | AdFind can gather information about organizational units (OUs) and domain trusts from Active Directory.[5][6][7] | 
| G0016 | APT29 | APT29 used the  | 
| S0534 | Bazar | Bazar can use Nltest tools to obtain information about the domain.[10][11] | 
| S0521 | BloodHound | BloodHound has the ability to map domain trusts and identify misconfigurations for potential abuse.[12] | 
| G0114 | Chimera | Chimera has  | 
| S0105 | dsquery | dsquery can be used to gather information on domain trusts with  | 
| S0363 | Empire | |
| G0061 | FIN8 | FIN8 has retrieved a list of trusted domains by using  | 
| S0359 | Nltest | Nltest may be used to enumerate trusted domains by using commands such as  | 
| S0378 | PoshC2 | |
| S0194 | PowerSploit | PowerSploit has modules such as  | 
| S0650 | QakBot | QakBot can run  | 
| S0266 | TrickBot | TrickBot can gather information about domain trusts by utilizing Nltest.[17][22] | 
| ID | Mitigation | Description | 
|---|---|---|
| M1047 | Audit | Map the trusts within existing domains/forests and keep trust relationships to a minimum. | 
| M1030 | Network Segmentation | Employ network segmentation for sensitive domains.[3]. | 
| ID | Data Source | Data Component | 
|---|---|---|
| DS0017 | Command | Command Execution | 
| DS0009 | Process | OS API Execution | 
| Process Creation | ||
| DS0012 | Script | Script Execution | 
System and network discovery techniques normally occur throughout an operation as an adversary learns the environment. Data and events should not be viewed in isolation but as part of a chain of behavior that could lead to other activities based on the information obtained.
Monitor processes and command-line arguments for actions that could be taken to gather system and network information, such as nltest /domain_trusts. Remote access tools with built-in features may interact directly with the Windows API to gather information. Look for the DSEnumerateDomainTrusts() Win32 API call to spot activity associated with Domain Trust Discovery.[3] Information may also be acquired through Windows system management tools such as PowerShell. The .NET method GetAllTrustRelationships() can be an indicator of Domain Trust Discovery.[23]