Iscriviti al webinar gratuito del 12 Maggio per diventare Forensic Analyst! Scopri di più
Corso Ethical Hacker: accedi alla promozione fino al 30 Aprile! Scopri di più
Quando un attaccante conquista un primo punto d'appoggio in una rete Windows, la domanda successiva è quasi sempre la stessa: dove posso muovermi? La tecnica Domain Trust Discovery risponde a questa domanda, permettendo di mappare le relazioni di fiducia tra domini e foreste Active Directory. In ambienti enterprise, i trust rappresentano il tessuto connettivo che consente agli utenti di un dominio di accedere a risorse di un altro: ogni relazione di fiducia è, potenzialmente, un corridoio di movimento laterale.
Questa tecnica appartiene alla tattica Discovery (TA0007), la fase post-compromissione in cui l'avversario esplora l'ambiente per orientarsi e pianificare le mosse successive. I dati raccolti — direzione del trust, tipo (parent-child, forest, external), transitività — alimentano attacchi come SID-History Injection, Pass the Ticket e Kerberoasting.
I vettori di enumerazione sono molteplici: la chiamata API Win32 DSEnumerateDomainTrusts(), i metodi .NET come GetAllTrustRelationships(), le query LDAP, e soprattutto l'utility nativa Nltest, il coltellino svizzero preferito da almeno 9 gruppi APT documentati. Il panorama include 19 software coinvolti, 3 campagne note e 2 mitigazioni raccomandate, segno che si tratta di una tecnica tanto diffusa quanto sottostimata nelle strategie difensive.
Il bello di questa tecnica è che non servono privilege escalation o tool esoterici: quasi tutto si fa con utility native di Windows, il che la rende perfetta per testare la maturità difensiva del SOC.
Il punto di partenza classico è Nltest (open source, nativo Windows), lo stesso strumento usato da gruppi come FIN8, Chimera e Magic Hound. Da un prompt con credenziali di dominio:
nltest /domain_trusts /all_trusts
Questo comando restituisce tutti i trust, inclusi quelli non transitivi e cross-forest. Per un output più granulare, focalizzato sui domain controller:
nltest /dclist:<nome_dominio>
Se vuoi simulare l'approccio di Akira o dell'operazione SolarWinds Compromise, affianca Nltest con AdFind (gratuito), un tool a riga di comando per query LDAP su Active Directory. La sintassi per estrarre gli oggetti trust è:
AdFind -f "(objectClass=trustedDomain)" -dn
Per chi preferisce restare nel mondo PowerShell — approccio usato da APT29 durante la SolarWinds Compromise — il modulo Active Directory offre il cmdlet nativo:
*Get-ADTrust -Filter **
In alternativa, PowerSploit (open source) fornisce funzioni più granulari dal modulo PowerView:
Get-NetDomainTrust Get-NetForestTrust
Questi comandi mappano trust a livello di dominio e di foresta rispettivamente, restituendo direzione, tipo e transitività.
Per una visione grafica e relazionale, BloodHound (open source) resta lo standard de facto. Dopo aver raccolto i dati con il collector SharpHound, la sezione "Domain Trusts" nel grafo mostra visivamente ogni relazione di fiducia e i percorsi di attacco derivanti. Rubeus (open source) può poi validare operativamente la sfruttabilità dei trust tramite richieste Kerberos cross-domain.
Sul versante dei framework C2, sia Empire (open source) che PoshC2 (open source) includono moduli dedicati all'enumerazione dei trust. Brute Ratel C4 (a pagamento) combina query LDAP e invocazioni di Nltest nella stessa catena operativa.
Un approccio LDAP puro, utile quando i tool non sono disponibili, sfrutta dsquery (nativo Windows):
*dsquery * -filter "(objectClass=trustedDomain)" -attr **
Durante l'esercizio, documenta ogni trust scoperto con direzione e tipo: il report finale dovrebbe evidenziare quali trust sono eccessivi o non più necessari, offrendo al blue team un deliverable concreto per la riduzione della superficie d'attacco.
Scarica la guida gratuita e segui il percorso corretto fin dal primo passo