AD CS Account Persistence
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Questa è una piccola sintesi dei capitoli sulla persistenza della macchina della fantastica ricerca di https://www.specterops.io/assets/resources/Certified_Pre-Owned.pdf
In uno scenario in cui un certificato che consente l'autenticazione del dominio può essere richiesto da un utente, un attaccante ha l'opportunità di richiedere e rubare questo certificato per mantenere la persistenza su una rete. Per impostazione predefinita, il modello User
in Active Directory consente tali richieste, anche se a volte può essere disabilitato.
Utilizzando uno strumento chiamato Certify, è possibile cercare certificati validi che abilitano l'accesso persistente:
È evidenziato che il potere di un certificato risiede nella sua capacità di autenticarsi come l'utente a cui appartiene, indipendentemente da eventuali cambiamenti di password, finché il certificato rimane valido.
I certificati possono essere richiesti tramite un'interfaccia grafica utilizzando certmgr.msc
o tramite la riga di comando con certreq.exe
. Con Certify, il processo per richiedere un certificato è semplificato come segue:
Al termine della richiesta, viene generato un certificato insieme alla sua chiave privata in formato .pem
. Per convertire questo in un file .pfx
, utilizzabile sui sistemi Windows, viene utilizzato il seguente comando:
Il file .pfx
può quindi essere caricato su un sistema target e utilizzato con uno strumento chiamato Rubeus per richiedere un Ticket Granting Ticket (TGT) per l'utente, estendendo l'accesso dell'attaccante per tutto il tempo in cui il certificato è valido (tipicamente un anno):
Un avviso importante viene condiviso su come questa tecnica, combinata con un altro metodo delineato nella sezione THEFT5, consenta a un attaccante di ottenere in modo persistente l'NTLM hash di un account senza interagire con il Local Security Authority Subsystem Service (LSASS) e da un contesto non elevato, fornendo un metodo più furtivo per il furto di credenziali a lungo termine.
Un altro metodo prevede l'iscrizione dell'account macchina di un sistema compromesso per un certificato, utilizzando il modello predefinito Machine
che consente tali azioni. Se un attaccante ottiene privilegi elevati su un sistema, può utilizzare l'account SYSTEM per richiedere certificati, fornendo una forma di persistence:
Questo accesso consente all'attaccante di autenticarsi a Kerberos come account macchina e utilizzare S4U2Self per ottenere ticket di servizio Kerberos per qualsiasi servizio sull'host, concedendo effettivamente all'attaccante accesso persistente alla macchina.
Il metodo finale discusso implica l'utilizzo dei periodi di validità e rinnovo dei modelli di certificato. Rinnovando un certificato prima della sua scadenza, un attaccante può mantenere l'autenticazione ad Active Directory senza la necessità di ulteriori registrazioni di ticket, che potrebbero lasciare tracce sul server dell'Autorità di Certificazione (CA).
Questo approccio consente un metodo di persistenza estesa, riducendo il rischio di rilevamento attraverso interazioni minori con il server CA e evitando la generazione di artefatti che potrebbero allertare gli amministratori sull'intrusione.