بسم الله والصلاة والسلام على رسول الله صلي الله عليه وسلم.
ناس كتير سألتني عن امتحان الـ eWPTX، فإن شاء الله تعالى البوست ده هيكون مرجع ليك لو حابب تدخل الامتحان أو تحضرله إن شاء الله.
قبل أي حاجة، أنا مش هتكلم عن المشاكل اللي في الامتحان والتجربة السيئة مع الـ environment اللي هتخليك تعمل reset كتير وكدا، وانت وحظك لأن ممكن تبقى انت بتمتحن وتعرف حد تاني بيمتحن والدنيا عنده كويسة والعكس صحيح. ممكن تلاقي إن كل حاجة شغالة عنده والـ payload شغال ولكن عندك انت محتاج تعمل reset، فمش ده اللي هغطيه النهارده خالص.
ولا هتكلم عن إن ممكن تلاقيني مستوايا ضعيف جداً وتلاقيني eWPTx Certified، خصوصاً في إن eLearn security ممكن تشتري الامتحان وحد تاني غيرك يحلهولك. فأنا حبيت أذكر النقطة دي علشان محدش يصنف مستوى الناس بناءً على الشهادات الموضوع مش بيتحسب كدة.
الخطوة 0: النية والتوكل على الله في كل شئ
الخطوة الأولى والأهم هي أنك تكون لك النية الصحيحة وتعتمد على الله في كل شيء. تذكر إن الله تعالى لم يخلقنا من أجل نتمتع بالدنيا ونلهو نلعب فقط. قال تعالى { وَمَا خَلَقْتُ الْجِنَّ وَالْإِنْسَ إِلَّا لِيَعْبُدُونِ }. واجب على كل مسلم أن يستحضر النية في كل شئ، فمثلاُ بنشتغل وبنحاول نكسب فلوس علشان نتزوج وننفق على أولادنا وغيره من الأمور المباحة ودي نية كويسة نتعبد بها لله تعالى. ولكن يجب على كل مسلم ألا ينشغل بالأمور الدنيوية على حساب العبادات. فلا تترك صلاتك من أجل امتحان ولا تجعل مذاكرتك للامتحان أكبر همك. وتذكرت حديث النبي صلى الله عليه وسلم: “من أصبح وهمُّه الدُّنيا شتَّتَ اللهُ عليه أمرَه وفرَّق عليه ضَيْعَتَه وجعل فقرَه بين عينَيه ولم يأتِه من الدنيا إلا ما كُتِبَ له، ومن أصبح وهمُّه الآخرةُ جمع اللهُ له همَّه وحفظ عليه ضَيْعَتَه وجعل غناه في قلبِه وأتَتْه الدُّنيا وهي راغمةٌ”. فلا تغفل عن النية وتنشغل بها على حساب الفرائض والطاعات وتذكر أن المسلم القوي خير من المسلم الضعيف وأنك تمثل صورة المسلمين بنجاحك الدنيوي. بفكرة أن الدين لا يمنع نجاحك الدنيوي بل والله وبفضله أنا ما كنتش هعرف أعدي الامتحان ده الا بتوفيق الله عز وجل، فاذكر نفسي وإياكم بذلك.
الخطوة 1: الاطلاع على أساسيات تطوير المواقع
أول حاجة مهمة هي إنك تكون ملم بأساسيات تطوير المواقع وده مهم جداً ومينفعش تهمله أبداً. فعشان كدا أنصحك تدرس:
- HTML.
- JS crash course.
- SQL crash course.
- PHP & MySQL crash course.
بعد كدا هتعمل Web Application بس
يط من خلاله انت بتطبق على اللي تعلمته يعني مثلاً؛ تطبق على إزاي تعمل الـ File Upload بنفسك أو مثلاً تطبق على إزاي تعمل الـ CRUD application، أو مثلاً إزاي الـ pii data اللي بتكون موجودة في صفحة الـ profile بتاعتك بتبقى موجودة؟ وإزاي ترجعها وهكذا.
الخطوة 2: التعامل مع بعض الاساسيات
تاني حاجة إنك لازم يبقا ليك تعامل مع الـ Fundamentals للـ Windows والـ Linux عشان مثلاً لما تيجي تعمل Reverse Shell إزاي تستخدم الـ Tools؟ إزاي هتستخدم netcat؟ إزاي هتعمل Python Server؟ والخ... فهنا يفضل تدرس الأساسيات ممكن تبص على TryHackMe أو طبعاً زي ما ذكرنا إنك تسيرش على اللي قولته وأنا متأكد إنك هتلاقي مصادر عربي بتشرح أساسيات الكلام ده.
الخطوة 3: دراسة الثغرات نفسها
دراسة الثغرات نفسها مهمة جداً. أنا الكورس مفادنيش قوي الصراحة ولو الكورس واللابات معاك فأنا بقولك إن فيها أفكار مش من مستوى الامتحان يعني مثلاً ممكن تلاقي في الامتحان إن فيه اكتر من Reflected XSS هتعمل أبسط بايلود هيشتغل من غير أي Bypass عادي. فعشان كدا لو هنصحك إزاي تذاكر فهنا أنا هبدأ أرشح ليك الطريقة اللي بستعملها لدراسة أي ثغرة:
1. بشوف فيديوهات ليها من علي يوتيوب أو إذا توفر ليا كورس من علي يوديمي.
2. بقرأ رايتابس كتير ليها واللي مش بفهمه بسيبه يمكن لما اخلص مذاكره أفهمه ويظهرلي فببحث علي جوجل أو بفتح github علي الـ repository موجود عليه رايتابات مجمعه وبفتح كذا Tab وبدخل بالترتيب وافتكر إن "مالم يدرك كله لا يترك كله".
3. بدخل أذاكر المحتوي الموجود في Portswigger وبعدها أطبق بإيدي ولو معرفتش بشوف الحل وأهم حاجة تاخد Notes وللي بيسأل علي app حلو فأنا هنصحك بـ obsidian ده أكتر حاجة عجبتني. وهنا أنا هرشحلك الناس اللي تتابعها في جزء مذاكرة الثغرات (مش بالترتيب) أنا بالنسبالي استفادت منهم كلهم حتى لو إنت شايف إن فيه حد منهم شرحه بسيط أوي فأنا بالنسبالي برضه كنت بحب أتفرج لأن ده بيثبت المعلومة.
- Rana Khalil.
- ArabHackSploit.
- Ebrahim Hegazy.
- Khalid Ibn Elwaleed.
- Cyber Guy.
4. بشوف إزاي الناس بتعمل Automation للثغرة وأحاول أعرف الـ tools دي بتشتغل إزاي.
5. أجمع كل دة وأحطه في مكان واحد بحيث أبقا عارف هو فين لما هرجعله سواء بقا في الامتحان أو الـ hunting.
6. لو جاوبت على الـ 3 أسئلة
لكل ثغرة هتتعلمها فأنت جاهز إن شاء الله ليها في الامتحان.
- إيه هي الثغرة ونبذة عن إزاي بتتصلح؟
- أين يكثر تواجدها ولماذا؟
- إزاي الأقيها (ودي أهم حاجة لازم تتعلمها لإنك مطلوب منك فالامتحان تلاقي الثغرات وأنك تبقي عارف إمتى تعمل تست على الثغرة وإزاي تعمل تست على كل ثغرة).
الخطوة 4: الاطلاع على تجارب الناس
إنك تشوف تجارب الناس اللي دخلت الامتحان فتبقا فاهم نظام الامتحان بيكون إيه ومطلوب منك تعمل إيه، لأن عادي جداً ممكن تدخل الامتحان وتطلع الثغرات بس تبقا موصلتش للـ Objective اللي الامتحان معمول علشانه. ومن هنا هحطلك المصادر أو الـ Bookmarks اللي كنت بجمعها قبل الامتحان وبقرأ فيها.
وأخيرًا: لو انت ركزت على بورت سويجر (وفهمت اللابات كويس) وتعاملت مع كل لاب بال 3 أسئلة اللي قولتلك عليهم لمذاكرة أي ثغرة مش مجرد انك عارف الحل فانت إن شاء الله هتقدر تعدي الامتحان.
ومن أهم المواضيع اللي تركز عليها ولازم تبقا فاهمها كويس قبل ما تدخل الامتحان:
- SQL Injection بأنواعها وابحث برضه عن الـ Second Order.
- ماذا بعد الـ localhost هتعمل ايه؟
- SSTI.
- PHP & JAVA Deserialization.
- ازاي لو معاك ثغرة تاخد منها Reverse Shell؟ ودا متطلب في الامتحان.
- ازاي تعلي صلاحيتك؟ من user عادي لـ admin.
- ازاي تعمل Recon للتارجت بتاعك.
- ازاي توصل من ثغرة لثغرة تاني؟
أهم شيء في الامتحان علشان تنجح علي حسب ما اتقالي:
وان شاء الله انت هتجيب اكثر من كدة لأنك مفروض تعمل ريبورت كامل فيه كل حاجة كانك بالظبط في Pentest وتطلع كل الـ Findings اللي تقدر تلاقيها حتى لو فيه حاجة low بلغها برضه.
مصادر إضافية:
وأتمنى من كل من قرأ هذا واستفاد أن يدعوا لي بصالح دعائه.