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]