هجمات Kerberoasting وGolden Ticket
تعلّموا كيف يستخرج Kerberoasting تجزئات تذاكر الخدمات القابلة للكسر دون اتصال، وكيف تمنح هجمات Golden Ticket وصولًا غير محدود إلى Kerberos باستخدام تجزئة KRBTGT مخترقة.
هجمات Kerberoasting وGolden Ticket درس مجاني في Security+ Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Security+ Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Security+ Academy 4 دروس في المجموع.
بنية تذاكر خدمة Kerberos
لفهم هجمات Kerberoasting وGolden Ticket، تحتاجون إلى تصور واضح لكيفية إصدار تذاكر خدمة Kerberos. عندما يريد عميل الوصول إلى خدمة (مثل خادم SQL)، فإنه يقدّم تذكرة منح التذاكر (TGT) إلى خدمة منح التذاكر (TGS) التابعة لوحدة تحكم المجال. تصدر TGS تذكرة خدمة مشفّرة باستخدام تجزئة كلمة مرور حساب الخدمة. ويقدّم العميل هذه التذكرة إلى الخدمة، التي تفك تشفيرها باستخدام تجزئتها الخاصة للتحقق من صحتها. ويعني هذا التصميم أن تذاكر الخدمة تُشفّر باستخدام بيانات اعتماد الخدمة المستهدفة، وهي نقطة مهمة يستغلها هجوم Kerberoasting.
Kerberoasting: كسر كلمات المرور دون اتصال
Kerberoasting هو هجوم يستغل حقيقة أن أي مستخدم مُصادَق عليه في المجال يستطيع طلب تذكرة خدمة Kerberos لأي خدمة مسجّلة باستخدام SPN (اسم المبدأ الخدمي). يطلب المهاجم تذاكر خدمة للحسابات التي تحتوي على SPN، ثم يلتقط كتل التذاكر المشفّرة ويحاول كسر كلمة مرور حساب الخدمة دون اتصال — من دون أي تفاعل إضافي مع Active Directory أو خطر قفل الحساب. وغالبًا ما تكون حسابات الخدمة محمية بكلمات مرور ضعيفة، أو كلمات مرور قديمة تسبق متطلبات التعقيد الحديثة، أو كلمات مرور لا تنتهي صلاحيتها، مما يجعلها شديدة العرضة للكسر دون اتصال.
# Step 1: Find accounts with SPNs (attack setup)
Get-ADUser -Filter {ServicePrincipalName -ne '$null'} -Properties ServicePrincipalName
# Step 2: Request service tickets (using Impacket GetUserSPNs.py)
# GetUserSPNs.py domain/user:password -dc-ip 192.168.1.1 -request
# Outputs $krb5tgs$ hashes ready for cracking with Hashcatكسر تذاكر Kerberos دون اتصال
تُشفّر تجزئات تذاكر الخدمة التي يتم التقاطها في هجوم Kerberoasting باستخدام RC4-HMAC (تجزئة NTLM) افتراضيًا (لأغراض التوافق)، وهي أسرع في الكسر من تذاكر Kerberos المشفّرة باستخدام AES-256. يمرّر المهاجم تجزئات $krb5tgs$23$ الملتقطة إلى Hashcat أو John the Ripper لتنفيذ هجمات القواميس والقوة الغاشمة دون اتصال. ويمكن لقوائم الكلمات الشائعة مثل RockYou، مع مجموعات القواعد، كسر معظم كلمات مرور حسابات الخدمة الضعيفة خلال دقائق إلى ساعات باستخدام عتاد GPU استهلاكي. وبعد كسرها، يحصل المهاجم على كلمة المرور بنصها الصريح لحساب الخدمة، ويمكنه استخدامها للمصادقة مباشرة.
# Crack Kerberoasted hashes with Hashcat
hashcat -m 13100 kerberoast_hashes.txt rockyou.txt \
-r best64.rule \
--force
# Mode 13100 = Kerberos 5, etype 23 (RC4-HMAC service ticket)
# Mode 19600 = Kerberos 5, etype 17 (AES-128) - slower
# Mode 19700 = Kerberos 5, etype 18 (AES-256) - slowestالحماية من Kerberoasting
تستهدف إجراءات الحد من Kerberoasting أربعة مجالات: قوة كلمة المرور — ينبغي أن تستخدم حسابات الخدمة كلمات مرور طويلة وعشوائية (25 حرفًا أو أكثر) تقاوم الكسر دون اتصال حتى مع عناقيد GPU؛ وحسابات الخدمة المُدارة جماعيًا (gMSA) — يدير Windows كلمات مرور gMSA تلقائيًا (قيم عشوائية من 240 حرفًا يتم تغييرها كل 30 يومًا)، مما يجعل Kerberoasting غير قابل للتنفيذ عمليًا من الناحية الحسابية؛ والتشفير باستخدام AES فقط — اضبطوا حسابات الخدمة لطلب تذاكر AES-256 (msDS-SupportedEncryptionTypes)، إذ إن كسرها أبطأ أُسّيًا من كسر RC4؛ والكشف — أطلقوا تنبيهات عند رصد عدد غير معتاد من طلبات TGS (معرّف الحدث 4769) لحسابات الخدمة من محطات عمل غير معتادة.
# Create a Group Managed Service Account (gMSA) - Kerberoasting immune
New-ADServiceAccount -Name 'svc-sql' \
-DNSHostName 'sqlserver.domain.com' \
-PrincipalsAllowedToRetrieveManagedPassword 'SQLServers'
# Install on the SQL server
Install-ADServiceAccount -Identity 'svc-sql'حساب KRBTGT: حارس Kerberos
حساب KRBTGT هو حساب خاص مضمّن في Active Directory، وتُستخدم تجزئة كلمة مروره لتوقيع جميع تذاكر TGT الخاصة بـ Kerberos وتشفيرها في المجال. تستخدم وحدة تحكم المجال تجزئة KRBTGT لإنشاء تذاكر TGT والتحقق من صحة تذاكر TGT الواردة. وهذا يجعل تجزئة KRBTGT أهم بيانات اعتماد منفردة في بيئة Active Directory — إذ يستطيع أي شخص يمتلكها إنشاء تذاكر Kerberos اعتباطية وصالحة بالكامل لأي مستخدم، بما في ذلك المستخدمون غير الموجودين، مع أي عضويات مجموعات ولأي مدة. وعادةً لا تُغيَّر كلمة مرور KRBTGT في كثير من المؤسسات، لأن عملية تغييرها تتطلب تنسيقًا دقيقًا.
# Check when KRBTGT password was last changed
Get-ADUser -Identity KRBTGT -Properties PasswordLastSet |
Select-Object Name, PasswordLastSet
# If PasswordLastSet is years ago, the domain is vulnerable to persistent Golden Ticketsهجوم Golden Ticket: تزوير تذاكر TGT
ينشئ هجوم Golden Ticket تذكرة TGT مزوّرة وصالحة بالكامل من Kerberos باستخدام تجزئة كلمة مرور حساب KRBTGT المخترق. ويستخدم المهاجم الأمر kerberos::golden في Mimikatz لإنشاء تذكرة TGT لأي مستخدم (غالبًا حساب مزيف شبيه بحساب Administrator)، مع أي عضويات مجموعات (تشمل عادةً Domain Admins)، ولأي فترة صلاحية (تُضبط عادةً على 10 سنوات). ولا يمكن لوحدة تحكم المجال تمييز هذه التذكرة المزوّرة عن التذكرة الشرعية، لأنها صالحة تشفيريًا — فقد وُقّعت باستخدام تجزئة KRBTGT الحقيقية. وتمنح Golden Ticket سيطرة كاملة ودائمة وغير محدودة على المجال.
# Mimikatz Golden Ticket creation (attacker perspective - for defender awareness)
# Requires: domain name, domain SID, KRBTGT hash, target username
# mimikatz# kerberos::golden \
# /domain:corp.example.com \
# /sid:S-1-5-21-1234567890-1234567890-1234567890 \
# /krbtgt:aabbccddeeff00112233445566778899 \
# /user:GoldenTicketUser \
# /groups:512,519 \
# /ticket:golden.kirbiسبب استمرار Golden Ticket لفترة طويلة
تُعد Golden Ticket خطيرة بشكل خاص لأنها تستمر حتى بعد اكتشاف الهجوم الأصلي ومعالجته. فتغيير كلمة مرور المستخدم المستهدف لا يفيد، إذ إن التذكرة مزوّرة وليست مبنية على بيانات اعتماد المستخدم الحقيقية. والإجراء العلاجي الوحيد هو تغيير كلمة مرور KRBTGT مرتين (مرة لإبطال التذاكر الحالية، ومرة أخرى لأن هناك مفتاحي KRBTGT في أي وقت لأغراض التدوير). ومع ذلك، تتطلب تغييرات كلمة مرور KRBTGT تنسيقًا دقيقًا؛ فإذا أُجريت بطريقة غير صحيحة، فسوف تؤدي إلى تعطيل مصادقة Kerberos على مستوى المجال بأكمله. وتتردد مؤسسات كثيرة في تنفيذ هذا الإجراء العلاجي، مما يترك Golden Ticket صالحة إلى أجل غير محدد.
# KRBTGT password reset procedure (Microsoft New-KrbtgtKeys.ps1)
# Step 1: Reset KRBTGT password on primary DC
# Step 2: Wait for AD replication (typically 24-48 hours)
# Step 3: Reset KRBTGT password again to invalidate all old tickets
# Step 4: Verify Kerberos authentication working across all sites
# This invalidates ALL existing Kerberos tickets domain-wideهجوم Silver Ticket: تزوير خاص بخدمة
تشبه Silver Ticket Golden Ticket، لكنها محدودة النطاق بدرجة أكبر. فهي تستخدم تجزئة حساب الخدمة المستهدفة (بدلًا من KRBTGT) لتزوير تذكرة خدمة لخدمة محددة فقط. فعلى سبيل المثال، باستخدام تجزئة حساب خدمة خادم SQL، يستطيع المهاجم تزوير تذكرة خدمة تمنحه أي مستوى من الوصول إلى خادم SQL ذلك. ويصعب اكتشاف Silver Ticket أكثر من Golden Ticket لأنها تتجاوز وحدة تحكم المجال بالكامل — إذ تنتقل التذكرة المزوّرة مباشرةً من المهاجم إلى الخدمة من دون أي اتصال بـ KDC. وتتطلب إجراءات الحد من هذا الهجوم حماية تجزئات حسابات الخدمة ومراقبة أنماط الوصول غير المعتادة إلى الخدمات الحساسة.
الحصول على تجزئة KRBTGT: هجوم DCSync
يحصل المهاجمون على تجزئة KRBTGT باستخدام هجوم DCSync، الذي يسيء استخدام بروتوكول نسخ المجال الشرعي في Active Directory. تتيح خدمة نسخ الدليل (DRS) لوحدات تحكم المجال مزامنة بيانات AD، بما في ذلك تجزئات كلمات المرور، فيما بينها. ويمكن لمهاجم يمتلك امتيازات DCSync (عادةً Domain Admin أو Enterprise Admin أو أي حساب يمتلك أذونات Replicating Directory Changes All) انتحال شخصية وحدة تحكم مجال وطلب نسخ التجزئة لأي حساب. وينفذ الأمر lsadump::dcsync في Mimikatz هذا الهجوم بالكامل عبر الشبكة، من دون الحاجة إلى تشغيل أي تعليمات برمجية على وحدة تحكم المجال نفسها.
# DCSync to extract KRBTGT hash (attacker perspective)
# mimikatz# lsadump::dcsync /domain:corp.example.com /user:KRBTGT
# Output includes:
# Hash NTLM: <krbtgt NT hash>
# Hash SHA1: <krbtgt SHA1 hash>
# Key: <AES-256 key>
# Detection: Event ID 4662 from a non-DC source (replication event from workstation = suspicious)اكتشاف نشاط Golden Ticket وSilver Ticket
يصعب اكتشاف استخدام Golden Ticket، لكنه ممكن من خلال البحث عن حالات شاذة في بيانات تعريف تذاكر Kerberos: تذاكر ذات فترات صلاحية طويلة بشكل غير معتاد (تبلغ فترة صلاحية TGT الحقيقية 10 ساعات، بينما تُضبط Golden Ticket غالبًا على 10 سنوات)؛ ومعرّف الحدث 4769 عندما يكون نوع تشفير التذكرة هو RC4 (0x17) في حين يكون AES-256 (0x12) هو الإعداد الافتراضي للمجال؛ وأسماء حسابات في التذاكر غير موجودة في AD؛ وغياب معرّف الحدث 4768 (طلب TGT) قبل معرّف الحدث 4769 (طلب تذكرة خدمة)، إذ تتجاوز Golden Ticket مرحلة طلب TGT لأن تذكرة TGT نفسها مزوّرة. ويمكن لقاعدة في Microsoft Sentinel أو Defender for Identity وضع علامة على هذه الأنماط تلقائيًا.
# Detection: Golden Ticket indicator - no corresponding TGT request
# Normal flow: Event 4768 (TGT requested) -> Event 4769 (service ticket)
# Golden Ticket: Event 4769 WITHOUT preceding 4768 from same host
# Also alert on: TGT encryption type = RC4 in AES-only environments
# Splunk: index=windows EventCode=4769 TicketEncryptionType=0x17
# NOT [expected legacy systems]منع الهجمات المستندة إلى Kerberos
تتضمن استراتيجية الدفاع متعددة الطبقات ضد هجمات Kerberos ما يلي: استخدام gMSA لجميع حسابات الخدمة لجعل Kerberoasting غير قابل للتنفيذ عمليًا؛ وتمكين التشفير باستخدام AES فقط لجميع الحسابات، ولا سيما حسابات الخدمة عالية القيمة، لزيادة صعوبة الكسر إلى أقصى حد؛ وتقييد امتيازات DCSync — تدقيق الحسابات التي تمتلك أذونات النسخ وإزالة أي حسابات لا ينبغي أن تمتلكها؛ وتمكين Microsoft Defender for Identity (المعروف سابقًا باسم ATA)، الذي يوفر كشفًا للتهديدات على دراية بـ Kerberos، بما في ذلك تنبيهات Golden Ticket وKerberoasting وDCSync في الوقت الفعلي؛ وتطبيق نموذج إدارة متعدد المستويات بحيث لا يمكن استخدام حساب Tier 2، حتى عند اختراقه، للوصول إلى بيانات اعتماد على مستوى وحدات تحكم المجال.
# Audit DCSync-capable accounts (these should be very few)
Get-ADUser -Filter * -Properties 'msDS-AllowedToDelegateTo' |
Where {$_.DistinguishedName -notlike '*Domain Controllers*'}
# Check replication permission holders using PowerView:
# Get-ObjectAcl -DistinguishedName 'DC=domain,DC=com' \
# -ResolveGUIDs | \
# Where {$_.ActiveDirectoryRights -like '*ExtendedRight*'}اختبار سريع
اختبروا مدى فهمكم لمفاهيم CompTIA Security+ (SY0-701) الواردة في هذا الدرس.
مراجعة الدرس
تعلّمتم في هذا الدرس ما يلي: يطلب Kerberoasting تذاكر خدمة للحسابات المسجّلة باستخدام SPN ثم يكسرها دون اتصال — ويمكن مواجهته باستخدام gMSA وكلمات المرور القوية والتشفير باستخدام AES فقط، وتستخدم هجمات Golden Ticket تجزئة KRBTGT لتزوير تذاكر TGT غير محدودة، مما يوفر سيطرة دائمة على المجال تستمر حتى إعادة ضبط كلمة مرور KRBTGT مرتين، وتنسخ هجمات DCSync تجزئة KRBTGT عبر الشبكة من دون تشغيل تعليمات برمجية على وحدة تحكم المجال — مما يتطلب تدقيقًا صارمًا لامتيازات DCSync. بعد ذلك، سنستكشف إطار MITRE ATT&CK لربط تقنيات المهاجمين بوسائل الدفاع.
الأسئلة الشائعة
هل درس «هجمات Kerberoasting وGolden Ticket» مجاني؟
نعم — نص درس «هجمات Kerberoasting وGolden Ticket» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Security+ Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Security+ Academy 4 دروس في المجموع.
ماذا ستتعلم في «هجمات Kerberoasting وGolden Ticket»؟
تعلّموا كيف يستخرج Kerberoasting تجزئات تذاكر الخدمات القابلة للكسر دون اتصال، وكيف تمنح هجمات Golden Ticket وصولًا غير محدود إلى Kerberos باستخدام تجزئة KRBTGT مخترقة. تتمرن على Security+ Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Security+ Academy؟
لا تُشترط خبرة سابقة. Security+ Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.
كم من الوقت يستغرق درس «هجمات Kerberoasting وGolden Ticket»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Security+ Academy هذا؟
نعم. كل درس في Security+ Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- دورة حياة APT: من الوصول الأولي إلى الاستمرارية
- الحركة الجانبية: Pass-the-Hash وPass-the-Ticket
- هجمات Kerberoasting وGolden Ticket
- إطار MITRE ATT&CK للكشف والاستجابة