
Whiskerは、Active Directoryのユーザーアカウントとコンピューターアカウントを、それらのmsDS-KeyCredentialLink属性を操作することで乗っ取るためのC#ツールです。これにより、対象アカウントに事実上"Shadow Credentials"を追加します。
Whisker は、Active Directory のユーザーおよびコンピューターアカウントの msDS-KeyCredentialLink 属性を操作して、ターゲットアカウントに「シャドウ資格情報」を実質的に追加することで、それらのアカウントを乗っ取るための C# ツールです。
このツールは、Michael Grafnetter (@MGrafnetter) による DSInternals のコードをベースにしています。
この攻撃を成功させるには、環境に少なくとも Windows Server 2016 を実行しているドメインコントローラーが存在し、そのドメインコントローラーが PKINIT Kerberos 認証を可能にするサーバー認証証明書を持っている必要があります。
詳細は、投稿 Shadow Credentials: Abusing Key Trust Account Mapping for Takeover をご覧ください。

/target:<samAccountName>: 必須。ターゲット名を指定します。コンピューターオブジェクトの末尾には '$' 記号が必要です。
/domain:<FQDN>: オプション。ターゲットの完全修飾ドメイン名 (FQDN) を指定します。指定しない場合、現在のユーザーの FQDN を解決しようとします。
/dc:<IP/HOSTNAME>: オプション。ターゲットのドメインコントローラー (DC) を指定します。指定しない場合、プライマリドメインコントローラー (PDC) をターゲットにしようとします。
/path:<PATH>: オプション。生成された自己署名証明書を保存するパスを指定します。指定しない場合、証明書は Base64 ブロブとして出力されます。
/password:<PASSWORD>: オプション。保存された自己署名証明書のパスワードを指定します。指定しない場合、ランダムなパスワードが生成されます。
例: Whisker.exe add /target:computername$ /domain:constoso.local /dc:dc1.contoso.local /path:C:\path\to\file.pfx /password:P@ssword1
/target:<samAccountName>: 必須。ターゲット名を指定します。コンピューターオブジェクトの末尾には '$' 記号が必要です。
/deviceID:<GUID>: 必須。ターゲットオブジェクトの msDS-KeyCredentialLink 属性から削除する値の DeviceID を指定します。有効な GUID である必要があります。
/domain:<FQDN>: オプション。ターゲットの完全修飾ドメイン名 (FQDN) を指定します。指定しない場合、現在のユーザーの FQDN を解決しようとします。
/dc:<IP/HOSTNAME>: オプション。ターゲットのドメインコントローラー (DC) を指定します。指定しない場合、プライマリドメインコントローラー (PDC) をターゲットにしようとします。
例: Whisker.exe remove /target:computername$ /domain:constoso.local /dc:dc1.contoso.local /deviceid:2de4643a-2e0b-438f-a99d-5cb058b3254b
/target:<samAccountName>: 必須。ターゲット名を指定します。コンピューターオブジェクトの末尾には '$' 記号が必要です。
/domain:<FQDN>: オプション。ターゲットの完全修飾ドメイン名 (FQDN) を指定します。指定しない場合、現在のユーザーの FQDN を解決しようとします。
/dc:<IP/HOSTNAME>: オプション。ターゲットのドメインコントローラー (DC) を指定します。指定しない場合、プライマリドメインコントローラー (PDC) をターゲットにしようとします。
例: Whisker.exe clear /target:computername$ /domain:constoso.local /dc:dc1.contoso.local
⚠️ 警告: パスワードレス認証用に構成されたアカウントの msDS-KeyCredentialLink 属性をクリアすると、障害が発生します。
/target:<samAccountName>: 必須。ターゲット名を指定します。コンピューターオブジェクトの末尾には '$' 記号が必要です。
/domain:<FQDN>: オプション。ターゲットの完全修飾ドメイン名 (FQDN) を指定します。指定しない場合、現在のユーザーの FQDN を解決しようとします。
/dc:<IP/HOSTNAME>: オプション。ターゲットのドメインコントローラー (DC) を指定します。指定しない場合、プライマリドメインコントローラー (PDC) をターゲットにしようとします。
例: Whisker.exe list /target:computername$ /domain:constoso.local /dc:dc1.contoso.local