نقوم بتحليل الهجمات على Kerberos باستخدام Rubeus. الجزء 2





مرحبا!



هذا هو الجزء الثاني من المقالة حول إمكانيات أداة هجوم بروتوكول Kerberos ، Rubeus. يمكن قراءة الأول هنا . هذه المرة سوف ننظر في كيفية استخدام هذه الأداة من الممكن تنفيذ الهجمات التالية:




  • تجاوز The Hash / Pass the Key (PTK) ؛
  • تمرير تذكرة ؛
  • تفويض غير مقيد ؛
  • تفويض مقيد.


لقد تمت كتابة الكثير بالفعل حول سبب إمكانية حدوث هذه الهجمات ، وما هي آليات تنفيذها الموجودة ، وما هو المبدأ الذي يكمن وراء عمل Kerberos (على سبيل المثال ، نشر زملاء من Jet Infosystems مقالًا جيدًا مع التحليل ) ، لذلك سأركز في مقالتي على تنفيذ الهجمات مع باستخدام روبيوس.



بالإضافة إلى "الإجراءات" لتنفيذ الهجمات والتفاعل مع Kerberos ، فإن Rubeus لديه تافه صغير لطيف: استنادًا إلى كلمة المرور في المسح ، يمكنه حساب تجزئة NTLM ، والتي تكون أحيانًا مريحة ومفيدة للغاية.







هذا يخلص إلى انحراف غنائي صغير ، دعنا نعود إلى الجزء الرئيسي.

بقيت منصة الاختبار لشن الهجمات دون تغيير منذ الجزء الأول من المقالة .



تجاوز The Hash / Pass the Key (PTK)







Pass-the-hash — . , NTLM LM.

ولكن ماذا لو تم تعطيل مصادقة NTLM أو LM على الشبكة وتم استخدام مصادقة Kerberos فقط ، ولديك تجزئة كلمة المرور؟ هذا هو المكان الذي يتم فيه تشغيل Overpass-the-hash - باستخدام تجزئة كلمة المرور الحالية للمستخدم ، يمكن لـ Rubeus طلب تذكرة TGT لهذا الحساب.



هنا هو مستخدم المجال ، قرر Barsik دراسة مشكلات أمن المعلومات ، في مكان ما حصل على تجزئة كلمة المرور لمسؤول مجال ADadmin ، وقام بتنزيل Rubeus ، وقراءة المقالات الذكية ويحاول وضعها موضع التنفيذ.







ونحن نرى أنه لايوجد تذاكر مؤقتا، كما أنه لا توجد لديها إمكانية الوصول إلى وحدة تحكم المجال DC-16.meow.local، ولكن بعد ذلك Barsik تطلق Rubeus مع "العمل" asktgtوالحجج /domain, /user, /rc4, /pttمن أجل الحصول على تذكرة TGT صالحة على أساس تجزئة كلمة المرور الحالية لحساب ADadmin، حجة/pttسيقوم على الفور بتحميل التذكرة المستلمة إلى الجلسة الحالية لمستخدم Barsik.







يتم استلام التذكرة وتحميلها ، يحاول Barsik مرة أخرى تسجيل الدخول إلى وحدة تحكم المجال باسم Adadmin.







وهذه المرة يفعل ذلك بنجاح.



اجتياز التذكرة (PTT)



هذا الهجوم مشابه لـ Overpass-the-hash / Pass-the-key ، يحاول المهاجم الحصول على تذكرة مستخدم المجال (ويفضل أن يكون بامتيازات قصوى في المجال) وتحميلها في الجلسة الحالية. تتمثل إحدى طرق الحصول على تذاكر TGT في تفريغ التذاكر محليًا على جهاز النطاق الحالي من العملية lsass.exe(خادم مصادقة الأمان المحلي). للقيام بذلك ، يجب أن يكون لديك امتيازات المسؤول المحلي ، ويفضل أن يكون NT السلطة / النظام. يمكن لـ Rubeus تفريغ التذاكر المخزنة في lsass باستخدام إجراء التفريغ ، وسيظهر إجراء الفرز التذاكر المخزنة حاليًا في النظام.











يقوم Rubeus بإفراغ التذاكر من lsassالتشفير base64، بينما تحتوي الأداة نفسها على ملاحظة حول كيفية حفظ base64التذكرة المستلمة .kirbi.







لنحفظ ونستورد التذكرة في جلسة المستخدم الحالية.







كما ترى من لقطة الشاشة ، تم تحميل بطاقة ADadmin بنجاح ويمكننا عرض محتويات محرك الأقراص C على وحدة تحكم المجال DC-16.meow.local نيابة عن ADadmin.



تفويض غير مقيد



التفويض غير المقيد هو امتياز المجال الذي يمكن منحه لحسابات المستخدمين أو أجهزة الكمبيوتر. يسمح للحساب بالمصادقة إلى خدمة على الشبكة كحساب آخر.



حان الوقت الآن "لتعديل" منصة الاختبار قليلاً وتمكين التفويض غير المحدود: سنمنح امتياز التفويض غير المحدود إلى BARSCOMP.







تتمثل إحدى مراحل اختبار أمان مجال Active Directory في البحث عن الحسابات التي تم تمكين التفويض لها ، وعادةً ما يتم استخدام Powerview لهذا الغرض ، ولكن يمكنك أيضًا يدويًا استخدام وحدة ActiveDirectory القياسية.







لتنفيذ هذا الهجوم ، سأستخدم خلل الطابعةالذي تم تفصيله من قبل لي كريستنسن من SpecterOps. يمكن لأي مستخدم مصادق عليه الاتصال بخادم طباعة وحدة تحكم المجال عن بُعد وطلب تحديث لمهام الطباعة الجديدة عن طريق إخباره بإرسال إشعار إلى حساب تفويض غير مقيد. كتب Lee Christensen تطبيق SpoolSample ، الذي يستدعي خدمة طباعة الأقراص المضغوطة باستخدام بروتوكول MS-RPRN.



على جهاز الكمبيوتر الذي سيتم تنفيذ الهجوم منه (BARSCOMP.meow.local) ، تحتاج إلى بدء Rubeus في وضع المراقبة باستخدام "الإجراء" monitoring. يتطلب هذا الوضع امتيازات NT ATHORITY / SYSTEM ويستمع إلى تذاكر TGT / TGS الجديدة في عملية lsass. /interval:1سأحدد مع حجة (بالثواني) الفاصل الزمني لاستقصاء lsass للحصول على تذاكر جديدة ، ومع حجة/filteruser:DC-16$سأقوم بتعيين عامل تصفية لعرض تذاكر DC-16 $ فقط







يتم تشغيل Rubeus ، بالتوازي في جلسة أخرى ، أقوم بتشغيل SpoolSample.exe بالحجج dc-16.meow.local(الجهاز المهاجم ) و barscomp.meow.local(مضيف "الاستماع" الخاص بنا).







دعونا نرى ما "رصده" روبيوس.







اشتعلت تذكرة TGT لحساب وحدة تحكم المجال. يمكنك الآن ، باستخدام هجوم Pass-the-Tick المعروف بالفعل ، استيراد تذكرة واستخدام mimikatz لتنفيذ هجوم DCSync للحصول على تجزئة NTLM لحساب krbtgt (وكما تعلم بالفعل من الجزء الأول من المقالة ، يمكن استخدام تجزئة هذا الحساب لإنشاء التذكرة الذهبية والتقاط نطاق AD الكامل).





يرجى ملاحظة أن Rubeus يفهم التذاكر في شكل ملف .kirbi وفي سلسلة مشفرة base64.

تفويض مقيد



إذا تمكن أحد المهاجمين من اختراق حساب مستخدم أو كمبيوتر تم تمكين التفويض المحدود له ، فيمكنه انتحال صفة أي مستخدم في المجال والمصادقة مع الخدمة المسموح بها للتفويض.



أنشئ نسخة احتياطية لمستخدم مجال جديد باستخدام كلمة المرور B @ ckup1234 ، وقم بتعيينها SPN لخدمة cifs على وحدة تحكم المجال.







يمكنك الآن تعيين القدرة على تفويض خدمات ldap و cifs على وحدة تحكم المجال DC-16.meow.local لهذا الحساب.







يمكن أيضًا تحديد الحسابات المسموح بها للتفويض المحدود باستخدام Powerview أو وحدة ActiveDirectory النمطية.







معرفة كلمة المرور أو تجزئة NTLM لحساب meow.local \ Backup ، باستخدام Rubeus يمكنك طلب تذكرة TGT لها.







الآن ، باستخدام s4u "action" في Rubeus ، يمكنك طلب TGS لمستخدم مسموح له بالمصادقة على خدمة cifs \ dc-16.meow.local (على سبيل المثال ، مسؤول مجال ADadmin).







هنا أدخل التذكرة التي تلقيتها سابقًا لحساب النسخ الاحتياطي ؛ / impersonateuser - المستخدم الذي أريد الحصول على حقوقه ؛ / المجال - المجال الذي يحدث فيه كل شيء ؛ / msdsspn / asltservice - الخدمة التي تتطلب TGS ؛ / ptt - استيراد التذكرة المستلمة على الفور إلى الجلسة الحالية.



إليك ما يحدث في Rubeus:







هنا يمكنك أن ترى أنه مع التفويض المقيد يتم تمكين ملحقات Kerberos 2: هذه هي S4U2self و S4U2proxy.



يتيح S4U2self لمديري الخدمة طلب TGS خاص بهم FORWARDABLE نيابة عن مستخدم معين. هذا ضروري حتى يمكن استخدام هذه التذكرة لاحقًا بواسطة ملحق S4U2proxy.



يسمح S4U2proxy للمتصل باستخدام هذه التذكرة الخاصة لطلب TGS الخاص بالمستخدم للخدمة المسموح بها للتفويض (في هذه الحالة cifs \ dc-16.meow.local). يمكنك قراءة المزيد حول هذا الموضوع هنا و هنا .



في هذا الوقت ، تلقى Rubeus بالفعل التذكرة النهائية واستوردها في الجلسة الحالية.







دعونا نرى ما إذا كان بإمكاننا رؤية محرك الأقراص C على وحدة تحكم المجال مع التذكرة المستلمة.







نعم ، كل شيء سار على ما يرام.



بهذا نختتم مراجعتي لهذه الأداة ، بشكل عام أحببتها ، لطيفة وسهلة الاستخدام ، مع وظائف جيدة. آمل أنه بعد قراءة هذه المقالات ، ستأخذها في الخدمة.



شكرا لكم على اهتمامكم ، الجميع بخير ، لا تمرضوا!



All Articles