
Whisker è uno strumento C# per assumere il controllo di account utente e computer di Active Directory manipolando il loro attributo msDS-KeyCredentialLink, aggiungendo di fatto "Shadow Credentials" all'account target.
Whisker è uno strumento C# per prendere il controllo di account utente e computer di Active Directory manipolando il loro attributo msDS-KeyCredentialLink, aggiungendo di fatto "Shadow Credentials" all'account target.
Questo strumento si basa sul codice di DSInternals di Michael Grafnetter (@MGrafnetter).
Affinché questo attacco abbia successo, l'ambiente deve avere un Domain Controller che esegua almeno Windows Server 2016, e il Domain Controller deve avere un certificato di autenticazione server per consentire l'autenticazione Kerberos tramite PKINIT.
Maggiori dettagli sono disponibili nell'articolo Shadow Credentials: Abusing Key Trust Account Mapping for Takeover.

/target:<samAccountName>: Obbligatorio. Imposta il nome del target. Gli oggetti computer devono terminare con il simbolo '$'.
/domain:<FQDN>: Opzionale. Imposta il Fully Qualified Domain Name (FQDN) del target. Se non fornito, proverà a risolvere il FQDN dell'utente corrente.
/dc:<IP/HOSTNAME>: Opzionale. Imposta il Domain Controller (DC) target. Se non fornito, proverà a usare il Primary Domain Controller (PDC).
/path:<PATH>: Opzionale. Imposta il percorso per salvare il certificato autofirmato generato per l'autenticazione. Se non fornito, il certificato verrà stampato come blob Base64.
/password:<PASSWORD>: Opzionale. Imposta la password per il certificato autofirmato salvato. Se non fornito, verrà generata una password casuale.
Esempio: Whisker.exe add /target:computername$ /domain:constoso.local /dc:dc1.contoso.local /path:C:\path\to\file.pfx /password:P@ssword1
/target:<samAccountName>: Obbligatorio. Imposta il nome del target. Gli oggetti computer devono terminare con il simbolo '$'.
/deviceID:<GUID>: Obbligatorio. Imposta il DeviceID del valore da rimuovere dall'attributo msDS-KeyCredentialLink dell'oggetto target. Deve essere un GUID valido.
/domain:<FQDN>: Opzionale. Imposta il Fully Qualified Domain Name (FQDN) del target. Se non fornito, proverà a risolvere il FQDN dell'utente corrente.
/dc:<IP/HOSTNAME>: Opzionale. Imposta il Domain Controller (DC) target. Se non fornito, proverà a usare il Primary Domain Controller (PDC).
Esempio: Whisker.exe remove /target:computername$ /domain:constoso.local /dc:dc1.contoso.local /deviceid:2de4643a-2e0b-438f-a99d-5cb058b3254b
/target:<samAccountName>: Obbligatorio. Imposta il nome del target. Gli oggetti computer devono terminare con il simbolo '$'.
/domain:<FQDN>: Opzionale. Imposta il Fully Qualified Domain Name (FQDN) del target. Se non fornito, proverà a risolvere il FQDN dell'utente corrente.
/dc:<IP/HOSTNAME>: Opzionale. Imposta il Domain Controller (DC) target. Se non fornito, proverà a usare il Primary Domain Controller (PDC).
Esempio: Whisker.exe clear /target:computername$ /domain:constoso.local /dc:dc1.contoso.local
⚠️ Attenzione: La cancellazione dell'attributo msDS-KeyCredentialLink di account configurati per l'autenticazione senza password causerà interruzioni.
/target:<samAccountName>: Obbligatorio. Imposta il nome del target. Gli oggetti computer devono terminare con il simbolo '$'.
/domain:<FQDN>: Opzionale. Imposta il Fully Qualified Domain Name (FQDN) del target. Se non fornito, proverà a risolvere il FQDN dell'utente corrente.
/dc:<IP/HOSTNAME>: Opzionale. Imposta il Domain Controller (DC) target. Se non fornito, proverà a usare il Primary Domain Controller (PDC).
Esempio: Whisker.exe list /target:computername$ /domain:constoso.local /dc:dc1.contoso.local