
Whisker एक C# टूल है जो Active Directory उपयोक्ता और कंप्यूटर खातों के msDS-KeyCredentialLink गुण में हेरफेर करके उन पर नियंत्रण प्राप्त करने के लिए है, प्रभावी रूप से लक्ष्य खाते में "Shadow Credentials" जोड़ता है।
Whisker एक C# टूल है जो Active Directory के उपयोगकर्ता और कंप्यूटर खातों को उनके msDS-KeyCredentialLink एट्रिब्यूट में हेरफेर करके, प्रभावी रूप से लक्ष्य खाते में "Shadow Credentials" जोड़कर, उन पर नियंत्रण लेता है।
यह टूल Michael Grafnetter (@MGrafnetter) द्वारा DSInternals के कोड पर आधारित है।
इस हमले के सफल होने के लिए, परिवेश में कम से कम Windows Server 2016 चलाने वाला एक Domain Controller होना आवश्यक है, और Domain Controller के पास PKINIT Kerberos प्रमाणीकरण की अनुमति देने के लिए एक सर्वर प्रमाणीकरण प्रमाणपत्र होना चाहिए।
अधिक विवरण पोस्ट Shadow Credentials: Abusing Key Trust Account Mapping for Takeover पर उपलब्ध हैं।

/target:<samAccountName>: आवश्यक। लक्ष्य नाम सेट करें। कंप्यूटर ऑब्जेक्ट्स '$' चिह्न के साथ समाप्त होने चाहिए।
/domain:<FQDN>: वैकल्पिक। लक्ष्य पूर्ण योग्य डोमेन नाम (FQDN) सेट करें। यदि प्रदान नहीं किया गया है, तो वर्तमान उपयोगकर्ता के FQDN को हल करने का प्रयास करेगा।
/dc:<IP/HOSTNAME>: वैकल्पिक। लक्ष्य Domain Controller (DC) सेट करें। यदि प्रदान नहीं किया गया है, तो प्राथमिक Domain Controller (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>: आवश्यक। लक्ष्य वस्तु के msDS-KeyCredentialLink एट्रिब्यूट से हटाए जाने वाले मान का DeviceID सेट करें। एक मान्य GUID होना चाहिए।
/domain:<FQDN>: वैकल्पिक। लक्ष्य पूर्ण योग्य डोमेन नाम (FQDN) सेट करें। यदि प्रदान नहीं किया गया है, तो वर्तमान उपयोगकर्ता के FQDN को हल करने का प्रयास करेगा।
/dc:<IP/HOSTNAME>: वैकल्पिक। लक्ष्य Domain Controller (DC) सेट करें। यदि प्रदान नहीं किया गया है, तो प्राथमिक Domain Controller (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>: वैकल्पिक। लक्ष्य Domain Controller (DC) सेट करें। यदि प्रदान नहीं किया गया है, तो प्राथमिक Domain Controller (PDC) को लक्ष्य करने का प्रयास करेगा।
उदाहरण: Whisker.exe clear /target:computername$ /domain:constoso.local /dc:dc1.contoso.local
⚠️ चेतावनी: पासवर्डरहित प्रमाणीकरण के लिए कॉन्फ़िगर किए गए खातों के msDS-KeyCredentialLink एट्रिब्यूट को साफ़ करने से व्यवधान उत्पन्न होंगे।
/target:<samAccountName>: आवश्यक। लक्ष्य नाम सेट करें। कंप्यूटर ऑब्जेक्ट्स '$' चिह्न के साथ समाप्त होने चाहिए।
/domain:<FQDN>: वैकल्पिक। लक्ष्य पूर्ण योग्य डोमेन नाम (FQDN) सेट करें। यदि प्रदान नहीं किया गया है, तो वर्तमान उपयोगकर्ता के FQDN को हल करने का प्रयास करेगा।
/dc:<IP/HOSTNAME>: वैकल्पिक। लक्ष्य Domain Controller (DC) सेट करें। यदि प्रदान नहीं किया गया है, तो प्राथमिक Domain Controller (PDC) को लक्ष्य करने का प्रयास करेगा।
उदाहरण: Whisker.exe list /target:computername$ /domain:constoso.local /dc:dc1.contoso.local