المنهجية: كيف يتحوّل التعلّم إلى عمل مُتقن
الأدوات تعطيك بيانات. المنهجية هي التي تحوّلها إلى نتيجة موثوقة يستطيع العميل أن يبني عليها قرارًا.
المرحلة صفر ليست تقنية: قبل أن تفتح أي أداة، يجب أن يكون لديك نطاق مكتوب، وفترة زمنية، وجهة اتصال، وحدود واضحة لما هو مسموح. بلا هذه الورقة، لا يوجد "اختبار أخلاقي" بل مخالفة.
منهجية الاختبار الأخلاقي خطوة بخطوة
هذا الترتيب ليس بيروقراطية؛ كل مرحلة تُنتج ما تحتاجه المرحلة التالية، وتخطّي أي منها يعني نتائج غير موثوقة.
1 التفويض وتحديد النطاق
الهدف
تحويل الاتفاق إلى وثيقة تقنية واضحة تمنع أي سوء فهم. هذه الخطوة هي التي تفصل بين محترف ومخالف قانونيًا.
ما يجب أن تحتويه الوثيقة
- الأصول المذكورة صريحًا: نطاقات، نطاقات فرعية، عناوين IP، تطبيقات، وحسابات اختبار.
- الأصول المستثناة: ما لا يُلمَس (أنظمة إنتاج حسّاسة، أجهزة طبية، أنظمة أطراف ثالثة).
- النافذة الزمنية المسموح بها، وجهة الاتصال للطوارئ على مدار الساعة.
- التقنيات الممنوعة صريحًا (هندسة اجتماعية، حجب خدمة، تعديل بيانات، تشفير ملفات اختباري…).
- من يحق له التوقيع على التغيير، وشرط الإيقاف الفوري عند الطلب.
وجود الثغرة لا يبرّرها. "الموقع كان مكشوفًا" ليست حجة قانونية عندما تكون أنت من دخل.
2 الاستطلاع وجمع المعلومات
الهدف
فهم سطح الهجوم قبل لمسه: من أي تقنية تُبنى المؤسسة، وما هو ظاهر للعامة بلا قصد.
اعمل بمبدأ السلبي أولًا: مصادر عامة، سجلات نطاقات، بيانات وصفية متاحة، ثم المحرك النشط.
# استعلامات سلبية آمنة لا تلامس أهدافك whois example.com dig +short NS example.com dig +short MX example.com dig +short TXT example.com # بصمة تقنية أولية whatweb -a 1 https://example.com
ما تكتبه في التقرير: أصول مكتشفة، تقنيات، وأي شيء ظاهر للعامة كان يجب ألا يكون. ضع ملاحظة عن مصدر كل معلومة.
3 المسح والتعداد (Scanning & Enumeration)
الهدف
تحويل الأسماء إلى أرقام وخدمات: أي أجهزة تستجيب؟ أي منافذ مفتوحة؟ أي إصدارات تعمل خلفها؟
# مسح تدريجي: اكتشاف الأجهزة أولًا (داخل مختبرك) sudo nmap -sn 192.168.56.0/24 # ثم مسح منافذ بسيط وسريع على هدف واحد sudo nmap -T3 -Pn 192.168.56.10 # تفصيل الخدمات بأدب وبعدد طلبات محدود sudo nmap -sV -sC -T3 -p- --min-rate 300 -oA ~/labs/scans/target-01 192.168.56.10
نصيحة مهنية: احفظ كل مسح بملفات مخرجات (-oA) وبنفس تسمية المشروع. ستشكر نفسك بعد أسبوعين عند كتابة التقرير.
4 تحليل النتائج والتحقق
الهدف
الانتقال من "هذا محتمل" إلى "هذا مؤكد ومُثبت". هذه المرحلة هي التي تفصل التقرير المقبول من التقرير المرفوض.
- افهم قبل أن تجرّب: ما نوع الخدمة؟ ما إصدارها؟ هل الثغرة تنطبق فعلًا أم أن الترقيع تم؟
- ابحث في القاعدة، لا في الويب العشوائي: استخدم
searchsploitمحليًا، ووثّق رقم المرجع. - أثبِت بأقل تدخّل: في Metasploit استخدم
checkوshow optionsللتأكد من القابلية قبل أي خطوة أعنف. - قدّر الخطورة بمعيار: استخدم CVSS أو مصفوفة احتمال/أثر، ولا تعتمد على "شعورك".
# خطوات التحقق المنضبط داخل إطار Metasploit msfconsole -q searchuse show options # افهم كل خيار قبل ضبطه set RHOSTS 192.168.56.10 check # هل الهدف قابل للتأثر فعلًا؟
القاعدة المهمة: قدرتك على التنفيذ ليست دليلًا على ضرورة التنفيذ. اسأل دائمًا ما القيمة التي يضيفها الدليل الإضافي، وما الخطر الذي يفتحه.
5 التوثيق وإصلاح النتائج
الهدف
تحويل العمل التقني إلى مستند يستطيع مهندس غير متخصص في الأمن أن يقرأه وينفّذه. هنا تتحقق قيمة كل ما سبق أو تُفقد.
وأخيرًا: أعد الاختبار بعد الإصلاح. التقرير لا ينتهي بالإصلاح، بل بالتأكد من أن الإصلاح نجح ولم يُنتج مشكلة جديدة.
ابنِ مختبرًا معزولًا قبل أي أداة
المختبر هو ما يجعلك تتعلّم بحرية: تخطئ، تعيد، تخرب الآلة، ثم ترجع بلقطة في ثوانٍ — بلا أي أثر على شبكة حقيقية.
أنشئ شبكة داخلية معزولة
في VirtualBox اصنع شبكة Host-Only جديدة لا تشاركها مع المحوّل الموجود، وفعّل مزوّد DHCP إن أردت، أو اضبط العناوين يدويًا.
جهّز آلة كالي (المهاجم داخل اللعبة)
بعد التنصيب أضفها إلى الشبكة المعزولة فقط. لاحظ عنوانها بـ ip -brief a، ووثّقه.
أضف أهدافًا مصمَّمة للتدريب
نزّل آلة كاملة (Metasploitable، VulnHub…) أو شغّل تطبيق ويب مصمَّمًا للكسر (DVWA، Juice Shop) على آلة ثانية. الجدول أدناه يوجّهك.
حدّد لقطة قبل كل تجربة
سمِّ اللقطات بوصف السيناريو لا بالأرقام: web-lab-initial، after-privesc. الرجوع يصبح بضغطة.
تحقّق من العزل فعليًا
حاول أن تفحص جهازًا في شبكتك الحقيقية من داخل المختبر. إن نجحت، فالعزل غير قائم — أوقف كل شيء وأصلح الإعداد.
اختبار العزل في سطرين: من داخل المختبر نفّذ nmap -sn 192.168.1.0/24 (شبكتك الحقيقية المعتادة). أي جهاز يظهر هنا يعني أن المختبر غير معزول. أصلح قبل المتابعة.
# خريطة مختبر بسيطة على ورقة واحدة
[ شبكتك الحقيقية ] ── لا تتصل إطلاقًا ── [ المختبر ]
│
┌───────────────┴───────────────┐
│ شبكة داخلية 192.168.56.0/24 │
└───────────────┬───────────────┘
│
┌──────────────────────┼──────────────────────┐
│ │ │
┌──────────┴─────────┐ ┌─────────┴──────────┐ ┌────────┴─────────┐
│ كالي (مهاجم) │ │ هدف 1: نظام قديم │ │ هدف 2: تطبيق ويب│
│ 192.168.56.5 │ │ 192.168.56.10 │ │ 192.168.56.20 │
└────────────────────┘ └────────────────────┘ └──────────────────┘أهداف مصمَّمة أصلًا ليتعلّم عليها الناس
| المصدر | نوعه | يناسب | ميزته |
|---|---|---|---|
| DVWA | تطبيق ويب قابل للكسر | أساسيات أمن الويب | مستويات صعوبة متدرّجة + كود المصدر للقراءة |
| OWASP Juice Shop | تطبيق ويب حديث | ثغرات ويب معاصرة | تحديات متدرّجة مع لوحة تقدّم |
| Metasploitable | آلة افتراضية قديمة | المسح واستهداف الخدمات | أشهر هدف تدريبي وأوسع شرح متاح |
| VulnHub | آلات كاملة متنوعة | سيناريو من الصفر | تمارين محاكاة واقعية بالكامل |
| PortSwigger Web Security Academy | مختبرات ويب مجانية | تعلّم منظّم للويب | شرح نظري ممتاز يقابل كل مختبر |
| TryHackMe | مسارات موجّهة | مبتدئ يحتاج خريطة | غرف متدرّجة مع توجيه واضح |
| Hack The Box | أهداف تحدٍّ | متوسط ومتقدم | عالمية التنافس وبيئات واقعية |
هذه المنصّات آمنة قانونيًا لأن أهدافها مخصّصة للهجوم داخل بيئتها، أو لأنها أجهزة افتراضية تعمل على جهازك أنت. أي هدف آخر خارج هذه الفئة يحتاج تصريحًا مكتوبًا.
ما يجب أن يُتفق عليه كتابةً قبل البدء
هذه القائمة هي وثيقة النطاق (Scope) و قواعد الاشتباك (Rules of Engagement) في صورة عملية. إن لم تجد بندًا منها في الاتفاق، اسأل عنه قبل أن تبدأ.
| البند | السؤال الذي تحسمه | الخطر إن غاب |
|---|---|---|
| النطاق | ما الأصول المسموح لمسها بالنص الحرفي؟ | عمل على أصل خارج الاتفاق |
| الاستثناءات | ما الأنظمة التي لا تُلمس مطلقًا؟ | تعطيل نظام حرج أو طبي |
| النافذة الزمنية | متى يُسمح بالعمل ومتى يُمنع؟ | حركة غير متوقعة تُقلق فريق المراقبة |
| جهة الاتصال | من نتصل به فورًا عند أي أثر جانبي؟ | تأخير الاستجابة لحادث حقيقي |
| حدود التقنية | هل الهندسة الاجتماعية مسموحة؟ هل التخمين مسموح؟ | تجاوز صريح للنطاق المتفق عليه |
| التعامل مع البيانات | كيف تُخزَّن النتائج ومتى تُحذف؟ | تسريب بيانات العميل بعد انتهاء العمل |
| الإفصاح | ما مهلة الإبلاغ عن ثغرة حرجة؟ | إخفاء خطر وشيك عن العميل |
هيكل تقرير يفهمه القارئ غير التقني
التقرير ليس سجلًا لما فعلت، بل قائمة قرارات يحتاج العميل أن يتخذها. اجعل الملخص التنفيذي في المقدمة، لا في النهاية.
1. ملخص تنفيذي
صفحة واحدة: كم ثغرة؟ ما أخطرها؟ ما الأثر المحتمل على العمل؟ وما التوصيات العاجلة الثلاث. بلا مصطلحات معقّدة وبلا أسماء أدوات.
2. جدول النتائج والخطورة
جدول منظّم: العنوان، الخطورة، الأصل المتأثر، سهولة الاستغلال، ورقم مرجعي لكل بند. القارئ المتسرّع سيقرأ هذا الجدول فقط، فاجعله دقيقًا.
3. تفصيل كل نتيجة
وصف، خطوات إعادة الإنتاج بشكل مضبوط، الدليل (مقتطف دون بيانات حساسة)، تقييم الأثر، ثم توصية إصلاح قابلة للتنفيذ بأمر أو إعداد محدد — لا "حسّنوا الأمن".
4. الملاحق والخريطة الزمنية
قائمة الأدوات المستخدمة، النطاق الفعلي مقابل المتفق، سجل الأوقات، والمخرجات الخام. الشفافية هنا هي التي تمنح التقرير مصداقيته.
قاعدة الكتابة: اكتب كل نتيجة كأن مهندسًا سيقرأها بعد سنتين، ولم يكن حاضرًا في الجلسة، ويحتاج أن يعيد إنتاجها حرفيًا. هذا المعيار يرفع جودة أي تقرير فورًا.
طبّق المنهجية على مختبرك
- اكتب وثيقة نطاق وهمية لمختبرك الخاص، وسجّل فيها الأصول والاستثناءات والنافذة الزمنية — لو كنت العميل والمُنفّذ في الوقت نفسه.
- نفّذ مسح
nmap -snعلى شبكة المختبر، ثم-sVعلى هدف واحد، واحفظ النتائج بـ-oAفي مجلد مشروعك. - أثبت العزل: فحص شبكتك الحقيقية من داخل المختبر يجب أن يعطي صفر نتيجة.
- اكتب تقريرًا كاملًا لنتيجة واحدة فقط، بالهيكل الرباعي أعلاه، في صفحتين كحد أقصى.
- أعد الاختبار من نفس اللقطة واكتب: هل كانت النتيجة قابلة للتكرار؟ ما الذي تغيّر؟