منهجية اختبار الاختراق: الإذن والنطاق والتقرير
درس 1 من 3
1منهجية اختبار الاختراق: الإذن والنطاق والتقرير
الصورة الكبيرةالشركات تدفع لأشخاص ليخترقوها، لأن الأفضل أن تجد الثغرة أنت قبل المهاجم. لكن الفرق بين المختبِر والمهاجم ليس الأدوات، فهي نفسها، بل الإذن والهدف: المختبِر يعمل بإذن، ويتوقف عند حدود النطاق، ويبلّغ فورًا إن وجد خطرًا حرجًا، وغايته أن تصلح الشركة، لا أن يثبت أنه ذكي.
ماذا تشاهد في الرسم: لا تبدأ مرحلة قبل التي قبلها، ولا تخرج عن النطاق أبدًا، وكل خطوة تُسجّل بوقتها لأن التقرير يحتاج دليلًا على كل ادعاء.
خارطة هذا الجزء
المفاهيم بالترتيب، اضغط أيًّا منها للقفز إليه:
طريقان إلى نفس الفكرة
تخيّل أن بنكًا استأجرك لتختبر هل يمكن دخول خزنته. قبل أي شيء توقّع عقدًا: أي فرع، وأي أيام، وماذا يُسمح لك أن تفعل (تفتح الباب؟ تلمس المال؟)، ومن تتصل به إن رأيت لصًا حقيقيًا. ثم تتجول وتلاحظ، وتجرّب الأبواب، وتكتب كل ما فعلته. والنتيجة ليست أن تأخذ المال، بل تقرير: «الباب الخلفي يُفتح بهذه الطريقة، وهذا إصلاحه».
قواعد الاشتباك (RoE): النطاق بالعناوين والنطاقات بالضبط، وما هو خارج النطاق، والنافذة الزمنية، والأساليب الممنوعة (حجب الخدمة، والهندسة الاجتماعية إن لم تُذكر)، وجهات الاتصال للطوارئ، والتعامل مع البيانات. الأنواع: صندوق أسود (بلا معلومات)، ورمادي (حساب مستخدم عادي)، وأبيض (الكود والتصميم). المنهجيات: PTES، وNIST SP 800-115، وOWASP WSTG للويب. المراحل: استطلاع سلبي ثم نشط، وفحص المنافذ والخدمات (Nmap)، وتحليل الثغرات، والتحقق بالاستغلال الآمن، وما بعد الاستغلال بقدر ما يسمح النطاق، ثم التقرير. CVSS 4.0 (FIRST، نوفمبر 2023) يعطي درجة من 0 إلى 10: منخفضة 0.1–3.9، ومتوسطة 4–6.9، وعالية 7–8.9، وحرجة 9–10. الأولوية = الخطورة مع أهمية الأصل وسهولة الاستغلال. التقرير: ملخص تنفيذي، ومنهجية، ونتائج (الوصف والدليل والأثر والإصلاح)، ثم إعادة اختبار بعد الإصلاح.
قبل أن تبدأ
🐧Linux للمدافع
تعمل في الطرفية بثقة.
🌐أمن تطبيقات الويب
تعرف OWASP Top 10.
الفكرة الجوهرية
1الإذن قبل أي شيء
الورقة الموقعة هي ما يجعل عملك اختبارًا لا جريمة. وتحمي الطرفين: الشركة تعرف ما سيحدث، وأنت تعرف حدودك. اقرأ النطاق حرفًا حرفًا: إن كان app.company.sa في النطاق فـ mail.company.sa ليس فيه، حتى لو وجدت ثغرة واضحة.
| بند قواعد الاشتباك | مثال |
|---|---|
| النطاق | app.company.sa و10.20.0.0/24 فقط |
| خارج النطاق | البريد، والأنظمة السحابية للطرف الثالث، وأجهزة الموظفين |
| النافذة | الأحد إلى الخميس، 8 مساءً إلى 6 صباحًا |
| ممنوع | حجب الخدمة، وحذف البيانات أو تعديلها، والتصيد |
| الطوارئ | مدير الأمن، وهاتفه، ومتى تتصل: أي خطر حرج أو أثر لمهاجم حقيقي |
| البيانات | لا تُنسخ بيانات حقيقية؛ لقطة شاشة تثبت الوصول تكفي |
2المراحل
كل مرحلة تغذي التي بعدها. اضغط لترى ما يحدث في كل واحدة، وما يقابلها عند المدافع.
مراحل اختبار الاختراق
اختبار صندوق رمادي لتطبيق ويب داخلي، بحساب موظف عادي. كل ما يلي داخل النطاق المكتوب فقط.
الفكرة: الاختبار عملية منظمة، وكل مرحلة تنتج معلومات للمرحلة التالية ودليلًا للتقرير. والمدافع يتعلم من كل مرحلة ما الذي كان يجب أن يراه.
1 · الاستطلاع
تجمع ما هو منشور: النطاقات الفرعية من شهادات TLS العامة، والتقنيات المستخدمة، وأسماء الموظفين وصيغة بريدهم. المدافع: راجع ما تكشفه شهاداتك وصفحاتك للعامة.
2 · الفحص
تفحص المنافذ المفتوحة وإصدارات الخدمات بـ Nmap داخل النطاق فقط. المدافع: فحص بهذا الحجم يجب أن يظهر في جدارك وIDS؛ إن لم يظهر فهذه نتيجة بحد ذاتها.
3 · تحليل الثغرات
تطابق الإصدارات مع الثغرات المعروفة، وتختبر المنطق يدويًا (الصلاحيات، والجلسات). أدوات الفحص الآلي تعطي ادعاءات؛ أنت تتحقق منها. المدافع: جرد الإصدارات والترقيع.
4 · التحقق
تثبت الثغرة بأقل أثر: قراءة سجل واحد لا يخصك يكفي لإثبات IDOR، بلا تنزيل الجدول. المدافع: هل رأى أحد الوصول غير الطبيعي؟
5 · التقرير
لكل ثغرة: الوصف، والدليل، والأثر على العمل، ودرجة CVSS، والإصلاح المقترح. وملخص تنفيذي من صفحة. ثم إعادة اختبار بعد الإصلاح. المدافع: خطة إصلاح بمواعيد ومسؤولين.
3الخطورة والأولوية: CVSS 4.0 وما بعده
CVSS يعطي درجة تقنية للثغرة من 0 إلى 10. لكن الأولوية الحقيقية تحتاج أكثر: ثغرة «عالية» على خادم اختبار معزول أقل إلحاحًا من «متوسطة» على نظام الرواتب المفتوح للإنترنت. رتّب نتائجك بالدرجة مع أهمية الأصل، وهل يوجد استغلال منشور (قائمة CISA KEV للثغرات المستغلة فعلًا مرجع ممتاز).
الـ VPN صعد للقمة رغم أن درجته أقل من حقن SQL، لأنه مستغل فعلًا في العالم. هذا ما يحتاجه المدير ليقرر بماذا يبدأ.
def band(score):
return "critical" if score >= 9 else "high" if score >= 7 else "medium" if score >= 4 else "low" if score > 0 else "none"
findings = [ # title, CVSS 4.0 base score, asset weight 1-3, exploited in the wild?
("SQL injection in /reports search", 9.3, 3, False),
("IDOR: any user reads any payslip", 7.1, 3, False),
("Outdated VPN appliance (in CISA KEV)", 8.7, 3, True),
("Verbose error pages show stack traces", 5.3, 1, False),
("Old TLS 1.0 on the test server", 3.7, 1, False),
]
def priority(f):
_, score, weight, kev = f
return score * weight + (10 if kev else 0)
for title, score, weight, kev in sorted(findings, key=priority, reverse=True):
print(f"{score:>4} {band(score):<8} asset x{weight} {'KEV ' if kev else ' '}{title}")4التقرير: المنتج الحقيقي
العميل لا يرى عملك، يرى تقريرك. اكتب الملخص التنفيذي لمدير لا يعرف التقنية: ما أخطر ما وجدت، وماذا يعني للعمل، وماذا يفعل أولًا. واكتب النتائج للمطوّر: خطوات إعادة إنتاج واضحة، ودليل (طلب واستجابة أو لقطة)، وإصلاح عملي. وتجنب الأسرار في التقرير: لا كلمات مرور حقيقية ولا بيانات عملاء.
FINDING 2 · IDOR: any user can read any payslip CVSS 4.0: 7.1 (High)
Asset : payroll.company.sa (in scope, production)
What : /api/payslips/{id} returns the payslip for any id without checking it belongs to the caller.
Evidence : logged in as test user A (id 1042), GET /api/payslips/1043 returned user B's payslip
(screenshot 4, name and salary masked). Only one record was viewed.
Impact : every employee's salary is readable by every other employee: privacy breach (PDPL), trust.
Fix : check ownership on the server for every object (payslip.owner == session.user), deny by
default, and add a test that user A gets 403 for user B's id.
Retest : 2026-11-20, confirm 403 for foreign ids.مثال محلول
المسألة: أثناء اختبار مصرح به لـ app.company.sa، وجدت أن الخادم نفسه يستضيف admin.company.sa وفيه صفحة دخول بكلمة مرور افتراضية ظاهرة. وadmin ليس في النطاق. ماذا تفعل؟
الحل: لا تجرب الدخول. خارج النطاق يعني خارج الإذن، حتى لو كان سهلًا. سجّل ما رأيته دون تفاعل (الاسم وأنه على العنوان نفسه)، واتصل بجهة الاتصال المذكورة في قواعد الاشتباك، واقترح توسيع النطاق كتابيًا إن أرادوا. وفي التقرير أضف ملاحظة «خارج النطاق، لم تُختبر» مع توصية بالمراجعة. هكذا تحمي العميل ونفسك.
خرافة مقابل حقيقة
| الخرافة | الحقيقة |
|---|---|
| مختبر الاختراق هاكر يجرب كل شيء. | محترف يعمل بعقد ونطاق ومنهجية، ويتوقف عند الحدود، وينتج تقريرًا. |
| أداة الفحص الآلي تكفي. | الأداة تجد المعروف وتعطي ادعاءات كاذبة. ثغرات المنطق والصلاحيات تحتاج إنسانًا يفكر. |
| نيتي حسنة، فلا بأس أن أختبر موقعًا دون إذن. | القانون لا ينظر للنية بل للإذن. حتى الإبلاغ عن ثغرة يكون عبر برامج الإفصاح الرسمية. |
أين تقابله في العمل
🏦اختبار سنوي إلزامي
البنوك والجهات الحكومية تطلب اختبارات دورية في ضوابطها.
🐞برامج مكافآت الثغرات
نطاق منشور وقواعد واضحة لمن يريد أن يختبر ويبلّغ بشكل قانوني.
🧑💻فريق التطوير
التقرير الواضح يتحول إلى مهام إصلاح واختبارات آلية.
اختبر فهمك
ما الذي يحوّل محاولة الاختراق من جريمة إلى اختبار؟
بلا إذن مكتوب يبقى الدخول غير مشروع مهما كانت النية.
ثغرة درجتها CVSS 7.5. ما تصنيفها؟
7.0 إلى 8.9 عالية، و9 فما فوق حرجة.
وجدت خطرًا حرجًا مفتوحًا للإنترنت أثناء الاختبار. متى تبلّغ؟
قواعد الاشتباك تحدد قناة للخطر الحرج لأن المهاجم الحقيقي قد يجده قبل التقرير.
اختبار تُعطى فيه حساب مستخدم عادي. ما نوعه؟
الأسود بلا معلومات، والأبيض بالكود والتصميم.
لماذا قد تسبق ثغرة درجتها 8.7 أخرى درجتها 9.3 في الأولوية؟
الأولوية = الخطورة + أهمية الأصل + وجود استغلال فعلي.
بطاقات مراجعة سريعة
تحقق من فهمك
ماذا تفعل إن وجدت أثرًا لمهاجم حقيقي أثناء الاختبار؟
تتوقف وتتصل بجهة الطوارئ فورًا، لأن الأمر صار حادثة لا اختبارًا.
لماذا تثبت الثغرة بأقل أثر ممكن؟
لأن الهدف الإثبات لا الضرر: سجل واحد يكفي، وتنزيل البيانات يضر العميل ويخالف القواعد غالبًا.
لمن تكتب الملخص التنفيذي، ولمن تكتب النتائج؟
الملخص للإدارة بلغة الأثر والقرار، والنتائج للمطوّرين بخطوات وأدلة وإصلاح.
مصادر هذا الدرس
مرتّبة بالنوع. ابدأ بالتوثيق الرسمي إذا تبي المرجع الدقيق، وبالمقال أو الفيديو إذا تبي الشرح أولًا.
خلّصت الدرس؟
سجّل الدخول ليُحفظ تقدّمك.