مقدمة: مرحبا
انا مؤيد الملط, درست
هندسة البرمجيات في دمشق جامعة الهمك في
سوريا, سأشارك
معكم تجربتي في شهادة Offensive
Security Certified Professional (OSCP) or PWK
لمن
لا يعرف OSCP سوف
اضع رابط من الويكيبيديا أسفل هذا المقال
وسوف اكتفي بكتابة مقدمة بسيطة.
ملاحظة
سوف يكون هذا المقال طويل لانه يوجد اشياء
مفصلة قبل بدء في الشهادة والأشياء التي
يجب ان تمتلكها.
OSCP هي
واحدة من الشهادات التي تعتبر مدخل إلى
مجال اختبار الاختراق أو Penetration
test لكن
لا بد أن يكون لديك خبرات سابقة في الشبكات
والانظمة والبرمجة.
PWK اختصار
لـ Penetration
Testing with Kali Linux.
أود
شكر Offensive
Security لـ
الفرحة الكبيرة التي حققتها.
نبذة
عن سبب الشهادة: لقد
درست في دمشق جامعة الهمك هندسة برمجيات
وتعلمت عديد من لغات البرمجة في المعاهد
والكتب ومشاهدة الفيديوهات على الانترنت
كان لدي شغف في البرمجة وتطبيقات الويب
وكنت اريد ان اصبح مطورًا لتطبيقات الويب
لكن بسبب الحرب في سوريا لم استطع التخرج
وسافرت إلى أوروبا وقررت العمل لاني اذا
قررت ان اكمل دراستي في الجامعة سوف يأخذ
وقتاً طويلاً وبدأت بتقديم طلبات العمل
كـ مبرمج ويب Java,
backend developer, يوجد
العديد من الفرص هنا لكن للأسف لا أملك
شهادة تخرج استمريت على هذا الحال لمدة
سنة لكن دون فائدة لم اعمل مع العلم لدي
خبرة طويلة في هذا المجال في البرمجة
والشبكات لكن يوجد جانب اني احب الـ low-level
programming language مثل
الـ assembly,
C, من
ثم فقدت الأمل هنا لا استطيع العمل بدون
شهادة ولم استطيع دخول معهد لأن هذا سيكلف
الكثير على سبيل المثال كورس Java
Basic 5500€ في
الحقيقة لا اريد لو أملك المال الكافي
لاني امتلك بالفعل الخبرة والمعرفة, تركت
واتجهت إلى هوايتي المفضلة وهي الـ CTF كنت
العب منذ 2016 وكنت
استمتع كثيراً في تحديات الـ CTF حتى
اني تعرفت على مجموعة في البلد المقيم
بها واصبحنا نعد مسابقات CTF هنا
تجد المجموعة https://metalab.at/
في
الصيف تحديت نفسي في امتلاك جميع الصناديق
على موقع https://hackthebox.eu/ وبالفعل
تمكنت من ذلك يوجد العديد من الاجهزة
متفاوتة الصعوبة لكن تمكنت منها, بالمناسبة
كان التحدي بيني وبين نفسي إن تمكنت ان
امتلك كل الصناديق سوف اتقدم
لشهادة OSCP كمكافأة
لي في ذلك.
الأمور
التي يجب معرفتها في هذا المجال: مثل
أي مجال يوجد فروع كثيرة ومعقدة لن اتطرق
لها في هذا المقال لكن سوف اشرح ماهي
فقط, كلنا
نعلم أن أي شخص ينوي الدخول في IT-Security يجب
عليه تعلم الشبكات والانظمة والبرمجة
وكل هذه الامور كبيرا جداً وعميقا ايضاً
على سبيل المثال الشبكات يوجد الكثير
الكثير من البروتوكولات الاتصالات وكذلك
الامر على الانظمة على سبيل المثال Window
API أو linux
man أو linux
init, ايضاً
في البرمجة يوجد الكثير من لغات البرمجة
هذا معقد وكبير جداً لايمكن لاي شخص ان
يعرف كل شيء, لكن
يمكنني ان اقول لك ما هي الأمور التي يجب
أن تعرفها كي تبدأ مثل الشبكات يجب ان
يكون عندك معرفة في بروتوكول TCP
and UDP على
الأقل في البرمجة من منظوري الشخصي يجب
أن تفهم خوارزميات ويكون لديك خبرة في
لغة C و PHP وفي
الانظمة يجب ان تتعمق في الـ linux
and Windows.
ملاحظة "لن
اضع اي دورة تدريبية عن أي شيء", يوجد Google يمكنك
سؤاله لكن سوف اقول اني ادرس من الكتب
أكثر بسبب اني احب القراءة ويوجد اشياء
مفصلة أكثر.
كيف
بدأت: يوجد
العديد من مواقع التحديات ابتعد عن البحث
في "how
to be hacker" أو
فحص المواقع الحقيقية الآن يوجد الكثير
من الدورات التعليمية والمواقع على سبيل
المثال HackerOne أو Vulnhub.
فكر
مثل الهاكر, فكر
بعمق أكثر إن لم تعرف شيء اسال Google, صدقني
لو كانت تعرف في الشبكات والانظمة والبرمجة
لن يفيدك هذا فقط لماذا؟ بكل بساطة اقول
لك لنفترض أنك تخرجت من الجامعة ك طبيب
اسنان وليس لديك اي تجربة عملية في هذا
المجال... لم
تنجح صدقني, اذاً
اهم شيء هوة الممارسة ثم الممارسة يوجد
مثل ألماني يقول "Übung
macht den Meister" الترجمة
تقول الممارسة تخلق الخبرة.
واحدة
من أفضل الأشياء Hackthebox موقع
رهيب بكل معنى الكلمة اوصي بشدة تجربته
يوجد العديد من الاجهزة متفاوتة الصعوبة
والمعقدة قد يؤدي بك الحال إلى عدم الحل
لكن دور أكثر ابحث اكثر يمكن أن تضطر إلى
يومين لحل صندوق واحد, والشيء
الجميل هناك أنه يوجد عديد من الاشخاص
يمكن ان تصبح اصدقاء ويصبح منافسة بينك
وبين صديقك من سوف يخترق اول, يوجد
العديد من اللاعبين اللطيفين, بعد
حل أي صندوق حاول أن تعرف كيف يمكنك ترقيع
هذه الثغرة لانك سوف تعمل كـ خبير وليس
كمجرم, او
اكتب سكربت يقوم بالاستغلال كي تمارس فن
البرمجة.
كورس
الدورة: اثناء
حل Hackthebox صرت
اعمل في في أكشاك التصوير في فيينا
مقابل 5 يورو
في الساعة بالإضافة إلى أني عملت في برمجة
المواقع لاصدقاء لي في المانيا وكسبت
المال من ذلك واشتريت الكورس, الكورس
عبارة عن 90 أو 60 أو 30 يوم, لقد
طلبت 90 يوم
لاني سألت في Google اكثر
اجابة تقول 90 يوم
لكن كان بالنسبة لي 90 كثيرة
على العموم الكورس هوة عبارة عن كتاب PDF
380 صفحة
وفيديو مدته 3 ساعات
بالإضافة إلى مختبرات للتدرب عليها.
يشرح
الكتاب والفيديوأمور بسيطة وهي: خدمات
الكالي و برمجة الـ bash
shell وأدوات
مثل netcat و
الـ wireshark وبعض
البروتوكولات وادوات مثل Nmap و OpenVAS يوجد
قسم جميل انا احبه هو Buffer
OVerflow وبعض
الطرق لنقل الملفات داخل أجهزة المخترقة
والتمحور و اختراق تطبيقات الويب وفك
تشفير الباسورد إلخ…
قرأت
الكتاب وشاهدت الفيديو خلال أسبوع ثم
بدأت في اختراق المختبرات اخترقت 40 مختبر
في اول 20 يوم
ثم انتهيت منهم جميعاً في 32 يوم
اخترق كل المختبرات يوجد ايضاً شبكات
مخفية كلها اخترقتها اصعبهم كان Humble
, Pain , sufferance لكن
تمكن منهم من خلال خبرتي في الـ Hackthebox, لكن
لحظة يوجد أمامي 60 يوم!! ماذا
افعل؟
في
هذا الوقت بدات في كتابة تقارير عن
المختبرات كنوع من التدريب, لان
قبل ان احصل على الدورة تقدمت بطلب عمل
في شركة العمل كـ red
team لكن
تم رفض طلبي بسبب اني لم اكتب تقرير طيلة
حياتي بالفعل لم يكن لدي اي خبرة عن كتابة
التقارير لكن تعلمت وكتبت تقارير عن عدة
مختبرات اخذت مثل هذا
التصميم https://www.offensive-security.com/pwk-online/PWK-Example-Report-v1.pdf
"لا
يمكنني ان اتكلم أي شيء عن الاجهزة في
الامتحان"
الامتحان: إلى
هنا يوجد ايضاً تقريباً 28 يوم
ثم قررت جدولة امتحاني في 20 ديسمبر
قبل موعده الأصلي حيث شعرت اني انا جاهز
رتبت الامور والسكربتات على حاسوبي في
صباح الخميس تم ارسال رسالة لي تقول ان
امتحاني بعد 15 دقيقة
ويجب ان اتصل في الـ VPN كان
امتحاني مراقب يعني يجب علي ان اصور سطح
المكتب ويوجد كاميرا في المنزل تراقبني
كي لا اغش في الامتحان, كنت
قلق جداً ومتوتر لكن باشرت في سماع الاغاني
كي يتشتت تفكيري قليلاً عن الامتحان وأخذت
نفس عميق ثم باشرت في الامتحان.
يوجد
امامي 24 ساعة
للاختراق هناك 5 اجهزة
واحد منهم لعمل Debugger في
اول ساعة اخترقت جهازين 50 نقطة
كان الأمر سريع جداً "من
كثرة التدريب" ثم
حصلت على جهاز 20 نقطة
ثم 10 نقاط
اخيراً يوجد فقط جهاز لديه 20 نقطة
لكن أنا قد حققت النجاح ألا وهو 70 نقطة
يمكنك النجاح والحصول على الشهادة قررت
ان اترك اخر جهاز وأقوم بمراجعة لقطات
الشاشة كي يساعدوني في كتابة التقرير
تفقدت كل شيء ثم تناولت العشاء ونمت في
صباح اليوم التالي بدأت في اخر جهاز قلت
في نفسي لماذا لا احصل عليه بدأت في تعداد
الجهاز لكن الوقت لم يسمح لي وكان يوجد
الكثير من "حفر
الأرانب": يقصد
بها حفر لصيد الارانب او بمعنى اخر كثير
من التمويه لكن لا تبدو كـ ثغرات والكثير
من البورتات إلخ...
اكتفيت
في 80 نقطة
بالإضافة إلى 5 نقاط
هي على تقرير التدريبات خلال الكورس وهكذا
حصلت على 85 نقطة
من أصل 100.
التقرير: بدات
في كتابة التقرير حاولت ان يظهر في احسن
صورة وقد كان رائع للغاية لم اصدق اني انا
كتبت هذا التقرير اخذ مني 70 صفحة "من
الضروري أن تتعلم كيفية كتابة تقارير
رائعة لأن الشركات التي سوف تعمل عندها
لديها عملاء ولا تريد أن تخسر العملاء
بسبب تقارير سيئة" مع
العلم اني اكره التصميم وليس لدي اي خبرة
في التصميم لكن عندما تريد شيء سوف تفعله.
بعد
يومين استلمت رسالة تقول اني نجحت في
الامتحان كان هذا شعور رائع أشعر به.
نصائح
عامة:
- مشروع Metasploit مشروع
جد عظيم لكن انا انصح بالابتعاد عنه
قدر المستطاع لان في الامتحان لا يمكنك
استخدامه سوى مرة واحدة فقط الفائدة من
ذلك تتعلم كيف يتم استغلال هذه الثغرة
يدوياً وتكسب خبرة اكثر.
- لا
تحاول تتجاهل أي شيء لم تفهمه اكتب على
ورقة جميع نقاط ضعفك مثلا "sql" في
وقت فراغك إذهب إلى google وتعلم
اقرا عنها كي تتمكن منها.
- نام
جيداً قبل الامتحان يجب ان يكون لديك
تركيز عالي جداً
- هيئ
حاسوبك بكل شيء تريده من أدوات
الخلاصة: try
harder تجربة
اكثر من رائعة اكتسبت الكثير من
الخبرة, والكثير
من فرص العمل.
مغامرة
انصح بها بكل مهتم بأمن المعلومات
Offensive Security Certified Professional
https://en.wikipedia.org/wiki/Offensive_Security_Certified_Professional