إذا بحثت عن مراجعة لكورس SEC760 بتلاحظ إن المراجعات عنه قليلة جدًا، خصوصًا بعد تحديث الكورس الأخير، يوم سجلت فيه كنت أدور أي شخص يتكلم عن النسخة الجديدة، لكن ما لقيت أحد، لذلك وعدت نفسي إذا خلصته بكتب الريفيو اللي كنت أتمنى احصله.
الماهية
الكورس مدته خمسة أيام متصله ومنفصله بنفس الوقت، كل يوم عبارة عن موديول يستحق يكون كورس مستقل، تبدأ مع IDA Pro و Windows Internals، وبعدها تدخل عالم Linux Heap Exploitation وV8 Type Confusion، ثم Fuzzing، وبعدها Patch Diffing، وأخيرًا Windows Kernel Exploitation، ولما تشوف القائمة لأول مرة غالبًا بتقول: "وش العلاقة بين كل هذي الأشياء؟" وهذا بالضبط السؤال اللي كان في بالي قبل بداية التدريب.
الخلفية
مبدئياً آخر كورس كنت أخذه في نفس المجال كان OSED، وكان تركيزه على Stack Overflow في x86، أما Heap Exploitation سواء على ويندوز أو لينكس، فكنت ما أعرف عنه شيء تقريبًا، والـ Windows Kernel بالنسبة لي كان عالم كامل ما قد دخلته ابد، كنت كل فترة أحاول أقرأ Write-up عن Heap أو Kernel Exploitation، لكن بعد أول فقرتين أقفل الصفحة، مو لأن الشروحات سيئة، لكن لأني كنت أحس إن كل المصادر تبدأ من نص القصة، الكل يشرح كيف تستغل، ولا أحد يشرح كيف النظام يشتغل أصلًا بالحالة الطبيعة.
حديث النفس الوجودي
بعد ما أكدت التسجيل، صار كل اللي أفكر فيه هو: هل أنا أصلًا مستعد لهذا الكورس؟
الي اعرفه عن الكورس إنه أصعب كورسات SANS، وكنت أعرف إنه يتكلم عن مواضيع ما سبق لي دخلتها بشكل عميق، هذا شي كان مقلقني ومخوفني من الكورس، فف الحاله الذهنيه الي كنت فيها وانا داخل الكورس يمثلها ابيات فلاح القرقاح :
وانا من بـين التوتـر ومـن بـين القـلق
بـس ما بالصدر ضيـقه ولا فيـه غلـقه
ادعي الهاجوس واصيح به لين انطلق
لا بغيت الـعود الازرق يطيبـك احرقـه
لذلك توكلت على الله وقررت من البداية إني آخذ الكورس Live عشان اقدر اسال بنص الشرح اذا اشكل علي شي بالشرح، وايضاً خذيت معه اضافة الـ OnDemand، لأني كنت مقتنع أن خمسة أيام ما راح تكفي لاستيعاب كل هذي المواضيع، وللأمانة كانت من أفضل القرارات اللي أخذتها قبل بداية الكورس، لأن فيه أجزاء رجعت لها أكثر من مرة بعد انتهاء التدريب وكون المعلم في الـ Live مو شرط هو الي يشرح الموديول في الـ OnDemand فيكون عندك معلمين او عقليتين يشرحون لك نفس الكونسبت بس باساليب مختلفة.
لب المراجعة
بدأ الكورس بتاريخ 27 أكتوبر 2025، وكان لايف على توقيت هولندا، يبدأ تقريبًا الساعة 11 صباحًا عندنا ويستمر قرابة تسع ساعات مع فترات راحة للصلاة والأكل، لكن مهما كانت البريكات، بنهاية اليوم تحس إن مخك استهلك كل طاقته.
أول موديول كان عن IDA Pro و Windows Internals، بالبداية توقعت إن جزء IDA بيكون مجرد مراجعة سريعة، لكنه طلع ألطف من كذا، في النسخ القديمة من الكورس كان فيه سكشنز كاملة تشرح FLIRT و FLAIR، لكن مع تطور IDA وإضافة Lumina وميزات الذكاء الاصطناعي، كثير من هذي المهام صارت تتم بشكل تلقائي، لذلك ما عاد لها نفس التركيز، ومع ذلك، كان جميل إنهم يشرحون وش اللي يصير خلف الكواليس بدل ما تعتمد على الأداة اعتمادًا كاملًا.
ولكن بشكل عام فيه حركات حلوه تتعلمها ولكن ما فيه شي يعور الراس لين يبدا في الـ Windows Kernel Internals والمشكله انه يشرحه باخر اليوم، والمشكله الثانيه بالنسبه لي مدري هو قل انتباه ولا قفله بالمخ ولكن ما فهمت ليه حنا نحتاج هذي المعلومات الي باليوم الاول لين خلصنا اليوم الخامس وبدينا بعمل اول كيرنل اكسبلويت.
وقتها راجعت الي درسناه بالموديول الاول، واكتشفت إن كل المعلومات اللي كنت أحسبها بعيدة عن التطبيق كانت في الحقيقة تبني الأساس لآخر موديول في الكورس، يمكن كانت هذي أول مرة أحس فيها بلذة إن الصورة بدأت تكتمل، وإن كل سؤال كان يدور في بالي خلال اليوم الأول بدأ يلقى إجابته بنفسه.
لكن نقطة التحول الحقيقية بالنسبة لي ما كانت في Windows Internals...
كانت في موديول Heap Exploitation.
هذا الموديول بالنسبة لي ما علمني Heap Exploitation فقط، بل حل مشكلة كانت تلاحقني من سنوات، في السابق وفي كل مرة أحاول أتعلم Heap كنت أواجه نفس العقبة: كل المصادر الي تشرح الـ heap exploitation تبدأ من الاستغلال، ولا أحد يشرح الحياة الطبيعية للـ Heap قبل ما يبدأ يتكلم عن الثغرات، وش تسوي malloc؟ وش يسوي free؟ وليش أصلًا صمموا Heap بهذا الشكل؟
في هذا الموديول، لأول مرة حسيت إن أحد بدأ من البداية، بدل ما يقول "سو كذا عشان تستغل"، بدأ يشرح "ليش النظام يتصرف بهذه الطريقة"، وبمجرد ما فهمت الأساس، صارت كثير من الـ Write-ups اللي كنت أقرأها سابقًا منطقية.
بعد انتهاء الموديول رجعت لـ pwn.college، واكتشفت إنه يشرح نفس المفاهيم اللي كنت أبحث عنها من زمان، لكن يظل أسلوب SANS مختلف، الدايقرامز، وترتيب الأفكار، وطريقة الانتقال بين المفاهيم كانت ممتازة، وساهمت بشكل كبير في سرعة الاستيعاب.
بعد موديول الـ Heap Exploitation، جاء موديول Fuzzing، بصراحة كان الموديول جيد، لكن بالنسبة لي ما كان بنفس مستوى الموديولات الثانية، يمكن لأني كنت متحمس أكثر للـ Heap والـ Kernel، أو يمكن لأن مدته كانت أطول من اللي كنت اتوقعه، مع ذلك، يعطيك فكرة جيدة عن أساسيات الـ Fuzzing وكيف تبدأ تبني طريقة تفكيرك في هذا المجال، حتى لو ما كان أكثر موديول شد انتباهي في الكورس.
بعدها انتقلنا إلى موديول Patch Diffing، واللي بالنسبة لي كان واحدًا من أكثر الموديولات إثارة، قبل الكورس كنت ما أعرف فكرة الـ Binary Diffing بشكل عام، وما كنت مستوعب كيف الناس تقدر تسوي استغلالات جديدة بمجرد نزول تحديث أمني ؟؟
في هذا الموديول بدت الصورة تتضح، تعلمت إن مايكروسوفت تنزل تحديثاتها الكبيرة في ثاني ثلاثاء من كل شهر، وبعد نزول التحديث يقدر الباحث الأمني يقارن الملفات القديمة بالجديدة، ويركز على الأماكن اللي تغيرت داخل الباينري، وإذا عرف وش اللي تغير، غالبًا يقدر يعرف وش الثغرة اللي اتصلحت، ومن هناك يبدأ رحلة تحليلها ومحاولة كتابة Exploit للأجهزة اللي ما وصلها التحديث.
هذا هو مفهوم Patch Diffing، وهو جزء من Binary Diffing بشكل عام، الفكرة نفسها تقدر تطبقها على أي برنامج: جيب نسخة قديمة ونسخة جديدة، وقارن بينهم، وركز على الاختلافات.
بصراحة كان من أكثر المفاهيم اللي أبهرتني في الكورس، خصوصًا انه أول مرة اشوفه يتطبق قدامي.
آخر موديول في الكورس كان Windows Kernel Exploitation، وهنا بدأت كل المعلومات اللي أخذناها خلال الأسبوع تتجمع في مكان واحد. الأشياء اللي كنت مستغرب ليه درسناها في أول يوم، والمفاهيم اللي حسيتها وقتها معقدة أو بعيدة عن التطبيق، كلها رجعت مرة وحدة وصارت تخدم الهدف النهائي.
وفي هذا الموديول أيضًا تعلمت درسًا مهمًا: إذا كنت تشوف إن استغلالات الـ Userland متعبة، فجرب تكتب Exploit للـ Kernel.
في الـ Userland غالبًا إذا أخطأت بيطيح البرنامج، وتعدل الخطأ وتحاول مرة ثانية. أما في الـ Kernel فأبسط غلطة ممكن تنتهي بـ Blue Screen وإعادة تشغيل الجهاز بالكامل، وهنا تعرف قيمة الـ Snapshots وأنك تحفظ حالة الماشين كل شوي أثناء تطوير الاستغلال.

التحدي الحاسم
كون الكورس ما عليه اختبار ولا شهادة، بعد ما انتهى الكورس، حسيت إني ما أبي تكون النتيجة مجرد إني حضرت خمس أيام وسويت اللابات اللي قدامي، كنت أبي أثبت لنفسي قبل أي أحد إني فعلًا فهمت اللي تعلمته، وأقدر أطبقه بدون ما يكون فيه أحد يمشيني خطوة بخطوة.
لذلك قررت أدخل التحدي للحصول على الـ Coin.
اتفقت مع ستيف على موعد التحدي، وأخذت أسبوع كامل إجازة من الدوام، وقتها كان عندي ثلاث مهام في حياتي فقط:
- أكل
- نوم
- حل التحدي
أي شيء غيرها كان مؤجل إلى أن ينتهي الأسبوع.
من يوم بدأت التحدي، اكتشفت إن الكورس الحقيقي بدأ الآن. هنا ما عاد فيه Instructor يوجهك، ولا Lab يقول لك وش تسوي بعد الخطوة الجاية، أنت والمشكلة لحالكم، وعليك تفهمها وتحللها وتوصل للحل بنفسك.
وبفضل الله، قبل نهاية الأسبوع كنت رافع الحل كامل لستيف، وبعد المراجعة اجتزت التحدي وحصلت على الـ Coin. وقتها فقط حسيت إن كل الساعات اللي قضيتها بين إعادة الفيديوهات، وإعادة اللابات، والقراءة، كانت فعلًا جابت نتيجتها.
درءً للشبهات
فيه نقطة مهمة جدًا ودي أذكرها، لأن كثير ممكن يشوف صورة الـ Coin ويعتقد إن الموضوع كان سهل، أو إني كنت فاهم الكورس من أول يوم.
الحقيقة غير كذا تمامًا.
أنا بدأت الكورس بتاريخ 27 أكتوبر 2025، لكن ما أعتبر نفسي فعلًا أنهيته إلا في نهاية يونيو 2026، يوم خلصت التحدي. تقريبًا ثمانية أشهر بين بداية الرحلة ونهايتها.
خلال هذي الفترة رجعت للـ OnDemand مرات كثيرة، وأعدت اللابات أكثر من مرة، ومرت علي أيام كنت أحس فيها إني ما قاعد أتقدم، وأيام ثانية ترجع فيها كل القطع تركب مع بعضها فجأة. أكثر من مرة فكرت أوقف وأقول: "يمكن هذا المستوى أكبر مني"، لكن كل مرة كنت أتذكر أبيات فالح بن دهمان:
تقول نفسي إذا شاورتها غامر
على صحيح المبادي يا مضريها
باكر يمرك قطار الموت وتسافر
لله، ما دامت الدنيا لأهاليها
وفي الختام ...
صلوا على من أُمرتم بالصلاة عليه ﷺ
مصادر مهمة
- Dynamic Allocator Misuse - pwn college: https://pwn.college/program-security/dynamic-allocator-misuse
- Debuggers 3011: Advanced WinDbg - OpenSecurityTraining2: https://p.ost2.fyi/courses/course-v1:OpenSecurityTraining2+Dbg3011_WinDbg3+2023_v1/about
- Architecture 2821: Windows Kernel Internals 2 - OpenSecurityTraining2: https://p.ost2.fyi/courses/course-v1:OpenSecurityTraining2+Arch2821_Windows_Kernel_Internals_2+2023_v1/about
- Exploitation 4011: Windows Kernel Exploitation: Race Condition + UAF in KTM - OpenSecurityTraining2: https://p.ost2.fyi/courses/course-v1:OpenSecurityTraining2+Exp4011_Windows_Kernel_UAF_KTM+2023_v1/about