مرحباً بكم، في هذا المقال نكمل معكم الجزء الثاني من دورة اكتشاف الثغرات، ولكن هذه المرة سننتقل من الجانب النظري إلى الجانب العملي، حيث سنخوض تجربة حقيقية في اختبار اختراق المواقع باستخدام منصة TryHackMe.
ما هي منصة TryHackMe؟
قد تكون هذه المنصة جديدة على البعض ومألوفة للبعض الآخر. ولمن لا يعرفها، TryHackMe هي منصة تعليمية توفر بيئة افتراضية آمنة مليئة بالتحديات الأمنية، تتيح لك اختبار مهاراتك واكتساب خبرة واقعية في مجال الاختراق الأخلاقي. في هذا الدرس، سنقوم بإنشاء حساب جديد معًا ونبدأ رحلتنا من الصفر حتى نصل في النهاية إلى المستوى الاحترافي.
المتطلبات الأساسية
في هذا الشرح، سنستخدم نظام كالي لينكس، وهو نظام مخصص للمحترفين في مجال الأمن السيبراني واختبار الاختراق الأخلاقي. إذا لم تكن قد قمت بتثبيته بعد، يمكنك إيجاد شروحات تفصيلية لطريقة تثبيته على كل من الهاتف والحاسوب.
إنشاء حساب والاتصال بالشبكة
- إنشاء حساب جديد:
توجه إلى موقع TryHackMe وابدأ بإنشاء حساب جديد. سيُطلب منك تحديد ما إذا كنت تستخدم الموقع لاستخدام شخصي أم لشركة. اختر “لنفسي”.
بعد ذلك، ستظهر لك خيارات لوصف مهنتك الحالية:
- لدي مهنة أخرى
- أنا طالب متدرب
- أعمل في مجال تكنولوجيا المعلومات
- أعمل في الأمن السيبراني
اختر الخيار الذي يناسبك، ثم أكمل بقية خطوات التسجيل كما تفعل في أي منصة أخرى.
- تنزيل ملف الاتصال (OpenVPN):
بعد إنشاء الحساب، من المهم جدًا إعداد الاتصال بالشبكة الافتراضية للمنصة.
- اضغط على صورة حسابك واختر قسم Access.
- انزل للأسفل قليلًا وستجد خيار تنزيل ملف OpenVPN.
- اختر الخيار الثالث ثم قم بتنزيل الملف.
- الاتصال بالشبكة عبر الطرفية (Terminal):
- افتح الطرفية وانتقل إلى مجلد التنزيلات باستخدام الأمر:
cd Downloads
- نفّذ الأمر التالي للاتصال، مع استبدال
[filename]
باسم الملف الذي قمت بتنزيله:sudo openvpn [filename].ovpn
- سيُطلب منك إدخال كلمة مرور نظام كالي لينكس. (ملاحظة: كلمة المرور لا تظهر أثناء كتابتها، فقط اكتبها واضغط على Enter).
- للتحقق من نجاح الاتصال، عد إلى صفحة Access في موقع TryHackMe وقم بتحديثها.
- افتح الطرفية وانتقل إلى مجلد التنزيلات باستخدام الأمر:
بدء التحدي: Markdown to PDF
الآن، لنبحث عن الغرفة التي سنقوم بحلها معًا في هذا الدرس. في هذا التحدي، سنواجه تطبيق ويب بسيط وظيفته تحويل ملفات الماركداون (Markdown) إلى صيغة PDF. كما هو الحال في كثير من تطبيقات الويب، قد يحتوي هذا النوع من الخدمات على ثغرات أمنية يمكن استغلالها.
- انضم إلى الغرفة واضغط على Start Machine.
- بعد انتظار دقيقة، سيظهر لك عنوان IP الخاص بالموقع المستهدف. قم بنسخه.
مرحلة الاستطلاع (Reconnaissance)
- فحص المنافذ المفتوحة:
افتح نافذة جديدة في الطرفية واستخدم أداة
nmap
لفحص المنافذ المفتوحة على الموقع المستهدف.sudo nmap [عنوان IP الخاص بالموقع]
أظهر الفحص أن المنافذ المفتوحة هي:
- 22: لخدمة SSH
- 80: لخدمة HTTP
- 5000: منفذ آخر لخدمة HTTP
-
استكشاف الموقع: نعود إلى المتصفح وندخل عنوان IP لزيارة الموقع. نجد أنه يعمل بالفعل ويقوم بتحويل نصوص الماركداون إلى PDF كما هو متوقع.
-
فحص مصدر الصفحة: بالنقر بزر الفأرة الأيمن واختيار “عرض مصدر الصفحة”، يمكننا فحص كود HTML. بعد الفحص، لم أجد شيئًا يدل على وجود ثغرة.
- البحث عن الملفات المخفية:
الخطوة التالية هي فحص الملفات والدلائل الموجودة على الخادم. يمكن استخدام أدوات مثل
gobuster
أوdirb
لهذا الغرض.gobuster dir -u http://[عنوان IP الخاص بالموقع]:5000 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
كشفت الأداة عن وجود ملف باسم
admin
.
مرحلة الاستغلال (Exploitation)
-
محاولة الوصول لصفحة المدير: عند محاولة الوصول إلى صفحة
/admin
عبر المتصفح، تظهر رسالة تفيد بأن الوصول محظور وأن هذا الملف يمكن الوصول إليه داخليًا فقط. هذا يعني أن علينا إيجاد طريقة للوصول إلى الملف من داخل الخادم نفسه. - اختبار ثغرة حقن (Injection):
بما أن حقل الإدخال هو الوسيلة الوحيدة للتفاعل مع التطبيق، فلنختبر ما إذا كان مصابًا بثغرة حقن. سنقوم بإدخال كود HTML بسيط لنرى هل سيتم تنفيذه.
<h1>hacker</h1> <h6>hacker</h6>
كما هو متوقع، تم تنفيذ الكود وظهر نص “hacker” بحجم كبير وصغير في ملف PDF الناتج. لقد اكتشفنا ثغرة خطيرة جدًا في الموقع، وهي Server-Side Template Injection (SSTI) أو حقن HTML، مما يعني أننا اقتربنا من حل التحدي.
- استغلال الثغرة للوصول إلى صفحة المدير:
بما أن صفحة المدير لا يمكن الوصول إليها إلا من “الداخل”، يمكننا استخدام الثغرة التي اكتشفناها لجعل الخادم يعرض لنا محتوى الصفحة. سنستخدم وسم
<iframe>
لعرض صفحةadmin
داخل الصفحة التي نتحكم بها.<iframe src="/admin" width="100%" height="500px"></iframe>
عند إدخال هذا الكود في حقل التحويل، نجحنا في الوصول إلى صفحة المدير المطلوبة.
الحصول على العلم (Flag)
وجدنا في صفحة المدير العلم (Flag) المطلوب لحل التحدي. نقوم بنسخه والعودة إلى موقع TryHackMe. نلصق العلم في الحقل المخصص ثم نضغط على “Submit”.
تم حل التحدي بنجاح. لقد كان تحديًا سهلًا ومباشرًا. نأمل أن تكونوا قد استفدتم من هذا الشرح العملي.