
Analizza e risolve la DACL di un singolo principal di Active Directory per identificare i privilegi di accesso in entrata, risolvere i SID e registrare gli attributi LDAP per l'ingestione in BloodHound, consentendo un'analisi mirata dei percorsi di escalation dei privilegi.
Aced è uno strumento per analizzare e risolvere la DACL di un singolo principal di Active Directory target. Aced identificherà i privilegi di accesso in ingresso interessanti concessi contro l'account target, risolverà i SID delle autorizzazioni in ingresso e presenterà tali dati all'operatore. Inoltre, le funzionalità di logging di pyldapsearch sono state integrate con Aced per registrare localmente gli attributi LDAP del principal target, che possono poi essere analizzati dallo strumento compagno di pyldapsearch BOFHound per importare i dati raccolti in BloodHound.
Ho scritto Aced semplicemente perché volevo un approccio più mirato per interrogare le ACL. Bloodhound è fantastico, tuttavia è estremamente rumoroso. Bloodhound raccoglie tutte le cose mentre Aced raccoglie una singola cosa, dando all'operatore più controllo su come e quali dati vengono raccolti. Il caso di rilevamento è ridotto interrogando solo ciò che LDAP vuole dirti e non eseguendo un'azione nota come "query LDAP costose". Aced ha l'opzione di rinunciare alle connessioni SMB per la risoluzione del nome host. Hai l'opzione di preferire LDAPS a LDAP. Con l'integrazione aggiuntiva con BloodHound, i dati raccolti possono essere memorizzati in un formato familiare che può essere condiviso con un team. I percorsi di attacco per l'escalation dei privilegi possono essere costruiti camminando all'indietro dall'obiettivo target.
Grazie ai seguenti per tutto il codice che ho rubato:
@_dirkjan
@fortaliceLLC
@eloygpz
@coffeegist
@tw1sm
└─# python3 aced.py -h
_____
|A . | _____
| /.\ ||A ^ | _____
|(_._)|| / \ ||A _ | _____
| | || \ / || ( ) ||A_ _ |
|____V|| . ||(_'_)||( v )|
|____V|| | || \ / |
|____V|| . |
|____V|
v1.0
Parse and log a target principal's DACL.
@garrfoster
usage: aced.py [-h] [-ldaps] [-dc-ip DC_IP] [-k] [-no-pass] [-hashes LMHASH:NTHASH] [-aes hex key] [-debug] [-no-smb] target
Tool to enumerate a single target's DACL in Active Directory
optional arguments:
-h, --help show this help message and exit
Authentication:
target [[domain/username[:password]@]<address>
-ldaps Use LDAPS isntead of LDAP
Optional Flags:
-dc-ip DC_IP IP address or FQDN of domain controller
-k, --kerberos Use Kerberos authentication. Grabs credentials from ccache file (KRB5CCNAME) based on target parameters. If valid
credentials cannot be found, it will use the ones specified in the command line
-no-pass don't ask for password (useful for -k)
-hashes LMHASH:NTHASH
LM and NT hashes, format is LMHASH:NTHASH
-aes hex key AES key to use for Kerberos Authentication (128 or 256 bits)
-debug Enable verbose logging.
-no-smb Do not resolve DC hostname through SMB. Requires a FQDN with -dc-ip.
Nel demo qui sotto, abbiamo le credenziali per l'account corp.local\lowpriv. Iniziando l'enumerazione da Domain Admins, viene identificato un potenziale percorso per l'escalation dei privilegi camminando all'indietro dall'obiettivo di alto valore.
Ed ecco come appaiono quei dati quando vengono trasformati da bofhound e importati in BloodHound.
