لفهم سبب عمل هجوم Kerberoasting، يجب أولاً فهم أساسيات Kerberos.
Kerberos هو بروتوكول مصادقة يتيح للمستخدمين والخدمات (مثل التطبيقات وقواعد البيانات والخوادم) المصادقة والاتصال بأمان داخل Active Directory والنطاقات الأخرى.
تستخدم عملية مصادقة Kerberos نظام التذاكر. ويوجد في جوهر هذا النظام مركز التوزيع الرئيسي (KDC) الذي يعمل في وحدة التحكم في نطاق الشبكة.
مركز التوزيع الرئيسي هو في الأساس برنامج حماية بوابة النطاق. ويتحقق من المستخدمين والخدمات على الشبكة ويصدر لهم التذاكر. والتذاكر هي بيانات اعتماد تُثبت هويات المستخدمين وتسمح لهم بالوصول إلى الموارد الأخرى على الشبكة. ويتبادل المستخدمون والخدمات هذه التذاكر لإثبات هوياتهم لبعضهم.
عندما يسجل المستخدم الدخول إلى نطاق، يقوم أولاً بالمصادقة مع مركز التوزيع الرئيسي ويتلقى تذكرة منح التذاكر (TGT). وتتيح تذكرة منح التذاكر للمستخدم إمكانية طلب الوصول إلى خدمات النطاق.
عندما يرغب المستخدم في الوصول إلى خدمة، يرسل طلبًا إلى خدمة منح التذاكر (TGS) التابعة لمركز التوزيع الرئيسي. وترافق خدمة منح التذاكر هذا الطلب للتأكيد على هوية المستخدم.
وفي المقابل، يصدر مركز التوزيع الرئيسي تذكرة خدمة، وتسمى أيضًا "تذكرة خدمة منح التذاكر"، تُشفَّر باستخدام كلمة مرور حساب الخدمة. ويهدف هذا إلى التأكد من أن الخدمة المستهدفة فقط هي التي يمكنها التحقق من صحة طلب وصول المستخدم. يقدم المستخدم تذكرة الخدمة هذه إلى الخدمة المستهدفة، والتي تصادق على المستخدم وتبدأ جلسة آمنة.
هناك بعض التفاصيل في تصميم Kerberos تجعله عرضة لهجوم Kerberoasting.
أولاً، لا يتحقق مركز التوزيع الرئيسي مما إذا كان المستخدمون مخولين بالوصول إلى الخدمة. ويمكن لأي مستخدم طلب تذكرة لأي خدمة. ويتعين على الخدمات الفردية فرض الأذونات وحظر المستخدمين غير المصرح لهم. لذلك، لا يحتاج المخترقون إلى الاستيلاء على حسابات مسؤولي النطاقات أو المستخدمين المتميزين الآخرين. ويمكنهم استخدام أي حساب مخترق.
ثانيًا، يجب أن تقترن كل خدمة في نطاق Kerberos بحساب خدمة مسؤول عن تشغيلها على النطاق. وتمكّن حسابات الخدمة بروتوكول Kerberos من مصادقة الخدمات وإصدار تذاكر الخدمة وفرض الضوابط الأمنية. وتمنح هذه الحسابات أيضًا المخترقين هدفًا، لأنها عادة ما تكون ذات امتيازات عالية.
ثالثًا، تُشفَّر تذاكر Kerberos باستخدام تجزئات كلمات المرور الخاصة بالحسابات المرتبطة كمفاتيح. والأهم من ذلك بالنسبة إلى هجوم Kerberoasting هو أن تستخدم تذاكر الخدمة تجزئات كلمات المرور الخاصة بحسابات الخدمة ذات الصلة.
كلمات مرور الحساب هي مفاتيح تشفير متماثلة ملائمة لأن مركز التوزيع الرئيسي والخدمة ذات الصلة فقط هما فقط اللذان يجب أن يعرفا كلمة المرور. ولكن نظرًا إلى أن التذاكر مشفرة باستخدام تجزئات كلمات المرور، يمكن للمخترقين إجراء هندسة عكسية لكلمات مرور حساب الخدمة عن طريق اختراق تشفير التذكرة.
بالإضافة إلى ذلك، غالبًا ما يتم تمكين علامة "كلمة المرور لا تنتهي صلاحيتها أبدًا" في حسابات الخدمة التي تُكوَّن يدويًا. في الشبكات طويلة الأمد، قد يعني هذا أن حسابات الخدمة تستخدم كلمات مرور قديمة جدًا تتبع إرشادات الأمان القديمة، ما يسهل اختراقها.