تنبيه

الرجاء تحديد نص من المقال أولاً.

محتوى محمي

لتحميل هذا المقال، يرجى تفعيل جرس الإشعارات أو اختيار طريقة اشتراك أخرى.

Ahmed Bouchefra

الرئيسية
Ahmed Bouchefra

أحمد بوشفرة

Software Engineer & Tech Author

ابدأ هنا
ابدأ هنا
المكتبة
المكتبة
أكاديمية بايثون
أكاديمية بايثون
تطبيق اختبارات البرمجة
تطبيق اختبارات البرمجة
دورات يوديمي
دورات يوديمي
المسارات
المسارات
الملخصات
الملخصات
الأدوات
الأدوات
اشترك
اشترك
كتب فريق 10xdevblog
كتب فريق 10xdevblog
الكاتب: أحمد بوشفرة

تجربة عملية لاختراق المواقع: حل تحدي على منصة TryHackMe

اضغط على زر PDF لتحميل المقال كملف للقراءة لاحقاً

ملاحظة: هذا المقال بقلم أحمد بوشفرة. الآراء الواردة تعبر عن الكاتب.

أحمد بوشفرة: مبرمج ومؤلف تقني، أساعد المطورين على بناء تطبيقات ويب حديثة وسريعة.

يمكنك التواصل مع الكاتب لطلب خدمات برمجية عبر:

يمكنك أيضاً نشر مقالك هنا والترويج لخدماتك أمام جمهور من المبرمجين. تواصل معنا

لخص هذا المقال باستخدام ChatGPT

انسخ الأمر أدناه والصقه في ChatGPT للحصول على ملخص سريع للمقال:

لخص لي هذا المقال في نقاط رئيسية: https://www.ahmedbouchefra.com/practical-website-penetration تم النسخ!
فتح ChatGPT

مرحباً بكم، في هذا المقال نكمل معكم الجزء الثاني من دورة اكتشاف الثغرات، ولكن هذه المرة سننتقل من الجانب النظري إلى الجانب العملي، حيث سنخوض تجربة حقيقية في اختبار اختراق المواقع باستخدام منصة TryHackMe.

ما هي منصة TryHackMe؟

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

المتطلبات الأساسية

في هذا الشرح، سنستخدم نظام كالي لينكس، وهو نظام مخصص للمحترفين في مجال الأمن السيبراني واختبار الاختراق الأخلاقي. إذا لم تكن قد قمت بتثبيته بعد، يمكنك إيجاد شروحات تفصيلية لطريقة تثبيته على كل من الهاتف والحاسوب.

إنشاء حساب والاتصال بالشبكة

  1. إنشاء حساب جديد: توجه إلى موقع TryHackMe وابدأ بإنشاء حساب جديد. سيُطلب منك تحديد ما إذا كنت تستخدم الموقع لاستخدام شخصي أم لشركة. اختر “لنفسي”. بعد ذلك، ستظهر لك خيارات لوصف مهنتك الحالية:
    • لدي مهنة أخرى
    • أنا طالب متدرب
    • أعمل في مجال تكنولوجيا المعلومات
    • أعمل في الأمن السيبراني

    اختر الخيار الذي يناسبك، ثم أكمل بقية خطوات التسجيل كما تفعل في أي منصة أخرى.

  2. تنزيل ملف الاتصال (OpenVPN): بعد إنشاء الحساب، من المهم جدًا إعداد الاتصال بالشبكة الافتراضية للمنصة.
    • اضغط على صورة حسابك واختر قسم Access.
    • انزل للأسفل قليلًا وستجد خيار تنزيل ملف OpenVPN.
    • اختر الخيار الثالث ثم قم بتنزيل الملف.
  3. الاتصال بالشبكة عبر الطرفية (Terminal):
    • افتح الطرفية وانتقل إلى مجلد التنزيلات باستخدام الأمر:
      cd Downloads
      
    • نفّذ الأمر التالي للاتصال، مع استبدال [filename] باسم الملف الذي قمت بتنزيله:
      sudo openvpn [filename].ovpn
      
    • سيُطلب منك إدخال كلمة مرور نظام كالي لينكس. (ملاحظة: كلمة المرور لا تظهر أثناء كتابتها، فقط اكتبها واضغط على Enter).
    • للتحقق من نجاح الاتصال، عد إلى صفحة Access في موقع TryHackMe وقم بتحديثها.

بدء التحدي: Markdown to PDF

الآن، لنبحث عن الغرفة التي سنقوم بحلها معًا في هذا الدرس. في هذا التحدي، سنواجه تطبيق ويب بسيط وظيفته تحويل ملفات الماركداون (Markdown) إلى صيغة PDF. كما هو الحال في كثير من تطبيقات الويب، قد يحتوي هذا النوع من الخدمات على ثغرات أمنية يمكن استغلالها.

  1. انضم إلى الغرفة واضغط على Start Machine.
  2. بعد انتظار دقيقة، سيظهر لك عنوان IP الخاص بالموقع المستهدف. قم بنسخه.

مرحلة الاستطلاع (Reconnaissance)

  1. فحص المنافذ المفتوحة: افتح نافذة جديدة في الطرفية واستخدم أداة nmap لفحص المنافذ المفتوحة على الموقع المستهدف.
    sudo nmap [عنوان IP الخاص بالموقع]
    

    أظهر الفحص أن المنافذ المفتوحة هي:

    • 22: لخدمة SSH
    • 80: لخدمة HTTP
    • 5000: منفذ آخر لخدمة HTTP
  2. استكشاف الموقع: نعود إلى المتصفح وندخل عنوان IP لزيارة الموقع. نجد أنه يعمل بالفعل ويقوم بتحويل نصوص الماركداون إلى PDF كما هو متوقع.

  3. فحص مصدر الصفحة: بالنقر بزر الفأرة الأيمن واختيار “عرض مصدر الصفحة”، يمكننا فحص كود HTML. بعد الفحص، لم أجد شيئًا يدل على وجود ثغرة.

  4. البحث عن الملفات المخفية: الخطوة التالية هي فحص الملفات والدلائل الموجودة على الخادم. يمكن استخدام أدوات مثل gobuster أو dirb لهذا الغرض.
    gobuster dir -u http://[عنوان IP الخاص بالموقع]:5000 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
    

    كشفت الأداة عن وجود ملف باسم admin.

مرحلة الاستغلال (Exploitation)

  1. محاولة الوصول لصفحة المدير: عند محاولة الوصول إلى صفحة /admin عبر المتصفح، تظهر رسالة تفيد بأن الوصول محظور وأن هذا الملف يمكن الوصول إليه داخليًا فقط. هذا يعني أن علينا إيجاد طريقة للوصول إلى الملف من داخل الخادم نفسه.

  2. اختبار ثغرة حقن (Injection): بما أن حقل الإدخال هو الوسيلة الوحيدة للتفاعل مع التطبيق، فلنختبر ما إذا كان مصابًا بثغرة حقن. سنقوم بإدخال كود HTML بسيط لنرى هل سيتم تنفيذه.
    <h1>hacker</h1> <h6>hacker</h6>
    

    كما هو متوقع، تم تنفيذ الكود وظهر نص “hacker” بحجم كبير وصغير في ملف PDF الناتج. لقد اكتشفنا ثغرة خطيرة جدًا في الموقع، وهي Server-Side Template Injection (SSTI) أو حقن HTML، مما يعني أننا اقتربنا من حل التحدي.

  3. استغلال الثغرة للوصول إلى صفحة المدير: بما أن صفحة المدير لا يمكن الوصول إليها إلا من “الداخل”، يمكننا استخدام الثغرة التي اكتشفناها لجعل الخادم يعرض لنا محتوى الصفحة. سنستخدم وسم <iframe> لعرض صفحة admin داخل الصفحة التي نتحكم بها.
    <iframe src="/admin" width="100%" height="500px"></iframe>
    

    عند إدخال هذا الكود في حقل التحويل، نجحنا في الوصول إلى صفحة المدير المطلوبة.

الحصول على العلم (Flag)

وجدنا في صفحة المدير العلم (Flag) المطلوب لحل التحدي. نقوم بنسخه والعودة إلى موقع TryHackMe. نلصق العلم في الحقل المخصص ثم نضغط على “Submit”.

تم حل التحدي بنجاح. لقد كان تحديًا سهلًا ومباشرًا. نأمل أن تكونوا قد استفدتم من هذا الشرح العملي.

هل لديك سؤال أو استفسار؟ اترك تعليقاً بالأسفل:

احصل على المحتوى الجديد فور نشره ⚡

اختر الطريقة الأنسب لك لمتابعتنا والحصول على التحديثات مجاناً.
(اضغط على رابط التفعيل الذي سيصلك لفتح المحتوى)

عرض كل بدائل الاشتراك

احصل على موارد مجانية! 📚

اشترك في القائمة البريدية واحصل على كتب ومصادر تعليمية مجانية

تنبيه هام:

للاشتراك بنجاح، يرجى فتح الصفحة في متصفح خارجي (مثل Chrome أو Safari) وليس متصفح التطبيق المدمج.

📚 المكتبة المجانية

حمّل كتب وأدلة PDF مجانية في البرمجة وتطوير الويب

تصفح المكتبة

شارك المقال

تجربة عملية لاختراق المواقع: حل تحدي على منصة TryHackMe
0:00 / 0:00