关于WhiskerWhisker是一款基于C#开发的工具,通过篡改目标账户的msDS-KeyCredentialLink或添加“影子凭证”。该工具主要基于DSInternals项目代码实现其功能。攻击要成功,环境必须是运行最新版本WindowsServer2016的域控制器,并且域控制器必须有支持PKINITKerberos认证的服务器认证证书。工具下载研究人员可以使用以下命令将项目的源代码克隆到本地并构建代码:gitclonehttps://github.com/eladshamir/Whisker.git该工具用于向msDS-KeyCredentialLink添加新值目标对象的属性:/target::required。设置目标名称,计算机对象必须以“$”结尾。/域::可选。设置目标完全限定域名(FQDN)。如果未提供此值,该工具将尝试解析当前用户的FQDN。/dc::可选。设置目标域控制器(DC),如果未提供此值,该工具将尝试攻击主域控制器(PDC)。/路径::可选。设置生成的自签名证书的存放路径,如果不提供该值,将以Base64格式打印证书。/密码::可选。为存储的自签名证书设置密码,如果未提供此值,将生成一个随机密码。用法示例:Whisker.exeadd/target:computername$/domain:constoso.local/dc:dc1.contoso.local/path:C:\path\to\file.pfx/password:P@ssword1来自msDS目标对象-KeyCredentialLink属性删除了一个值:/target::required。设置目标名称,计算机对象必须以“$”结尾。/deviceID::必需。在目标对象的msDS-KeyCredentialLink属性中设置要删除的值的DeviceID,必须是合法的GUID。/域::可选。设置目标完全限定域名(FQDN)。如果未提供此值,该工具将尝试解析当前用户的FQDN。/dc::可选。设置目标域控制器(DC),如果未提供此值,该工具将尝试攻击主域控制器(PDC)。用法示例:Whisker.exeremove/target:computername$/domain:constoso.local/dc:dc1.contoso.local/remove:2de4643a-2e0b-438f-a99d-5cb058b3254b清除msDS-KeyCredentialLink属性的所有值目标对象:/target::required。设置目标名称,计算机对象必须以“$”结尾。/域::可选。设置目标完全限定域名(FQDN)。如果未提供此值,该工具将尝试解析当前用户的FQDN。/dc::可选。设置目标域控制器(DC),如果未提供此值,该工具将尝试攻击主域控制器(PDC)。用法示例:Whisker.execlear/target:computername$/domain:constoso.local/dc:dc1.contoso.local输出目标对象的msDS-KeyCredentialLink属性的所有值:/target::required。设置目标名称,计算机对象必须以“$”结尾。/域::可选。设置目标完全限定域名(FQDN)。如果未提供此值,该工具将尝试解析当前用户的FQDN。/dc::可选。设置目标域控制器(DC),如果未提供此值,该工具将尝试攻击主域控制器(PDC)。使用示例:Whisker.exelist/target:computername$/domain:constoso.local/dc:dc1.contoso.local项目地址Whisker:[GitHub传送门]
