Enumerazione Account di Dominio: Domain Account (T1087.002)

L'enumerazione degli account di dominio è una delle attività di ricognizione post-compromise più diffuse e trasversali nel panorama delle intrusioni moderne. La tecnica si colloca nella fase Discovery (TA0007) della kill chain: l'attaccante, ottenuto un primo punto d'appoggio, ha bisogno di capire chi popola l'ambiente Active Directory — amministratori di dominio, service account privilegiati, utenti con accesso a risorse critiche — per decidere dove muoversi lateralmente e quali credenziali puntare.

Nella pratica, si tratta di interrogare il controller di dominio con strumenti spesso già presenti nel sistema operativo: il comando net user /domain su Windows, ldapsearch su Linux, dscacheutil -q group su macOS, o cmdlet PowerShell come Get-ADUser e Get-ADGroupMember. Proprio il fatto che questi tool siano nativi rende la tecnica particolarmente insidiosa: l'attaccante non deve scaricare nulla, non genera firme malware, e l'attività si confonde facilmente con l'operatività IT quotidiana.

I numeri MITRE fotografano questa pervasività: 27 gruppi APT, 25 software, 4 campagne documentate e 1 mitigazione ufficiale. Dai gruppi ransomware come Wizard Spider agli operatori state-sponsored come APT41 e Volt Typhoon, la costante è la stessa — prima si mappa il dominio, poi si colpisce.


La simulazione di questa tecnica è tra le più immediate da eseguire in un engagement red team, perché si basa quasi interamente su binari e moduli nativi. Il punto di partenza classico è la riga di comando Windows con l'utility Net, lo stesso approccio documentato per gruppi come OilRig, Turla e MuddyWater.

Da una shell su un host domain-joined, la sequenza base è lineare:

net user /domain net group "Domain Admins" /domain net group "Exchange Trusted Subsystem" /domain

Questi tre comandi restituiscono rispettivamente l'elenco completo degli utenti di dominio, i membri del gruppo Domain Admins e gli account con privilegi sul sottosistema Exchange — esattamente la catena osservata nelle operazioni di OilRig e replicata da malware come Latrodectus e Brute Ratel C4.

Per una ricognizione più strutturata, il passaggio naturale è PowerShell con il modulo ActiveDirectory (preinstallato sui sistemi con RSAT):

Get-ADUser -Filter * -Properties MemberOf | Select-Object SamAccountName, MemberOf Get-ADGroupMember -Identity "Domain Admins" -Recursive

Questa è la stessa logica impiegata durante la SolarWinds Compromise (C0024), dove APT29 ha utilizzato proprio Get-ADUser e Get-ADGroupMember per mappare gli account di dominio.

Per chi vuole replicare un approccio LDAP diretto, simile a quello di Sandworm Team e IceApple, su Linux si può usare:

ldapsearch -x -H ldap://<DC-IP> -b "DC=lab,DC=local" "(objectClass=user)" sAMAccountName memberOf

Sul versante tool dedicati, BloodHound (open source) con il collector SharpHound rappresenta lo standard de facto per la mappatura dei percorsi di attacco AD. Il collettore si lancia con:

SharpHound.exe -c All -d lab.local

AdFind (gratuito), utilizzato da Mustang Panda, Lotus Blossom e BlackByte, è un altro strumento chiave:

AdFind.exe -f "(objectcategory=person)" -csv name sAMAccountName memberOf

Per scenari più offensivi, CrackMapExec (open source) permette di enumerare utenti di dominio autenticandosi con credenziali compromesse:

crackmapexec smb <DC-IP> -u utente -p password --users

Infine, per simulare l'export massivo di dati AD come documentato per menuPass e FIN7, il binario nativo csvde.exe è perfetto:

csvde -f export_utenti.csv -r "(objectClass=user)" -l "cn,sAMAccountName,memberOf"

Su macOS domain-joined, la ricognizione si effettua con dscacheutil -q group oppure tramite dscl /Active\ Directory/All\ Domains -list /Users, comandi che il SOC dovrebbe monitorare sugli endpoint Apple.


Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?

Scarica la guida gratuita e segui il percorso corretto fin dal primo passo