المختبر 2.2: VM مؤقتة للاختبارات التدميرية
أهداف التعلم
في نهاية هذا المختبر، ستكون قادرًا على:
- إنشاء VM Windows محسنة للاختبارات
- استخدام اللقطات للاختبار بدون مخاطر
- إجراء اختبارات تدميرية بأمان
- فهم الاستنساخ والنسخ المرتبطة
- إنشاء بيئة مختبر قابلة لإعادة الاستخدام
المدة المقدرة
25 دقيقة
المتطلبات الأساسية
- تثبيت VirtualBox أو VMware
- VM Windows 10/11 وظيفية
- 20 جيجابايت من المساحة الحرة على القرص كحد أدنى
السياق المهني
بصفتك مسؤول نظام أو محترف أمني، غالبًا ما تحتاج إلى:
- اختبار التكوينات التي قد تكسر النظام
- التحقق من تأثير البرمجيات الخبيثة (في بيئة معزولة)
- التجربة مع تعديلات النظام الخطيرة
- تدريب المستخدمين على الأخطاء الشائعة
تسمح VMs المؤقتة بـ:
- اختبار كل شيء بدون خوف
- العودة إلى الوراء فورًا
- مضاعفة بيئات الاختبار
- العزل الكامل عن النظام المضيف
الجزء 1: فهم اللقطات
الخطوة 1.1: مفهوم اللقطة
تلتقط اللقطة الحالة الدقيقة لـ VM في لحظة معينة:
- جميع الملفات
- كل ذاكرة RAM
- كل التكوين
تشبيه: إنها مثل نسخة احتياطية تستغرق ثانيتين وتسمح بالعودة في 5 ثوانٍ.
الخطوة 1.2: حالات الاستخدام
سيناريو نموذجي:
- VM نظيفة ووظيفية
- إنشاء لقطة "CLEAN"
- اختبار شيء تدميري (حذف System32، تعطيل الخدمات...)
- النظام مكسور؟ لا مشكلة!
- استعادة لقطة "CLEAN"
- VM كالجديدة في 10 ثوانٍ
أسئلة:
- هل سبق لك أن كسرت Windows أثناء اختبار شيء ما؟
- كم من الوقت استغرقك لإعادة التثبيت؟
الخطوة 1.3: إنشاء أول لقطة لك
في VirtualBox:
- اختر VM Windows الخاص بك
- آلة → التقاط لقطة (أو أيقونة 📸)
- الاسم: "CLEAN_BASE"
- الوصف: "Windows نظيف، تم تثبيته للتو، قبل جميع الاختبارات"
- انقر موافق
بوم! تم إنشاء اللقطة في بضع ثوانٍ.
في VMware:
- VM → لقطة → التقاط لقطة
- نفس المبدأ
أسئلة: 3. كم من الوقت استغرق إنشاء اللقطة؟ 4. ما حجم ملف اللقطة الخاص بك؟
الجزء 2: اختبارات تدميرية - المستوى 1 (قابل للاسترداد)
الخطوة 2.1: الاختبار 1 - حذف ملفات النظام
على VM الخاص بك (ليس جهاز الكمبيوتر الحقيقي الخاص بك!):
- ابدأ VM
- افتح مستكشف الملفات
- اذهب إلى
C:\Windows\System32
تحذير: عادة، لا تفعل ذلك أبدًا على نظام حقيقي!
-
حاول حذف
notepad.exe- انقر بزر الماوس الأيمن → حذف
- قد يقوم Windows بحظره (ملف محمي)
-
حاول باستخدام حقوق المسؤول:
- افتح cmd كمسؤول
takeown /f C:\Windows\System32\notepad.exe
icacls C:\Windows\System32\notepad.exe /grant %username%:F
del C:\Windows\System32\notepad.exe -
حاول تشغيل Notepad
- Windows + R →
notepad - خطأ! الملف لم يعد موجودًا
- Windows + R →
لاحظ:
- يستمر Windows في العمل
- لكن notepad مكسور
أسئلة: 5. هل نجحت في حذف notepad.exe؟ 6. هل النظام لا يزال يعمل؟
الخطوة 2.2: الاختبار 2 - تعطيل الخدمات الحرجة
افتح services.msc:
services.msc
ابحث وأوقف هذه الخدمات:
-
Windows Update (wuauserv)
- انقر بزر الماوس الأيمن → إيقاف
- انقر بزر الماوس الأيمن → خصائص → نوع بدء التشغيل: معطل
-
Windows Defender (WinDefend)
- نفس الشيء
-
Windows Search
- نفس الشيء
أعد تشغيل VM
لاحظ:
- بعض الميزات لم تعد تعمل
- بحث Windows مكسور
- لا توجد تحديثات
- لا توجد حماية من الفيروسات
أسئلة: 7. ما هي الخدمات التي قمت بتعطيلها؟ 8. ما هو التأثير الفوري الذي لاحظته؟
الخطوة 2.3: الاختبار 3 - تعديل السجل (خطير!)
تحذير: على نظام حقيقي، قد يتسبب ذلك في BSOD!
افتح regedit:
regedit
اذهب إلى:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
ابحث عن المفتاح Shell (عادة = explorer.exe)
غيره إلى: cmd.exe
أعد تشغيل VM
النتيجة:
- بدلاً من سطح المكتب العادي لـ Windows، ستحصل فقط على cmd!
- لا مستكشف، لا سطح مكتب!
أسئلة: 9. ماذا حصلت بعد إعادة التشغيل؟ 10. هل يمكنك استخدام Windows بشكل طبيعي؟
الجزء 3: استعادة اللقطة
الخطوة 3.1: VM الخاص بك مكسور!
بعد كل هذه الاختبارات، من المحتمل أن يكون VM الخاص بك:
- تم حذف Notepad
- تم تعطيل الخدمات الحرجة
- تم تعديل السجل
- سطح المكتب مكسور
على نظام حقيقي: إعادة التثبيت = 1-2 ساعة
مع اللقطة: الاسترداد = 10 ثوانٍ!
الخطوة 3.2: استعادة اللقطة
في VirtualBox:
- أوقف تشغيل VM (أو لا، يمكنك الاستعادة حتى أثناء التشغيل!)
- انقر بزر الماوس الأيمن على VM → اللقطات
- اختر "CLEAN_BASE"
- انقر بزر الماوس الأيمن → استعادة
- أكد
انتظر 5-10 ثوانٍ...
سحر! عاد VM الخاص بك إلى الحالة النظيفة!
أعد تشغيل VM:
- يعمل Notepad
- جميع الخدمات نشطة
- السجل طبيعي
- سطح المكتب طبيعي
أسئلة: 11. كم من الوقت استغرق الاستعادة؟ 12. هل تم إلغاء جميع اختباراتك التدميرية؟
الخطوة 3.3: قياس الفرق
الوقت لـ:
- إعادة تثبيت Windows من البداية: _____ دقيقة
- استعادة لقطة: _____ ثانية
النسبة: أسرع بحوالي 100 مرة!
الجزء 4: لقطات متعددة - شجرة
الخطوة 4.1: إنشاء تسلسل هرمي للقطات
يمكن تنظيم اللقطات في شجرة:
CLEAN_BASE
├── APRES_INSTALL_CHROME
├── APRES_INSTALL_PYTHON
│ └── APRES_CONFIG_PYTHON
└── AVEC_BACKDOOR_TEST
أنشئ هذا الهيكل:
- من CLEAN_BASE، ابدأ VM
- قم بتثبيت Chrome (أو برنامج آخر)
- أنشئ لقطة: "APRES_INSTALL_CHROME"
- استعادة "CLEAN_BASE"
- قم بتثبيت Python
- أنشئ لقطة: "APRES_INSTALL_PYTHON"
لديك الآن 3 حالات:
- Windows نظيف
- Windows + Chrome
- Windows + Python
الميزة: اختبار تكوينات مختلفة بدون إعادة التثبيت!
الخطوة 4.2: التنقل بين اللقطات
تمرين:
- استعادة "APRES_INSTALL_CHROME"
- تحقق من وجود Chrome ولكن ليس Python
- استعادة "APRES_INSTALL_PYTHON"
- تحقق من وجود Python ولكن ليس Chrome
- استعادة "CLEAN_BASE"
- لا Chrome ولا Python
أسئلة: 13. كم عدد اللقطات التي أنشأتها؟ 14. هل يمكنك التنقل بحرية بينها؟
الخطوة 4.3: إدارة مساحة القرص
انتباه: اللقطات تأخذ مساحة!
تحقق من المساحة:
في VirtualBox:
- انقر بزر الماوس الأيمن على VM → إعدادات → تخزين
- انظر إلى حجم الملفات
كل لقطة تخزن:
- الفروق بالنسبة لللقطة الأصل
- ليس كل القرص في كل مرة (دلتا)
ممارسة جيدة:
- احتفظ فقط باللقطات الضرورية
- احذف القديمة
- دمج عند الإمكان
الجزء 5: استنساخ VMs
الخطوة 5.1: استنساخ كامل مقابل استنساخ مرتبط
استنساخ كامل:
- نسخة كاملة من VM
- مستقل عن الأصل
- يأخذ مساحة مثل VM الأصلي
- يمكن نقله، مشاركته
استنساخ مرتبط:
- يشارك القرص مع VM الأصلي
- يخزن فقط الفروق
- أسرع بكثير في الإنشاء
- يستخدم مساحة أقل بكثير
- مثالي للاختبارات!
الخطوة 5.2: إنشاء استنساخ مرتبط
في VirtualBox:
- انقر بزر الماوس الأيمن على VM الخاص بك → استنساخ
- الاسم: "Windows_TEST_1"
- نوع الاستنساخ: حدد "مرتبط" (Linked)
- اللقطة: اختر "CLEAN_BASE"
- انقر استنساخ
بوم! تم إنشاء الاستنساخ في 10-20 ثانية!
تحقق من المساحة:
- VM الأصلي: ~15-20 جيجابايت
- استنساخ مرتبط: ~500 ميجابايت في البداية!
الخطوة 5.3: إنشاء عدة استنساخات للاختبار
أنشئ 3 استنساخات مرتبطة:
- "Windows_TEST_MALWARE" (لاختبار البرمجيات الخبيثة)
- "Windows_TEST_破坏" (للاختبارات التدميرية)
- "Windows_TEST_NETWORK" (لاختبارات الشبكة)
المزايا:
- 3 VMs في بضع دقائق
- المساحة الإجمالية: ~2-3 جيجابايت بدلاً من 60 جيجابايت
- يمكن كسر كل استنساخ وإعادة إنشائه في 10 ثوانٍ
أسئلة: 15. كم عدد الاستنساخات التي أنشأتها؟ 16. ما هي المساحة الإجمالية المستخدمة على القرص؟
الجزء 6: اختبارات تدميرية - المستوى 2 (أكثر تقدمًا)
الآن بعد أن لديك VMs مؤقتة، دعنا نختبر أشياء حقًا تدميرية!
الخطوة 6.1: الاختبار 1 - حذف System32
على استنساخ مرتبط فقط!
أسطورة الإنترنت: "حذف System32 يسرع Windows"
الواقع: هذا يدمر Windows تمامًا!
لنختبر (على استنساخ!):
- ابدأ "Windows_TEST_DESTRUCTIF"
- cmd كمسؤول:
takeown /f C:\Windows\System32 /r /d y
icacls C:\Windows\System32 /grant %username%:F /t
- لا تفعل (طويل جدًا):
rd /s /q C:\Windows\System32 - بدلاً من ذلك، احذف فقط مجلدًا مهمًا:
rd /s /q C:\Windows\System32\drivers
- أعد التشغيل
النتيجة: BSOD أو فشل في الإقلاع!
الاسترداد: احذف الاستنساخ، أنشئ واحدًا جديدًا في 10 ثوانٍ!
الخطوة 6.2: الاختبار 2 - برمجية خبيثة للاختبار (EICAR)
EICAR = ملف اختبار مضاد الفيروسات القياسي (ليس فيروسًا حقيقيًا، مجرد اختبار)
على استنساخ للاختبار:
- عطل Windows Defender
- أنشئ ملف
test.txt - الصق فيه:
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
- احفظ
- أعد التسمية إلى
test.com - أعد تفعيل Defender
النتيجة: يكتشف Defender ويحذف!
لاحظ:
- الحجر الصحي
- الإشعارات
- السجلات
أسئلة: 17. هل اكتشف Defender EICAR؟ 18. كم من الوقت بعد إعادة التفعيل؟
الخطوة 6.3: الاختبار 3 - قنبلة فورك (DoS)
قنبلة فورك = برنامج يتكرر بلا نهاية حتى يشبع النظام
تحذير: هذا سيجمد VM الخاص بك!
أنشئ forkbomb.bat:
:loop
start %0
goto loop
نفذ: انقر مزدوجًا على forkbomb.bat
النتيجة في 10 ثوانٍ:
- CPU بنسبة 100%
- ذاكرة مشبعة
- VM مجمدة تمامًا
- مستحيل فعل أي شيء
الاسترداد:
- إيقاف تشغيل VM بالقوة
- استعادة لقطة أو إعادة إنشاء استنساخ
- 10 ثوانٍ، كل شيء على ما يرام!
أسئلة:
19. هل تجمدت VM الخاصة بك؟
20. كم عدد العمليات cmd.exe التي تم إنشاؤها؟ (مدير المهام قبل التجميد)
الجزء 7: الأتمتة والبرامج النصية
الخطوة 7.1: برنامج نصي لإعادة التعيين التلقائي
أنشئ برنامجًا نصيًا يقوم بـ:
- حذف استنساخ الاختبار
- إعادة إنشاء استنساخ جديد نظيف
- بدء VM الجديدة
مثال PowerShell:
# إيقاف وحذف VM الاختبار
VBoxManage controlvm "Windows_TEST_1" poweroff
VBoxManage unregistervm "Windows_TEST_1" --delete
# إعادة إنشاء استنساخ مرتبط
VBoxManage clonevm "Windows_Original" --name "Windows_TEST_1" --snapshot "CLEAN_BASE" --options link --register
# بدء التشغيل
VBoxManage startvm "Windows_TEST_1"
الخطوة 7.2: بيئة اختبار كاملة
الهيكل المثالي للمختبرات:
VM_BASE (لم يتم لمسها أبدًا، لقطات متعددة)
├── CLEAN_BASE (لقطة)
├── WITH_TOOLS (لقطة - أدوات مثبتة)
└── HARDENED (لقطة - محصنة)
استنساخات الاختبار (تُعاد إنشاؤها حسب الرغبة):
├── TEST_MALWARE_1
├── TEST_MALWARE_2
├── TEST_NETWORK
└── TEST_EXPLOIT
سير العمل:
- كسر استنساخ أثناء الاختبار
- حذفه
- إعادة إنشاء واحد جديد في 10 ثوانٍ
- كرر!
الجزء 8: تدابير الأمان
الخطوة 8.1: العزل الشبكي
مهم: يجب عزل VMs الاختبارية!
تكوين الشبكة الموصى به:
للاختبارات الهجومية:
- الشبكة: Host-Only أو Internal Network
- لا إنترنت!
- الاتصال فقط بين VMs الاختبارية
كيفية التكوين:
- إعدادات VM → الشبكة
- وضع الوصول إلى الشبكة: شبكة داخلية
- الاسم: "TestLab"
تحقق من العزل:
- حاول الاتصال بـ google.com (يجب أن يفشل)
- حاول الاتصال بـ VM أخرى على نفس الشبكة الداخلية (يجب أن ينجح)
الخطوة 8.2: اللقطات قبل كل اختبار
ممارسة جيدة:
قبل كل اختبار قد يكون تدميريًا:
- أنشئ لقطة باسم وصفي
- قم بإجراء الاختبار الخاص بك
- إذا نجح، دمج أو احذف اللقطة
- إذا كسر، استعادة
مثال:
- لقطة: "AVANT_TEST_ROOTKIT"
- اختبار rootkit
- إذا فشل: استعادة → تحليل السبب
- إعادة المحاولة مع التصحيحات
الخطوة 8.3: التوثيق
وثق كل لقطة:
مثال جيد:
الاسم: APRES_INSTALL_METASPLOIT
الوصف:
- Kali Linux
- Metasploit Framework مثبت ومحدث
- قاعدة بيانات PostgreSQL مكونة
- جاهز لاختبارات الاختراق
التاريخ: 2024-11-08
مثال سيء:
الاسم: test1
الوصف: (فارغ)
التسليمات
لتسليم:
-
وثيقة الاختبارات (Word/PDF) تحتوي على:
- قائمة بالاختبارات التدميرية التي تم إجراؤها
- النتائج الملاحظة
- وقت الاسترداد عبر اللقطة
- الإجابات على 20 سؤالًا
-
لقطات الشاشة (الحد الأدنى 6):
- قائمة اللقطات الخاصة بك (شجرة)
- VM مكسورة (مثال: سطح المكتب مستبدل بـ cmd)
- استعادة جارية
- VM مستعادة ووظيفية
- قائمة الاستنساخات التي تم إنشاؤها
- اختبار EICAR الذي اكتشفه Defender
-
هيكلية المختبر (مخطط):
- VM الأساسية الخاصة بك
- لقطاتك
- استنساخات الاختبار الخاصة بك
- تكوين الشبكة
-
برنامج PowerShell النصي (الخطوة 7.1)
معايير التقييم
| المعيار | النقاط |
|---|---|
| إنشاء وإدارة اللقطات | 25% |
| الاختبارات التدميرية التي تم إجراؤها وتوثيقها | 25% |
| الاستنساخ والاستنساخات المرتبطة | 20% |
| فهم العزل والأمان | 15% |
| جودة التوثيق | 10% |
| برنامج الأتمتة النصي | 5% |
أوامر VirtualBox المرجعية
إدارة اللقطات
# قائمة اللقطات
VBoxManage snapshot "NomVM" list
# إنشاء لقطة
VBoxManage snapshot "NomVM" take "NomSnapshot" --description "Description"
# استعادة لقطة
VBoxManage snapshot "NomVM" restore "NomSnapshot"
# حذف لقطة
VBoxManage snapshot "NomVM" delete "NomSnapshot"
الاستنساخ
# استنساخ كامل
VBoxManage clonevm "VMSource" --name "VMClone" --register
# استنساخ مرتبط
VBoxManage clonevm "VMSource" --name "VMClone" --snapshot "SnapshotName" --options link --register
إدارة VMs
# بدء التشغيل
VBoxManage startvm "NomVM"
# إيقاف التشغيل بشكل صحيح
VBoxManage controlvm "NomVM" acpipowerbutton
# إيقاف التشغيل بالقوة
VBoxManage controlvm "NomVM" poweroff
# حذف
VBoxManage unregistervm "NomVM" --delete
استكشاف الأخطاء وإصلاحها
المشكلة: اللقطة تستغرق وقتًا طويلاً
الحل: إذا كان VM الخاص بك يحتوي على الكثير من RAM (8 جيجابايت+)، قد يكون التقاط لقطة الذاكرة طويلًا. أوقف تشغيل VM قبل إنشاء اللقطة.
المشكلة: نقص مساحة القرص
الحل:
- احذف اللقطات غير الضرورية
- دمج اللقطات (انقر بزر الماوس الأيمن → حذف - يتم الاحتفاظ بالبيانات)
- استخدم الاستنساخات المرتبطة بدلاً من الاستنساخات الكاملة
المشكلة: الاستنساخ المرتبط لا يبدأ
الحل: يعتمد الاستنساخ المرتبط على VM الأصل. إذا قمت بحذف أو نقل VM الأصل، فلن تعمل الاستنساخات المرتبطة.
الذهاب إلى أبعد من ذلك (اختياري)
التحدي 1: مختبر متعدد VMs
أنشئ مختبرًا يحتوي على:
- 1 VM Windows (هدف)
- 1 VM Kali Linux (مهاجم)
- شبكة داخلية تربطهما
- لقطات منسقة لكليهما
التحدي 2: Vagrant للأتمتة
ابحث عن Vagrant - أداة لأتمتة VMs.
أنشئ Vagrantfile يقوم بـ:
- تكوين VM Windows تلقائيًا
- تثبيت الأدوات
- إنشاء اللقطات
- كل ذلك في أمر واحد!
التحدي 3: قوالب VMs
أنشئ قوالب لسيناريوهات مختلفة:
- قالب "Windows Vulnerable" (قديم، غير محدث)
- قالب "Windows Hardened" (محصن إلى أقصى حد)
- قالب "Windows Default" (تثبيت أساسي)
وثق الفروق وحالات الاستخدام.
الخاتمة
علمك هذا المختبر:
- استخدام اللقطات للاختبار بدون مخاطر
- إنشاء بيئات مؤقتة
- إجراء اختبارات تدميرية بأمان
- تحسين مساحة القرص باستخدام الاستنساخات المرتبطة
- إنشاء بنية مختبر قابلة لإعادة الاستخدام
الدروس الرئيسية:
- اللقطات = حرية كاملة - اختبر كل شيء بدون خوف
- الاستنساخات المرتبطة = كفاءة - بيئات متعددة، مساحة قليلة
- العزل الشبكي = أمان - لا تأثير على الشبكة الحقيقية
- التوثيق = إنتاجية - اعرف أين أنت
- الأتمتة = سرعة - برامج نصية للمهام المتكررة
الخطوة التالية: المختبر 2.3 حيث ستستكشف خيارات الأمان BIOS/UEFI والحماية على مستوى البرنامج الثابت!
مختبر تم تطويره في إطار دورة نظم التشغيل - MODULE 2