LAPS
Informazioni di Base
Local Administrator Password Solution (LAPS) è uno strumento utilizzato per gestire un sistema in cui le password degli amministratori, che sono uniche, generate casualmente e cambiate frequentemente, vengono applicate ai computer connessi al dominio. Queste password sono memorizzate in modo sicuro all'interno di Active Directory e sono accessibili solo agli utenti a cui è stata concessa l'autorizzazione tramite le Liste di Controllo Accessi (ACL). La sicurezza delle trasmissioni delle password dal client al server è garantita dall'uso di Kerberos versione 5 e Advanced Encryption Standard (AES).
Negli oggetti computer del dominio, l'implementazione di LAPS comporta l'aggiunta di due nuovi attributi: ms-mcs-AdmPwd
e ms-mcs-AdmPwdExpirationTime
. Questi attributi memorizzano rispettivamente la password dell'amministratore in testo normale e il suo tempo di scadenza.
Verifica se attivato
Accesso alla password di LAPS
È possibile scaricare la policy LAPS grezza da \\dc\SysVol\domain\Policies\{4A8A4E8E-929F-401A-95BD-A7D40E0976C8}\Machine\Registry.pol
e quindi utilizzare Parse-PolFile
dal pacchetto GPRegistryPolicyParser per convertire questo file in un formato leggibile dall'utente.
Inoltre, i cmdlet PowerShell nativi di LAPS possono essere utilizzati se sono installati su una macchina a cui abbiamo accesso:
PowerView può anche essere utilizzato per scoprire chi può leggere la password e leggerla:
LAPSToolkit
Il LAPSToolkit facilita l'enumerazione di LAPS con diverse funzioni. Uno di questi è il parsing di ExtendedRights
per tutti i computer con LAPS abilitato. Questo mostrerà i gruppi specificamente delegati alla lettura delle password LAPS, che spesso sono utenti in gruppi protetti. Un account che ha unito un computer a un dominio riceve All Extended Rights
su quell'host, e questo diritto conferisce all'account la capacità di leggere le password. L'enumerazione può mostrare un account utente che può leggere la password LAPS su un host. Questo può aiutarci a individuare utenti AD specifici che possono leggere le password LAPS.
Dumping Password di LAPS con Crackmapexec
Se non c'è accesso a un powershell, è possibile abusare di questo privilegio in remoto tramite LDAP utilizzando
Persistenza LAPS
Data di Scadenza
Una volta ottenuti i privilegi di amministratore, è possibile ottenere le password e impedire a una macchina di aggiornare la sua password impostando la data di scadenza in futuro.
La password verrà comunque reimpostata se un amministratore utilizza il cmdlet Reset-AdmPwdPassword
; o se è abilitata l'opzione Non consentire un tempo di scadenza della password più lungo di quanto richiesto dalla policy nella GPO di LAPS.
Backdoor
Il codice sorgente originale per LAPS può essere trovato qui, quindi è possibile inserire un backdoor nel codice (all'interno del metodo Get-AdmPwdPassword
in Main/AdmPwd.PS/Main.cs
ad esempio) che in qualche modo esfiltrerà nuove password o le memorizzerà da qualche parte.
Quindi, compilare il nuovo AdmPwd.PS.dll
e caricarlo sulla macchina in C:\Tools\admpwd\Main\AdmPwd.PS\bin\Debug\AdmPwd.PS.dll
(e modificare l'orario di modifica).
Riferimenti
Last updated