
Whisker هي أداة بلغة C# للاستيلاء على حسابات المستخدمين وأجهزة الكمبيوتر في Active Directory عن طريق التلاعب بسمة msDS-KeyCredentialLink الخاصة بهم، مما يضيف بشكل فعال 'Shadow Credentials' إلى الحساب المستهدف.
Whisker هي أداة C# للاستيلاء على حسابات المستخدمين وأجهزة الكمبيوتر في Active Directory عن طريق التلاعب بسمة msDS-KeyCredentialLink الخاصة بهم، مما يضيف فعليًا "بيانات اعتماد الظل" إلى الحساب المستهدف.
تعتمد هذه الأداة على كود من DSInternals بواسطة Michael Grafnetter (@MGrafnetter).
لكي تنجح هذه الهجمة، يجب أن تحتوي البيئة على وحدة تحكم مجال تعمل على الأقل Windows Server 2016، ويجب أن تحتوي وحدة تحكم المجال على شهادة مصادقة خادم للسماح بمصادقة Kerberos PKINIT.
المزيد من التفاصيل متاحة في المقال Shadow Credentials: Abusing Key Trust Account Mapping for Takeover.

/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
/target:<samAccountName>: مطلوب. قم بتعيين اسم الهدف. يجب أن تنتهي كائنات الكمبيوتر بعلامة '$'.
/deviceID:<GUID>: مطلوب. قم بتعيين DeviceID للقيمة المراد إزالتها من السمة msDS-KeyCredentialLink للكائن المستهدف. يجب أن يكون 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