الدرس 21 من 24

Active Directory ومحاكاة الاختبار

استطلاع Active Directory

5 دقيقة للقراءة

Active Directory (AD) حاضر بقوة في OSCP. فهم بنية AD والاستطلاع حاسم لمجموعة AD في الاختبار (تساوي 40 نقطة).

أساسيات AD

المكونات الرئيسية

بنية Active Directory:
├── الغابة (المستوى الأعلى)
│   └── النطاق (corp.local)
│       ├── وحدات تحكم النطاق (DC)
│       ├── الوحدات التنظيمية (OUs)
│       ├── المستخدمون
│       ├── المجموعات
│       ├── الحواسيب
│       └── كائنات سياسة المجموعة (GPOs)

الكائنات المهمة

الكائن الوصف أهمية OSCP
وحدة تحكم النطاق يحمل قاعدة بيانات AD هدف عالي القيمة
مسؤول النطاق تحكم كامل بالنطاق الهدف النهائي
حسابات الخدمة تشغل الخدمات قابلة لـ Kerberoast
حسابات الحاسوب هويات الأجهزة الحركة الجانبية

الاستطلاع الأولي لـ AD

من Linux (بدون بيانات اعتماد)

# إيجاد وحدات تحكم النطاق
nmap -p 88,389,636 --open $NETWORK/24

# LDAP anonymous bind
ldapsearch -x -H ldap://$DC -s base namingcontexts

# الاستطلاع عبر SMB
enum4linux -a $DC
crackmapexec smb $DC

من Windows (منضم للنطاق)

# معلومات النطاق الأساسية
systeminfo | findstr /B /C:"Domain"
echo %userdomain%

# معلومات المستخدم الحالي
whoami /all
net user %username% /domain

# وحدات تحكم النطاق
nltest /dclist:$DOMAIN

استطلاع BloodHound

BloodHound يُصوِّر مسارات هجوم AD. ضروري لـ OSCP.

الجمع بـ SharpHound

# تحميل وتشغيل SharpHound
.\SharpHound.exe -c All

# أو استخدم جامع PowerShell
Import-Module .\SharpHound.ps1
Invoke-BloodHound -CollectionMethod All

# الإخراج: ملف ZIP لاستيراد BloodHound

الجمع من Linux

# bloodhound-python (يتطلب بيانات اعتماد)
bloodhound-python -u 'user' -p 'password' -d corp.local -dc dc.corp.local -c All

# يُخرج ملفات JSON للاستيراد

استعلامات BloodHound الرئيسية

استعلامات جاهزة للتشغيل:
├── إيجاد أقصر مسار لمسؤولي النطاق
├── إيجاد مستخدمين قابلين لـ Kerberoast
├── إيجاد مستخدمين قابلين لـ AS-REP Roast
├── إيجاد حواسيب مع Unconstrained Delegation
└── أقصر مسار من الكيانات المملوكة

استطلاع LDAP

استخدام ldapsearch

# الحصول على base DN
ldapsearch -x -H ldap://$DC -s base namingcontexts

# استطلاع جميع المستخدمين
ldapsearch -x -H ldap://$DC -D "user@corp.local" -w 'password' -b "DC=corp,DC=local" "(objectClass=user)" sAMAccountName

# إيجاد مسؤولي النطاق
ldapsearch -x -H ldap://$DC -D "user@corp.local" -w 'password' -b "DC=corp,DC=local" "(memberOf=CN=Domain Admins,CN=Users,DC=corp,DC=local)"

# حسابات الخدمة (غالباً قابلة لـ Kerberoast)
ldapsearch -x -H ldap://$DC -D "user@corp.local" -w 'password' -b "DC=corp,DC=local" "(servicePrincipalName=*)" sAMAccountName servicePrincipalName

استطلاع PowerView

PowerView هي الأداة المفضلة لاستطلاع AD على Windows.

معلومات النطاق

# استيراد PowerView
Import-Module .\PowerView.ps1

# معلومات النطاق الأساسية
Get-Domain
Get-DomainController

# سياسة النطاق (سياسة كلمة المرور)
Get-DomainPolicy
(Get-DomainPolicy).SystemAccess

استطلاع المستخدمين

# جميع مستخدمي النطاق
Get-DomainUser | select samaccountname

# تفاصيل مستخدم محدد
Get-DomainUser -Identity administrator

# إيجاد مستخدمين مع SPNs (قابلين لـ Kerberoast)
Get-DomainUser -SPN

# إيجاد مستخدمين لا يتطلبون preauth (قابلين لـ AS-REP Roast)
Get-DomainUser -PreauthNotRequired

استطلاع المجموعات

# جميع المجموعات
Get-DomainGroup | select samaccountname

# أعضاء مسؤولي النطاق
Get-DomainGroupMember -Identity "Domain Admins"

# إيجاد مجموعات ينتمي إليها مستخدم
Get-DomainGroup -UserName "targetuser"

استطلاع الحواسيب

# جميع الحواسيب
Get-DomainComputer | select dnshostname,operatingsystem

# إيجاد الخوادم
Get-DomainComputer -OperatingSystem "*Server*"

# إيجاد حواسيب المستخدم الحالي لديه admin عليها
Find-LocalAdminAccess

استطلاع CrackMapExec

من Linux

# استطلاع النطاق مع بيانات اعتماد
crackmapexec smb $DC -u user -p 'password' --users
crackmapexec smb $DC -u user -p 'password' --groups
crackmapexec smb $DC -u user -p 'password' --shares

# فحص الوصول الإداري
crackmapexec smb $NETWORK/24 -u user -p 'password'

# الإخراج: Pwn3d! يعني local admin

أدوات Impacket

# الحصول على مستخدمي النطاق
GetADUsers.py -all corp.local/user:password -dc-ip $DC

# استطلاع SPNs
GetUserSPNs.py corp.local/user:password -dc-ip $DC

# الحصول على مستخدمين قابلين لـ AS-REP roast
GetNPUsers.py corp.local/ -usersfile users.txt -dc-ip $DC

قائمة مراجعة استطلاع AD

□ تحديد وحدات تحكم النطاق
□ رسم اسم وبنية النطاق
□ استطلاع المستخدمين (التركيز على المسؤولين وحسابات الخدمة)
□ استطلاع المجموعات (مسؤولو النطاق والمتميزين)
□ استطلاع الحواسيب (الخوادم ومحطات العمل)
□ تحديد SPNs (حسابات قابلة لـ Kerberoast)
□ إيجاد مستخدمين قابلين لـ AS-REP roast
□ الحصول على سياسة كلمة المرور
□ جمع وتحليل بيانات BloodHound
□ استطلاع المشاركات
□ استطلاع GPO (للثبات/التصعيد)

في الدرس التالي، سنغطي هجمات Active Directory بما في ذلك Kerberoasting وسرقة بيانات الاعتماد. :::

اختبار

الوحدة 6: Active Directory ومحاكاة الاختبار

خذ الاختبار
نشرة أسبوعية مجانية

ابقَ على مسار النيرد

بريد واحد أسبوعياً — دورات، مقالات معمّقة، أدوات، وتجارب ذكاء اصطناعي.

بدون إزعاج. إلغاء الاشتراك في أي وقت.