
أداة لرش Shadow Credentials عبر نطاق كامل أملاً في استغلال قوائم DACL المنسية من نوع GenericWrite/GenericAll على كائنات أخرى في النطاق.
أداة لرش Shadow Credentials عبر نطاق كامل بهدف استغلال قوائم DACL القديمة من نوع GenericWrite/GenericAll المنسية على كائنات أخرى في النطاق.
في العديد من المهام، أرى (في BloodHound) أن مجموعة "الجميع" / "المستخدمون المصادق عليهم" / "مستخدمو النطاق" أو مجموعة واسعة أخرى، والتي تحتوي تقريبًا على جميع المستخدمين في النطاق، لديها بعض قوائم DACL من نوع GenericWrite/GenericAll على كائنات أخرى في النطاق.

يمكن استغلال هذه الصلاحيات لإضافة Shadow Credentials على الكائن المستهدف والحصول على TGT و NT Hash الخاص به.
خطر لي أنه يمكننا ببساطة محاولة رش Shadow Credentials عبر النطاق بأكمله ومعرفة ما ينجح (من الواضح أن هذا النهج مناسب أكثر للمهام غير السرية، لا تستخدم هذا في فريق أحمر حيث السرية مطلوبة). عند إضافة Shadow Credentials بنجاح، نقوم ببساطة برقصة PKINIT + UnPACTheHash بالكامل وهكذا نحصل على NT Hashes.
نظرًا لأن العملية سريعة للغاية، يمكن استخدامها في بداية المهمة، ونأمل أن تحصل على بعض المستخدمين وأجهزة الكمبيوتر المخترقة قبل أن تبدأ حتى.
ملاحظة: لقد أعدت استخدام الكثير من الكود من أداتي السابقة لذا قد تضع علامات على هذا من قبل برامج مكافحة الفيروسات / EDRs كـ KrbRelayUp...
الأمر يسير على النحو التالي:
يدعم ShadowSpray CTRL+C، لذا إذا أردت في أي لحظة إيقاف التنفيذ، فقط اضغط CTRL+C وسيعرض ShadowSpray NT Hashes المستردة حتى الآن قبل الخروج (كما هو موضح في العرض أدناه).
__ __ __ __ __ __
/__` |__| /\ | \ / \ | | /__` |__) |__) /\ \ /
.__/ | | /~~\ |__/ \__/ |/\| .__/ | | \ /~~\ |
الاستخدام: ShadowSpray.exe [-d FQDN] [-dc FQDN] [-u USERNAME] [-p PASSWORD] [-r] [-re] [-cp CERT_PASSWORD] [-ssl]
-r (--RestoreShadowCred) استعادة سمة "msDS-KeyCredentialLink" بعد انتهاء الهجوم. (اختياري)
-re (--Recursive) تنفيذ هجوم ShadowSpray بشكل متكرر. (اختياري)
-cp (--CertificatePassword) كلمة مرور الشهادة. (افتراضي = كلمة مرور عشوائية)
الخيارات العامة:
-u (--Username) اسم المستخدم للمصادقة الأولية على LDAP. (اختياري)
-p (--Password) كلمة المرور للمصادقة الأولية على LDAP. (اختياري)
-d (--Domain) FQDN للنطاق. (اختياري)
-dc (--DomainController) FQDN لوحدة تحكم النطاق. (اختياري)
-ssl استخدام LDAP عبر SSL. (اختياري)
-y (--AutoY) لا تطلب تأكيدًا لبدء هجوم ShadowSpray. (اختياري)
مأخوذ من منشور مدونة إيلاد شامير حول Shadow Credentials:
إذا لم تكن مصادقة PKINIT شائعة في البيئة أو غير شائعة للحساب المستهدف، فإن حدث "تم طلب تذكرة مصادقة Kerberos (TGT)" (4768) يمكن أن يشير إلى سلوك غير طبيعي عندما لا تكون سمات معلومات الشهادة فارغة.
إذا تم تكوين SACL لتدقيق تعديلات كائنات Active Directory للحساب المستهدف، فإن حدث "تم تعديل كائن خدمة الدليل" (5136) يمكن أن يشير إلى سلوك غير طبيعي إذا لم يكن الموضوع الذي يغير msDS-KeyCredentialLink هو حساب مزامنة Azure AD Connect أو حساب خدمة ADFS، والذي سيعمل عادةً كخادم توفير المفاتيح ويقوم بشكل شرعي بتعديل هذه السمة للمستخدمين.
تحكم وقائي أكثر تحديدًا هو إضافة إدخال تحكم الوصول (ACE) لرفض وصول الجميع (EVERYONE) إلى تعديل سمة msDS-KeyCredentialLink لأي حساب ليس من المفترض أن يتم تسجيله في مصادقة Key Trust غير المعتمدة على كلمة المرور، وخاصة الحسابات المميزة.
كشف UnPACing و Shadow Credentials بقلم هنري هامبارتسوميان من FalconForce
كشوفات خاصة بـ ShadowSpray: