انتقل إلى المحتوى الرئيسي

المختبر 2.2: VM مؤقتة للاختبارات التدميرية

أهداف التعلم​

في نهاية هذا المختبر، ستكون قادرًا على:

  • إنشاء VM Windows محسنة للاختبارات
  • استخدام اللقطات للاختبار بدون مخاطر
  • إجراء اختبارات تدميرية بأمان
  • فهم الاستنساخ والنسخ المرتبطة
  • إنشاء بيئة مختبر قابلة لإعادة الاستخدام

المدة المقدرة​

25 دقيقة

المتطلبات الأساسية​

  • تثبيت VirtualBox أو VMware
  • VM Windows 10/11 وظيفية
  • 20 جيجابايت من المساحة الحرة على القرص كحد أدنى

السياق المهني​

بصفتك مسؤول نظام أو محترف أمني، غالبًا ما تحتاج إلى:

  • اختبار التكوينات التي قد تكسر النظام
  • التحقق من تأثير البرمجيات الخبيثة (في بيئة معزولة)
  • التجربة مع تعديلات النظام الخطيرة
  • تدريب المستخدمين على الأخطاء الشائعة

تسمح VMs المؤقتة بـ:

  • اختبار كل شيء بدون خوف
  • العودة إلى الوراء فورًا
  • مضاعفة بيئات الاختبار
  • العزل الكامل عن النظام المضيف

الجزء 1: فهم اللقطات​

الخطوة 1.1: مفهوم اللقطة​

تلتقط اللقطة الحالة الدقيقة لـ VM في لحظة معينة:

  • جميع الملفات
  • كل ذاكرة RAM
  • كل التكوين

تشبيه: إنها مثل نسخة احتياطية تستغرق ثانيتين وتسمح بالعودة في 5 ثوانٍ.

الخطوة 1.2: حالات الاستخدام​

سيناريو نموذجي:

  1. VM نظيفة ووظيفية
  2. إنشاء لقطة "CLEAN"
  3. اختبار شيء تدميري (حذف System32، تعطيل الخدمات...)
  4. النظام مكسور؟ لا مشكلة!
  5. استعادة لقطة "CLEAN"
  6. VM كالجديدة في 10 ثوانٍ

أسئلة:

  1. هل سبق لك أن كسرت Windows أثناء اختبار شيء ما؟
  2. كم من الوقت استغرقك لإعادة التثبيت؟

الخطوة 1.3: إنشاء أول لقطة لك​

في VirtualBox:

  1. اختر VM Windows الخاص بك
  2. آلة → التقاط لقطة (أو أيقونة 📸)
  3. الاسم: "CLEAN_BASE"
  4. الوصف: "Windows نظيف، تم تثبيته للتو، قبل جميع الاختبارات"
  5. انقر موافق

بوم! تم إنشاء اللقطة في بضع ثوانٍ.

في VMware:

  1. VM → لقطة → التقاط لقطة
  2. نفس المبدأ

أسئلة: 3. كم من الوقت استغرق إنشاء اللقطة؟ 4. ما حجم ملف اللقطة الخاص بك؟


الجزء 2: اختبارات تدميرية - المستوى 1 (قابل للاسترداد)​

الخطوة 2.1: الاختبار 1 - حذف ملفات النظام​

على VM الخاص بك (ليس جهاز الكمبيوتر الحقيقي الخاص بك!):

  1. ابدأ VM
  2. افتح مستكشف الملفات
  3. اذهب إلى C:\Windows\System32

تحذير: عادة، لا تفعل ذلك أبدًا على نظام حقيقي!

  1. حاول حذف notepad.exe

    • انقر بزر الماوس الأيمن → حذف
    • قد يقوم Windows بحظره (ملف محمي)
  2. حاول باستخدام حقوق المسؤول:

    • افتح cmd كمسؤول
    takeown /f C:\Windows\System32\notepad.exe
    icacls C:\Windows\System32\notepad.exe /grant %username%:F
    del C:\Windows\System32\notepad.exe
  3. حاول تشغيل Notepad

    • Windows + R → notepad
    • خطأ! الملف لم يعد موجودًا

لاحظ:

  • يستمر Windows في العمل
  • لكن notepad مكسور

أسئلة: 5. هل نجحت في حذف notepad.exe؟ 6. هل النظام لا يزال يعمل؟

الخطوة 2.2: الاختبار 2 - تعطيل الخدمات الحرجة​

افتح services.msc:

services.msc

ابحث وأوقف هذه الخدمات:

  1. Windows Update (wuauserv)

    • انقر بزر الماوس الأيمن → إيقاف
    • انقر بزر الماوس الأيمن → خصائص → نوع بدء التشغيل: معطل
  2. Windows Defender (WinDefend)

    • نفس الشيء
  3. 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:

  1. أوقف تشغيل VM (أو لا، يمكنك الاستعادة حتى أثناء التشغيل!)
  2. انقر بزر الماوس الأيمن على VM → اللقطات
  3. اختر "CLEAN_BASE"
  4. انقر بزر الماوس الأيمن → استعادة
  5. أكد

انتظر 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

أنشئ هذا الهيكل:

  1. من CLEAN_BASE، ابدأ VM
  2. قم بتثبيت Chrome (أو برنامج آخر)
  3. أنشئ لقطة: "APRES_INSTALL_CHROME"
  4. استعادة "CLEAN_BASE"
  5. قم بتثبيت Python
  6. أنشئ لقطة: "APRES_INSTALL_PYTHON"

لديك الآن 3 حالات:

  • Windows نظيف
  • Windows + Chrome
  • Windows + Python

الميزة: اختبار تكوينات مختلفة بدون إعادة التثبيت!

الخطوة 4.2: التنقل بين اللقطات​

تمرين:

  1. استعادة "APRES_INSTALL_CHROME"
  2. تحقق من وجود Chrome ولكن ليس Python
  3. استعادة "APRES_INSTALL_PYTHON"
  4. تحقق من وجود Python ولكن ليس Chrome
  5. استعادة "CLEAN_BASE"
  6. لا Chrome ولا Python

أسئلة: 13. كم عدد اللقطات التي أنشأتها؟ 14. هل يمكنك التنقل بحرية بينها؟

الخطوة 4.3: إدارة مساحة القرص​

انتباه: اللقطات تأخذ مساحة!

تحقق من المساحة:

في VirtualBox:

  1. انقر بزر الماوس الأيمن على VM → إعدادات → تخزين
  2. انظر إلى حجم الملفات

كل لقطة تخزن:

  • الفروق بالنسبة لللقطة الأصل
  • ليس كل القرص في كل مرة (دلتا)

ممارسة جيدة:

  • احتفظ فقط باللقطات الضرورية
  • احذف القديمة
  • دمج عند الإمكان

الجزء 5: استنساخ VMs​

الخطوة 5.1: استنساخ كامل مقابل استنساخ مرتبط​

استنساخ كامل:

  • نسخة كاملة من VM
  • مستقل عن الأصل
  • يأخذ مساحة مثل VM الأصلي
  • يمكن نقله، مشاركته

استنساخ مرتبط:

  • يشارك القرص مع VM الأصلي
  • يخزن فقط الفروق
  • أسرع بكثير في الإنشاء
  • يستخدم مساحة أقل بكثير
  • مثالي للاختبارات!

الخطوة 5.2: إنشاء استنساخ مرتبط​

في VirtualBox:

  1. انقر بزر الماوس الأيمن على VM الخاص بك → استنساخ
  2. الاسم: "Windows_TEST_1"
  3. نوع الاستنساخ: حدد "مرتبط" (Linked)
  4. اللقطة: اختر "CLEAN_BASE"
  5. انقر استنساخ

بوم! تم إنشاء الاستنساخ في 10-20 ثانية!

تحقق من المساحة:

  • VM الأصلي: ~15-20 جيجابايت
  • استنساخ مرتبط: ~500 ميجابايت في البداية!

الخطوة 5.3: إنشاء عدة استنساخات للاختبار​

أنشئ 3 استنساخات مرتبطة:

  1. "Windows_TEST_MALWARE" (لاختبار البرمجيات الخبيثة)
  2. "Windows_TEST_破坏" (للاختبارات التدميرية)
  3. "Windows_TEST_NETWORK" (لاختبارات الشبكة)

المزايا:

  • 3 VMs في بضع دقائق
  • المساحة الإجمالية: ~2-3 جيجابايت بدلاً من 60 جيجابايت
  • يمكن كسر كل استنساخ وإعادة إنشائه في 10 ثوانٍ

أسئلة: 15. كم عدد الاستنساخات التي أنشأتها؟ 16. ما هي المساحة الإجمالية المستخدمة على القرص؟


الجزء 6: اختبارات تدميرية - المستوى 2 (أكثر تقدمًا)​

الآن بعد أن لديك VMs مؤقتة، دعنا نختبر أشياء حقًا تدميرية!

الخطوة 6.1: الاختبار 1 - حذف System32​

على استنساخ مرتبط فقط!

أسطورة الإنترنت: "حذف System32 يسرع Windows"

الواقع: هذا يدمر Windows تمامًا!

لنختبر (على استنساخ!):

  1. ابدأ "Windows_TEST_DESTRUCTIF"
  2. cmd كمسؤول:
takeown /f C:\Windows\System32 /r /d y
icacls C:\Windows\System32 /grant %username%:F /t
  1. لا تفعل (طويل جدًا): rd /s /q C:\Windows\System32
  2. بدلاً من ذلك، احذف فقط مجلدًا مهمًا:
rd /s /q C:\Windows\System32\drivers
  1. أعد التشغيل

النتيجة: BSOD أو فشل في الإقلاع!

الاسترداد: احذف الاستنساخ، أنشئ واحدًا جديدًا في 10 ثوانٍ!

الخطوة 6.2: الاختبار 2 - برمجية خبيثة للاختبار (EICAR)​

EICAR = ملف اختبار مضاد الفيروسات القياسي (ليس فيروسًا حقيقيًا، مجرد اختبار)

على استنساخ للاختبار:

  1. عطل Windows Defender
  2. أنشئ ملف test.txt
  3. الصق فيه:
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
  1. احفظ
  2. أعد التسمية إلى test.com
  3. أعد تفعيل Defender

النتيجة: يكتشف Defender ويحذف!

لاحظ:

  • الحجر الصحي
  • الإشعارات
  • السجلات

أسئلة: 17. هل اكتشف Defender EICAR؟ 18. كم من الوقت بعد إعادة التفعيل؟

الخطوة 6.3: الاختبار 3 - قنبلة فورك (DoS)​

قنبلة فورك = برنامج يتكرر بلا نهاية حتى يشبع النظام

تحذير: هذا سيجمد VM الخاص بك!

أنشئ forkbomb.bat:

:loop
start %0
goto loop

نفذ: انقر مزدوجًا على forkbomb.bat

النتيجة في 10 ثوانٍ:

  • CPU بنسبة 100%
  • ذاكرة مشبعة
  • VM مجمدة تمامًا
  • مستحيل فعل أي شيء

الاسترداد:

  1. إيقاف تشغيل VM بالقوة
  2. استعادة لقطة أو إعادة إنشاء استنساخ
  3. 10 ثوانٍ، كل شيء على ما يرام!

أسئلة: 19. هل تجمدت VM الخاصة بك؟ 20. كم عدد العمليات cmd.exe التي تم إنشاؤها؟ (مدير المهام قبل التجميد)


الجزء 7: الأتمتة والبرامج النصية​

الخطوة 7.1: برنامج نصي لإعادة التعيين التلقائي​

أنشئ برنامجًا نصيًا يقوم بـ:

  1. حذف استنساخ الاختبار
  2. إعادة إنشاء استنساخ جديد نظيف
  3. بدء 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

سير العمل:

  1. كسر استنساخ أثناء الاختبار
  2. حذفه
  3. إعادة إنشاء واحد جديد في 10 ثوانٍ
  4. كرر!

الجزء 8: تدابير الأمان​

الخطوة 8.1: العزل الشبكي​

مهم: يجب عزل VMs الاختبارية!

تكوين الشبكة الموصى به:

للاختبارات الهجومية:

  • الشبكة: Host-Only أو Internal Network
  • لا إنترنت!
  • الاتصال فقط بين VMs الاختبارية

كيفية التكوين:

  1. إعدادات VM → الشبكة
  2. وضع الوصول إلى الشبكة: شبكة داخلية
  3. الاسم: "TestLab"

تحقق من العزل:

  • حاول الاتصال بـ google.com (يجب أن يفشل)
  • حاول الاتصال بـ VM أخرى على نفس الشبكة الداخلية (يجب أن ينجح)

الخطوة 8.2: اللقطات قبل كل اختبار​

ممارسة جيدة:

قبل كل اختبار قد يكون تدميريًا:

  1. أنشئ لقطة باسم وصفي
  2. قم بإجراء الاختبار الخاص بك
  3. إذا نجح، دمج أو احذف اللقطة
  4. إذا كسر، استعادة

مثال:

  • لقطة: "AVANT_TEST_ROOTKIT"
  • اختبار rootkit
  • إذا فشل: استعادة → تحليل السبب
  • إعادة المحاولة مع التصحيحات

الخطوة 8.3: التوثيق​

وثق كل لقطة:

مثال جيد:

الاسم: APRES_INSTALL_METASPLOIT
الوصف:
- Kali Linux
- Metasploit Framework مثبت ومحدث
- قاعدة بيانات PostgreSQL مكونة
- جاهز لاختبارات الاختراق
التاريخ: 2024-11-08

مثال سيء:

الاسم: test1
الوصف: (فارغ)

التسليمات​

لتسليم:

  1. وثيقة الاختبارات (Word/PDF) تحتوي على:

    • قائمة بالاختبارات التدميرية التي تم إجراؤها
    • النتائج الملاحظة
    • وقت الاسترداد عبر اللقطة
    • الإجابات على 20 سؤالًا
  2. لقطات الشاشة (الحد الأدنى 6):

    • قائمة اللقطات الخاصة بك (شجرة)
    • VM مكسورة (مثال: سطح المكتب مستبدل بـ cmd)
    • استعادة جارية
    • VM مستعادة ووظيفية
    • قائمة الاستنساخات التي تم إنشاؤها
    • اختبار EICAR الذي اكتشفه Defender
  3. هيكلية المختبر (مخطط):

    • VM الأساسية الخاصة بك
    • لقطاتك
    • استنساخات الاختبار الخاصة بك
    • تكوين الشبكة
  4. برنامج 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" (تثبيت أساسي)

وثق الفروق وحالات الاستخدام.


الخاتمة​

علمك هذا المختبر:

  • استخدام اللقطات للاختبار بدون مخاطر
  • إنشاء بيئات مؤقتة
  • إجراء اختبارات تدميرية بأمان
  • تحسين مساحة القرص باستخدام الاستنساخات المرتبطة
  • إنشاء بنية مختبر قابلة لإعادة الاستخدام

الدروس الرئيسية:

  1. اللقطات = حرية كاملة - اختبر كل شيء بدون خوف
  2. الاستنساخات المرتبطة = كفاءة - بيئات متعددة، مساحة قليلة
  3. العزل الشبكي = أمان - لا تأثير على الشبكة الحقيقية
  4. التوثيق = إنتاجية - اعرف أين أنت
  5. الأتمتة = سرعة - برامج نصية للمهام المتكررة

الخطوة التالية: المختبر 2.3 حيث ستستكشف خيارات الأمان BIOS/UEFI والحماية على مستوى البرنامج الثابت!


مختبر تم تطويره في إطار دورة نظم التشغيل - MODULE 2