C#-инструмент для захвата учётных записей пользователей и компьютеров Active Directory через манипуляцию атрибутом msDS-KeyCredentialLink ('Shadow Credentials').
C#-инструмент для атак на Kerberos в среде Active Directory: AS-REP Roasting, Kerberoasting, Pass-the-Ticket, Overpass-the-Hash, Golden/Silver Ticket, …
Инструмент для злоупотребления сертификатами и службами сертификации Active Directory (AD CS).
Инструмент для локального повышения привилегий в доменных средах Windows при отсутствии обязательной подписи LDAP.
Приложение на C#, использующее права редактирования объекта групповой политики (GPO) для компрометации управляемых им объектов.
git clone https://github.com/eladshamir/Whisker.git # Visual Studio: открыть Whisker.sln -> Build # или командная строка: dotnet build Whisker.csproj # Готовый EXE доступен в GitHub Releases
Whisker — это утилита на языке C# для захвата учётных записей пользователей и компьютеров Active Directory путем изменения их атрибута msDS-KeyCredentialLink, что эффективно добавляет «Shadow Credentials» на целевую учётную запись.
Этот инструмент основан на коде проекта DSInternals Майкла Графнеттера (@MGrafnetter).
Для успешного выполнения этой атаки среда должна содержать контроллер домена, работающий не ранее чем на Windows Server 2016, а также контроллер домена должен иметь сертификат серверной аутентификации для поддержки аутентификации PKINIT Kerberos.
Дополнительные детали доступны в статье Shadow Credentials: Abusing Key Trust Account Mapping for Takeover.

msDS-KeyCredentialLink целевого объекта:/target:<samAccountName>: Обязательный параметр. Укажите имя целевой учётной записи. Объекты компьютеров должны оканчиваться символом '$'./domain:<FQDN>: Необязательный параметр. Укажите полное доменное имя (FQDN) целевой учётной записи. Если не указано, будет попытка разрешить FQDN текущей пользователя./dc:<IP/HOSTNAME>: Необязательный параметр. Укажите целевой контроллер домена (DC). Если не указано, будет использоваться основной контроллер домена (PDC)./path:<PATH>: Необязательный параметр. Укажите путь для сохранения созданного самоподписанного сертификата для аутентификации. Если не указано, сертификат будет выведен как Base64-строка./password:<PASWORD>: Необязательный параметр. Укажите пароль для сохранённого самоподписанного сертификата. Если не указано, будет сгенерирован случайный пароль.Пример: Whisker.exe add /target:computername$ /domain:constoso.local /dc:dc1.contoso.local /path:C:\path\to\file.pfx /password:P@ssword1
msDS-KeyCredentialLink целевого объекта:/target:<samAccountName>: Обязательный параметр. Укажите имя целевой учётной записи. Объекты компьютеров должны оканчиваться символом '$'./deviceID:<GUID>: Обязательный параметр. Укажите DeviceID значения, которое необходимо удалить из атрибута msDS-KeyCredentialsLink целевого объекта. Должен быть допустимым 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
msDS-KeyCredentialLink целевого объекта:/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 учётных записей, настроенных для беспарольной аутентификации, может вызвать нарушения в работе.
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