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

المقدمة و Kali — المفاهيم

قبل تشغيل أي أداة، يجب إرساء أمرين: عقلية المهاجم والديكور. دون الديكور (مختبر معزول)، لا تفيد العقلية بشيء: ينتهي بك الأمر أمام قاضٍ. ودون العقلية، لا يفيد الديكور أيضًا: تُطلق أوامر عشوائية ولا يسقط شيء.

الإطار القانوني — يُقرأ مرة، ويُحترم دائمًا

كل ما يُدرَّس هنا ينطبق حصريًا على أجهزة تملكها، أو تحمل بشأنها تصريحًا كتابيًا (RoE، عقد، bug bounty). فحص موقع لا تملك إذنًا بلمسه هو جريمة بالفعل في معظم الأنظمة القانونية. الكورس يُعلّمك كيف تهاجم. القانون يُعلّمك أين.

ما ستكون قادرًا على فعله بعد هذا الدرس​

  • شرح ما هو اختبار الاختراق بكلماتك الخاصة، ولماذا هو ليس تدقيقًا (audit).
  • التمييز بين الثغرة والاستغلال والأثر — الكلمات الثلاث التي يخلط بينها الجميع.
  • تبنّي عقلية المهاجم: الانطلاق من الهدف، لا من الأداة.
  • تسمية المراحل الكبرى للهجوم (سلسلة القتل الشهيرة kill chain)، لمعرفة أين أنت في كل لحظة.
  • فهم لماذا وُجد Kali Linux، وما الذي يُقدّمه لك فعليًا.

1. لماذا توجد هذه المهنة​

بنت شركة ما تطبيقًا، شبكة، بنية تحتية سحابية. تعتقد أنها آمنة لأن لا أحد حاول كسرها. لهذا بالضبط يُدفَع لك: لتحاول كسرها قبل أن يفعل ذلك شرير حقيقي.

مختبِر الاختراق هو اللص الشرعي. يُسلّمك العميل المفتاح، ويطلب منك محاولة الدخول من النافذة، أو المدخنة، أو صندوق البريد، أو ابن الجار، أو عاملة النظافة — ثم رواية كل شيء لاحقًا، مع الأدلة، ليتمكن من سد الثغرات.

لا تُقاس قيمة pentest بـعدد الثغرات المكتشفة. تُقاس بـ:

  1. الأدلة التي تُحضرها (لقطات، سجلات، ملفات مُستخرَجة).
  2. إمكانية إعادة الإنتاج: يجب أن يتمكن العميل من إعادة الخطوة بعد المعالجة.
  3. التوصيات: ما الذي يُنفَّذ يوم الاثنين صباحًا لسد الثغرة.

تقرير دون دليل هو مجرد إشاعة. والإشاعة لا تُغلق تذكرة.

تعريف — الـshell، كلمة سنستخدمها عشر مرات في كل درس

الـshell هو واجهة تقبل الأوامر وتُنفّذها عبر النظام. حين تفتح طرفية على حاسوبك وتكتب ls، فأنت داخل shell.

بالنسبة لمهاجم، تعني عبارة «الحصول على shell» على جهاز بعيد أمرًا واحدًا بالضبط: القدرة على كتابة أوامر على ذلك الجهاز، وكأنك جالس أمامه. إنها أول محطة حقيقية في أي هجوم. ما دمت لا تملك shell، لا تملك شيئًا. وبمجرد الحصول عليه، يصبح كل شيء ممكنًا: تصفّح الملفات، محاولة تصعيد الامتيازات، القفز إلى جهاز آخر.

يتكرر شكلان طوال الكورس. الـbind shell، حيث يفتح الهدف منفذًا وينتظر أن تتصل به: بسيط لكنه صاخب، يراه أي جدار حماية. والـreverse shell، حيث يتصل الهدف بك أنت من الداخل: أكثر شيوعًا بكثير في الممارسة العملية، لأن معظم جدران الحماية تسمح بالخروج دون فحص.


2. الأقارب الثلاثة التي يخلط بينها الجميع دائمًا​

المهنةما نفعلهالسؤال الذي نجيب عنه
التدقيق (Audit)نقرأ الوثائق، نُجري مقابلات، نفحص الإعدادات.هل هذا مطابق للسياسة / للمعيار؟
Pentestنهاجم، ضمن نطاق محدود، خلال وقت محدود.هل يمكن الدخول، وإلى أي مدى؟
Red teamنُحاكي مهاجمًا حقيقيًا، خفيًا، بأهداف تتعلق بالعمل.كم من الوقت قبل أن يُكتشف أمرنا، وهل كنا سنُكتشف فعلًا؟

يمر التدقيق عبر مربع المقابلة. يمر pentest عبر مربع الاستغلال. وتمر red team عبر مربع التهرب من الدفاعات — وغالبًا مربع الهندسة الاجتماعية.

في هذا الكورس

تتعلم pentest، مع انفتاحات منتظمة نحو red team في الوحدات المتقدمة (8 إلى 11).

تعريف — الـpurple team، ولماذا تتكرر هذه الكلمة في كل مكان

يُشير red team وblue team منذ زمن طويل إلى الهجوم والدفاع. الـpurple team ليس فريقًا ثالثًا: إنه اللحظة التي يعمل فيها الفريقان معًا. عمليًا، يُطلق المهاجم تقنية ويُخطر الدفاع؛ يفحص هذا الأخير ما إذا كان SIEM قد اكتشفها. إذا لم يكتشفها، تُعدَّل القواعد؛ تُعاد المحاولة. يتكرر هذا لكل تقنية في كتالوج MITRE ATT&CK.

الفائدة مزدوجة. يتعلّم الدفاع ما يخترقه اليوم وكيف يراه غدًا. ويتعلّم المهاجم أي التقنيات صاخبة وأيها تمر — أمر لا غنى عنه لمهمة خفية مستقبلية. purple team حقيقي مدته أسبوعان أفضل من pentest سنوي لا يصدر تقريره إلا بعد رحيل الاستشاريين.

للتعمق أكثر — التدقيق وpentest متكاملان، لا متنافسان

يتحقق تدقيق ISO 27001 من أن سياسة كلمات المرور مكتوبة وقابلة للتطبيق. لا يقول شيئًا عن متانتها الفعلية: إذا نصّت الوثيقة على «12 حرفًا كحد أدنى» لكن نصف الأجهزة لا يزال يقبل ثمانية، لن يراه المدقق.

هنا بالضبط يُكمِّل pentest: يحاول كسر هذه السياسة، بهجمات حقيقية على كلمات المرور، ويُبلّغ عن نسبة الحسابات التي سقطت. يدعم النهجان بعضهما — يمكن لتدقيق دون pentest أن يُصادق على منظمة تبقى سهلة الاختراق، ويجد pentest دون تدقيق عشرة ثغرات دون شرح سبب وجودها.


3. الثغرة، الاستغلال، الأثر — توقف عن الخلط بينها​

ثلاث كلمات. ثلاثة أشياء مختلفة. الخلط بينها يعني كتابة تقرير سيرميه العميل.

الثغرة (Vulnérabilité): نقطة ضعف. جزء من الكود، إعداد، كلمة مرور افتراضية. في حد ذاتها، لا تفعل شيئًا.

الاستغلال (Exploit): الفعل الملموس الذي يُحوّل نقطة الضعف إلى وصول. الكود، الأمر، النقرة التي تُثبت الأمر.

الأثر (Impact): النتيجة المتعلقة بالعمل الناتجة عن الاستغلال. ليست أبدًا درجة CVSS. إنها «بهذا، قرأت قاعدة بيانات العملاء كاملة» أو «بهذا، أوقفت الإنتاج ثلاثة أيام».

مثال لترسيخ الفرق:

  • الثغرة: يعمل خادم الويب بنسخة ضعيفة أمام CVE-2021-41773 (اجتياز مسارات في Apache).
  • الاستغلال: أُطلق curl بمسار يتجاوز الحدود، وأحصل على /etc/passwd.
  • الأثر: كانت بيانات اعتماد حساب خدمة موجودة في ملف .env في المجلد نفسه، فحصلت على الاتصال بقاعدة بيانات الإنتاج.

لا يهتم العميل بـCVE. يتذكر قاعدة البيانات. هذا ما يُوضَع في مقدمة التقرير.

تعريف — CVE، ما هو هذا الرقم وما ليس عليه

CVE، أي Common Vulnerabilities and Exposures، كتالوج عام تُديره مؤسسة MITRE في الولايات المتحدة. تحصل كل ثغرة تُعلَن للعموم على معرّف بالصيغة CVE-2021-41773: السنة المذكورة هي سنة التخصيص، لا سنة الاكتشاف. الكتالوج يُسمّي الثغرة، ولا يُصلحها.

ثلاثة أخطاء شائعة تُكلّف المبتدئين. وجود CVE لا يعني وجود استغلال علني: نحو ثلث الـCVE لم يُنشَر لها كود استغلال قط. ليست كل الـCVE خطيرة: كثير منها ينطبق فقط على إعدادات نادرة. والأهم، CVE خاصة بمكوّن ما لا تعني بالضرورة تأثرها لتركيبتك — إذا لم تكن الميزة المعطوبة مُفعَّلة، فالنسخة الضعيفة غير مؤذية. هذا أول ما يجب إثباته قبل كتابة كلمة «حرجة» في تقرير.

تعريف — CVSS، درجة الخطورة وحدودها

CVSS، أي Common Vulnerability Scoring System، يمنح ثغرة درجة من 0 إلى 10. يُجمّع بين الأثر المحتمل — السرية، السلامة، التوافر — وسهولة الاستغلال — قابل للوصول عبر الشبكة أم محليًا فقط، بمصادقة أم دونها، بتفاعل من المستخدم أم دونه.

هذه الدرجة مفيدة لترتيب كومة من التذاكر. لكنها عديمة الفائدة لتقرير pentest، وإليك السبب. يتجاهل CVSS سياقك. ثغرة بدرجة 9.8 على خادم معزول دون بيانات حساسة أقل إلحاحًا من ثغرة بدرجة 6.5 على البوابة التي تحمي إنتاجك. يجب أن يقول التقرير «بهذه الثغرة، يحصل مهاجم على الوصول إلى هذه البيانات»، لا «درجة CVSS 9.8». تساعد الدرجة العميل على الاختيار بين ثغرتين متقاربتين؛ لكنها لا تُغني أبدًا عن تحليلك.


4. عقلية المهاجم​

ينطلق مهندس النظم من الجهاز ويتساءل «ما الذي أُشغّله؟». ينطلق المهاجم من النقطة نفسها ويتساءل «ما الذي يتجاوز الحد؟».

الانعكاسات الخمسة التي تصنع الفرق:

  1. انظر دائمًا إلى ما يستمع. منفذ مفتوح هو باب. الباب هو خدمة. الخدمة هي نسخة. النسخة هي تاريخ من الثغرات المعروفة.
  2. انظر دائمًا إلى ما يتحدث. اللافتات، ترويسات HTTP، رسائل الخطأ — تروي كل شيء.
  3. انظر دائمًا إلى ما نُسي. ملف .git، backup.sql، robots.txt، لقطة شاشة تُركت في مجلد عام. الإهمال أكثر شيوعًا من الثغرة من نوع zero-day.
  4. سلسِل دائمًا. نادرًا ما تكون الثغرة الواحدة خطيرة. ثغرتان متوسطتان مُسلسلتان تُشكّلان كارثة. ابحث عن السلسلة، لا عن الثغرة.
  5. شكِّك دائمًا في النجاح. إذا نجح الأمر من أول محاولة، فقد يكون فخًا (honeypot). تحقق من أن الجهاز الذي تملكه هو فعلًا الذي تظنه.
العقلية في جملة واحدة

«ما نسي المطوّر التحقق منه، هو بالضبط المكان الذي أدخل منه.»

تعريف — الحالات الثلاث للمنفذ، لأننا سنقرأها في كل تقرير

المنفذ ليس «مفتوحًا أو مغلقًا» فقط: له ثلاث حالات، والخلط بين الأخيرتين سيُفوّت عليك أهدافًا حقيقية.

Open (مفتوح): شيء ما يستمع ويرد. هذا ما نبحث عنه.

Closed (مغلق): الجهاز موجود، وقد رد، لكن لا خدمة تنتظر على هذا المنفذ بالتحديد. الهدف حي، والمنفذ ببساطة غير مستخدَم.

Filtered (مُصفّى): لم يرد الجهاز — أو رد فقط برسالة خطأ — لأن جدار حماية اعترض الحزمة قبل ذلك. أنت لا تعرف إن كان المنفذ مفتوحًا أم مغلقًا. هذا أمر قيّم: يشير إلى وجود تصفية، وبالتالي أن الخدمة على الأرجح حساسة ومحمية عن قصد.

يضيف Nmap فارقين أكثر ندرة. Unfiltered (غير مُصفّى): يرد المنفذ لكن لا يستطيع Nmap الاستنتاج؛ شائع مع أنواع معينة من الفحوصات. Open|filtered: يتردد Nmap، غالبًا في UDP حيث قد يعني غياب الرد الحالتين معًا. ستتعلم قراءة هذه الحالات في الوحدة 4.

تعريف — root، Administrator، SYSTEM، ما نريده في النهاية

على أنظمة Unix — Linux، macOS، BSD — يُسمّى الحساب كلي الصلاحيات root. معرّفه الرقمي صفر. يقرأ ويكتب كل الملفات، يُنهي كل العمليات، يُحمِّل ويُلغي تحميل مُشغِّلات النواة.

على Windows، التسلسل الهرمي أدق. Administrator هو حساب المسؤول التاريخي، حساب سطح المكتب. وفوقه، غير مرئي للمستخدم، يجلس SYSTEM — الهوية التي تعمل تحتها خدمات Windows نفسها، بما فيها تلك التي تُدير المصادقة والأمان. يُفضّل مختبِر الاختراق SYSTEM على Administrator: يستطيع SYSTEM قراءة قاعدة كلمات المرور (SAM) التي لا يستطيع حتى Administrator فتحها دون اللجوء إلى حيل. لهذا السبب يستهدف عرض الوحدة مباشرة shell من نوع SYSTEM.

يوجد مستوى ثالث على الأجهزة المنضمة إلى نطاق Windows: Domain Admin. اختراق Domain Admin يُعادل امتلاك الدليل بأكمله — أي، عمومًا، كامل الأسطول.


5. الـkill chain — الخريطة لعدم الضياع أبدًا​

الهجوم ليس ومضة عبقرية واحدة. إنه سلسلة من المراحل. التسلسل الكلاسيكي، في سبع خطوات:

  1. الاستطلاع (Reconnaissance) — التعلّم عن الهدف دون لمسه (OSINT). الوحدة 3.
  2. الاستطلاع النشط — فحص المنافذ، حصر الخدمات. الوحدة 4.
  3. البحث عن الثغرات — ربط النسخ المرصودة بالـCVE المعروفة. الوحدة 5.
  4. الاستغلال الأولي — الحصول على أول shell. الوحدتان 7 و8.
  5. تصعيد الامتيازات — الانتقال من حساب عادي إلى root أو SYSTEM. الوحدة 9.
  6. الحركة الجانبية — القفز من جهاز إلى آخر، استخراج البيانات. الوحدة 10.
  7. التقرير — تسليم الأدلة، التوصيات، الجدول الزمني. الوحدة 12.

تُجيب كل وحدة في هذا الكورس عن مرحلة واحدة. حين تضيع أثناء مهمة، عد إلى هذه القائمة: تخبرك أين أنت، وما الذي ينقص.

للتعمق أكثر — من أين جاءت الـkill chain، ولماذا استبدلها MITRE ATT&CK

صيغت Cyber Kill Chain عام 2011 من قِبل Lockheed Martin. نقلت إلى العالم الرقمي المنطق العسكري المُطبَّق أصلًا على تدمير هدف مادي: Find, Fix, Track, Target, Engage, Assess. تكمن قوتها في الجانب التربوي — خطية، تُحفَظ في دقيقة — لكن ضعفها ظهر مع الاستخدام: الهجوم الحقيقي ليس خطيًا. إنه يدور في حلقات. يعود المهاجم إلى الاستطلاع بعد وصول أولي، يُغيّر المحور، يتخلى عن سلسلة ليجرّب أخرى.

يستبدل MITRE ATT&CK، الذي نُشر لأول مرة عام 2013، الخط بمصفوفة. الأعمدة هي الفئات الكبرى — Initial Access, Execution, Persistence, Privilege Escalation, Defense Evasion, Credential Access, Discovery, Lateral Movement, Collection, Command and Control, Exfiltration, Impact. يحتوي كل عمود على عدة تقنيات ملموسة، لكل منها معرّف فريد من نوع T1078. تسمح هذه الدقة لمدافع بالقول «لدي قواعد لهذا المعرّف، ولا شيء لذاك الآخر».

في هذا الكورس ننطلق من الـkill chain لأنها تُشكّل الخيط السردي، لكن ابتداءً من الوحدة 4 تظهر مفردات ATT&CK. مختبِر الاختراق الجيد يعرف التنقل بين الاثنتين.


6. لماذا Kali، لا Ubuntu​

Kali Linux توزيعة مبنية على Debian ومحمّلة بأدوات هجومية. كان بإمكاننا تثبيتها كلها يدويًا على Ubuntu. لا نفعل ذلك، لثلاثة أسباب:

  • كل شيء موجود، فورًا. Nmap، Metasploit، Burp Suite، John the Ripper، Hashcat، Wireshark، Bloodhound، Impacket — أكثر من 600 أداة مثبَّتة مسبقًا ومحدَّثة.

  • التحديثات تسير في الاتجاه الصحيح. قناة kali-rolling تدفع النسخ الهجومية الحديثة. على Ubuntu LTS، قد يتأخر Nmap سنة كاملة عن سكربتات NSE.

  • المجتمع يعرف ما تفعله. واجهت مشكلة؟ تبحث عن «kali nmap segfault»، وتجد الجواب في ثلاثين ثانية. على توزيعة عامة، لن يفهم أحد مشكلتك.

Kali ليس «نظام تشغيل للهاكرز». إنه صندوق أدوات محاط بنظام تشغيل. لا تُخزّن فيه شيئًا، ولا تفتحه على الشبكة العامة، وتُعيد إنشاءه من snapshot بمجرد أن يصبح غريب الأطوار.

تعريف — توزيعة rolling، ولماذا تُغيّر حياة المختبِر

توزيعة rolling، حرفيًا «التي تتدحرج»، تنشر التحديثات بشكل مستمر، دون نسخة مرقّمة ثابتة. تُحدّث يوم اثنين، تكون الحزم بالحالة التي كانت عليها ذلك الاثنين؛ تُحدّث بعد شهرين، تكون قد تقدّمت. لا توجد Kali 2023.4 تُثبَّت لعامين قبل إعادة تثبيت كل شيء — بل تدفق دائم.

في المقابل، تنشر Ubuntu LTS نسخة كل عامين ولا تتحرك عليها تقريبًا، باستثناء تصحيحات الأمان المُعاد نقلها. خيار وجيه لخادم إنتاج، حيث الاستقرار هو الأهم. بالنسبة لمهاجم، إنه عائق: توقيع استغلال أُضيف إلى Metasploit الأسبوع الماضي لن يصل إلى Ubuntu الخاصة بك إلا بعد دورة إعادة نقل، غالبًا لن يصل أبدًا.

المقابل الحقيقي لنموذج rolling حقيقي: قد يُعطّل تحديث أداة بين عشية وضحاها. لهذا السبب نأخذ لقطة VirtualBox بعد كل تحديث ناجح، ولا نعود إليها إلا بعد اختبار النسخة الجديدة في بيئة احتياطية.

تعريف — لقطة (snapshot) لجهاز افتراضي

الـsnapshot، أو اللقطة، تسجيل للحالة الكاملة لجهاز افتراضي في لحظة معينة: محتوى القرص، محتوى الذاكرة الحية، إعدادات العتاد المحاكاة. يُخزّن VirtualBox وVMware هذه الحالة بجانب القرص الافتراضي الرئيسي، على شكل ملف تفاضلي — تُنسخ فقط الكتل المُعدَّلة منذ اللقطة، ما يجعل العملية سريعة حتى لجهاز افتراضي بحجم عشرات الغيغابايتات.

استخدامان في pentest. الأول دفاعي: قبل تثبيت أداة مشكوك فيها أو تنفيذ ثنائي مريب، نأخذ لقطة؛ إذا تصرف الجهاز الافتراضي بشكل سيئ، نقرة واحدة تُعيده إلى حالته السابقة. والثاني تجريبي: على جهاز الهدف في المختبر، نأخذ لقطة base-vulnerable قبل الاستغلال الأول. يمكننا حينها إعادة تشغيل الهجوم نفسه إلى ما لا نهاية، وهو أمر لا غنى عنه للتحقق من معالجة أو لتدريب شخص آخر. دون لقطة، لا يُعاد تشغيل هدف مُدمَّر.


7. الأخطاء الشائعة التي تُكلّف وقتًا​

صحّحها الآن، قبل أن تُؤذيك في الأسبوع الخامس.

نقول غالبًا…المفهوم الصحيح
«وجدت CVE»الـCVE معرّف. نجد ثغرة، قد تُقابل CVE.
«اخترقته»لا، استغللت ثغرة. كلمة hack لا تعني شيئًا محددًا.
«هذا كود خبيث»الـexploit ليس malware. الـexploit يُفعِّل ثغرة. الـmalware يفعل شيئًا سيئًا بمجرد أن يستقر في مكانه.
«Nmap وجد لي ثغرة»لا، يرى Nmap منافذ ونسخًا. أنت من يربطها بالثغرة.
«المنفذ مغلق»يمكن أن يكون المنفذ closed (الخدمة ترفض)، أو filtered (جدار حماية يعترض)، أو open (شخص يستمع). ثلاث حالات، ثلاث قصص.
«Metasploit اخترق الجهاز»Metasploit يُسلّم استغلالًا ويُدير الجلسة. لا يُفكّر مكانك.

8. ما يجب تذكّره​

  • pentest محدود الإطار، مُصرَّح به، مُقاس. دون هذا الإطار، لم يعد pentest، بل جريمة.
  • تكمن قيمة pentest في الأدلة والتوصيات، لا في عدد الاكتشافات.
  • الثغرة، الاستغلال، الأثر: ثلاث كلمات، ثلاثة أشياء. لا تخلط بينها بعد الآن.
  • ينظر المهاجم إلى ما يتجاوز الحد، وما يتحدث، وما نُسي، ويُسلسِل.
  • الـkill chain تخبرك دائمًا أين أنت.
  • Kali صندوق أدواتك. ليس مكتبك، وليس خزنتك.

الدرس القادم: نُثبّت Kali، نُطلق أول فحص، ونشاهد جهازًا يسقط — في مختبر مغلق بقفلين.