بدأت مغامرتي في تحدي Mr. Robot CTF بتجهيز الأدوات واستخدام أداة Nmap لفحص المضيف. الهدف كان واضحًا: استكشاف أي منافذ مفتوحة قد تكشف لي خفايا هذا النظام. كانت النتائج مثيرة للاهتمام
حيث ظهرت منافذ 80 و443 مفتوحة، مما يعني وجود موقع ويب يعمل على هذه الخوادم. الفضول دفعني لزيارة الصفحة الرئيسية، لكن للأسف، لم يكن هناك شيء ظاهر يستحق الاهتمام. شعرت أن هناك شيئًا مخفيًا.
استخدام Dirb للكشف عن الصفحات المخفية
قررت أن أستعين بأداة Dirb، المعروفة بقدرتها على استكشاف الروابط المخفية. بعد دقائق من الانتظار، بدأت النتائج تظهر، وأهمها صفحة robots.txt.
هذا الملف غالبًا ما يحتوي على معلومات مثيرة للاهتمام. فتحت الصفحة
ووجدت أول علم flag
وملف غامض يدعى fsocity.dic. هذا الملف كان يحتوي على قائمة ضخمة من أسماء المستخدمين وكلمات المرور، ولكن كان بها تكرارات كثيرة.
حدف الكلمات المعاد تكرارها باستخدام أوامر لينكس
قررت حدف الكلمات المعاد تكرارها باستخدام أوامر لينكس، فقمت بكتابة الأمر التالي:
وبذلك حصلت على قائمة جديدة من الكلمات، جاهزة للاستخدام في الخطوات القادمة.
اكتشاف مدونة ووردبريس
أحد الروابط التي تم اكتشافها من Dirb قادني إلى مدونة ووردبريس.
عندما جربت تسجيل الدخول باسم مستخدم عشوائي، ظهرت رسالة تشير إلى أن اسم المستخدم غير صحيح.
هنا أدركت أنني أستطيع استغلال هده الخاصية لاكتشاف اسم المستخدم الصحيح.
استخدام Hydra لاكتشاف اسم المستخدم
Hydra هي أداة قوية تُستخدم لاختبار قوة كلمات المرور عن طريق Brute Force. تُعد من الأدوات الشهيرة في مجال الأمن السيبراني لاختبار مدى أمان أنظمة . يمكن استخدام Hydra لتجربة عدد كبير من التركيبات الممكنة لكلمات المرور واسماء المستخدمين ضد خدمات متعددة مثل SSH, FTP
استخدمت أداة Hydra لاكتشاف اسم المستخدم الصحيح عن طريق brute force باستخدام الملف الذي قمت بإنشائه مسبقًا. الأوامر المستخدمة كانت كالتالي:
L: يُستخدم لتحديد ملف يحتوي على قائمة بأسماء المستخدمين الممكنة.
p: يُستخدم لتحديد كلمة مرور واحدة وهي ab في هذه الحالة.
10.0.2.9: هو عنوان الـ IP الخاص بالموقع المستهدف.
http-post-form: يُستخدم لاختبار استمارات تسجيل الدخول عبر HTTP POST.
log=^USER^&pwd=^PASS^:يُمثل الاستمارة الخاصة، حيث يتم استبدال ^USER^ و ^PASS^ بقيم من ملفات الإدخال.
Invalid username: هو نص رسالة الخطأ الذي يظهر عند تجربة اسم مستخدم غير صحيح.
بعد عدة محاولات، نجحت في اكتشاف اسم المستخدم الصحيح: Elliot.
الان حان الوقت لاكتشاف كلمة المرور.
كسر كلمة المرور باستخدام Hydra
بما أنني حصلت على اسم المستخدم، كررت نفس العملية لكسر كلمة المرور، باستخدام نفس الأداة Hydra:
وبعد بعض الوقت، تم اكتشاف كلمة المرور: er28-0652.
الآن أصبحت جاهزًا لتسجيل الدخول إلى ووردبريس.
رفع شل عكسي إلى صفحة 404
بعد تسجيل الدخول إلى لوحة تحكم الـ WordPress باستخدام بيانات الاعتماد التي حصلنا عليها من هجوم Brute Force،
كان الهدف التالي هو الحصول على وصول أكبر للنظام. قمنا برفع ملف PHP Reverse Shell عبر خاصية تعديل القوالب في WordPress، حيث اخترنا تحرير صفحة 404.php الموجودة في القالب النشط.
ملف Reverse Shell هو سكريبت بسيط يتيح للمهاجم فتح اتصال من الخادم الذي يحتوي على WordPress إلى جهازه الخاص، مما يوفر تحكمًا كاملًا من خلال سطر الأوامر.
خطوات رفع الـ Reverse Shell:
الدخول إلى لوحة التحكم في WordPress.
الذهاب إلى قسم المظهر ثم محرر القوالب.
اختيار صفحة 404.php لتحريرها.
لصق كود PHP Reverse Shell في هذه الصفحة.
حفظ التعديلات.
بعد ذلك، تم تفعيل الـ Shell عبر زيارة صفحة الخطأ 404 في المتصفح
مما أدى إلى اتصال بين الخادم وجهازنا، حيث تم استقبال الـ Reverse Shell بنجاح وتمكنّا من الوصول الكامل إلى النظام.
اكتشاف المستخدم Robot
أثناء التجوال في النظام، وصلت إلى مجلد المستخدم robot. وجدت هناك ملفين، لكن واحدًا فقط كان قابلاً للقراءة. الملف احتوى على كلمة مرور مشفرة
. هنا بدأت بالتحضير لكسر هذه الكلمة المشفرة باستخدام John the Ripper.
بعد فترة من الانتظار، تمكنت من اكتشاف كلمة المرور.
كانت المرحلة التالية هي استخدام هذه الكلمة للولوج كمستخدم robot.
التحول إلى المستخدم Robot
Reverse Shell الأولي عادة ما يكون محدودًا وقد لا يسمح بتنفيذ بعض الأوامر المتقدمة، مثل تغيير المستخدم أو التحكم الكامل في البيئة.
خطوات تثبيت الـ Shell:
في البداية، قمنا بتشغيل بعض الأوامر البسيطة مثل لجعل الـ Shell يبدو وكأنه يعمل في نافذة حقيقية، مما يسمح بتنفيذ أوامر أكثر بسلاسة.
تم استخدام الأمر export TERM=xterm لتصحيح الإعدادات وللتعامل بشكل أفضل مع النصوص المعروضة على الشاشة.
بعد تثبيت الـ Shell، أصبح لدينا القدرة على تشغيل الأوامر المتقدمة، مثل تغيير المستخدم إلى مستخدم آخر.
بعد تثبيت الـ Shell، استخدمنا بيانات الاعتماد التي حصلنا عليها ونجحنا في التحول إلى المستخدم robot مما أعطانا وصولًا أعمق إلى النظام.
وقرأت العلم الثاني.
البحث عن ملفات SUID
مع تقدم البحث، بدأت أشعر أن هناك شيئًا آخر مخفيًا في هذا النظام. لذلك استخدمت أمرًا للبحث عن الملفات التي تمتلك SUID:
الملفات ذات SUID هي واحدة من أكثر الأشياء أهمية التي يجب الانتباه إليها عند فحص نظام لاستغلال الثغرات. عندما يتم تعيين SUID على ملف، فإنه يسمح لأي مستخدم يقوم بتشغيل هذا الملف بتنفيذه بصلاحيات مالك الملف
على سبيل المثال، إذا كان لملف معين على النظام صلاحية SUID وكان مملوكًا للمستخدم root، فبمجرد تشغيل هذا الملف يمكن للمستخدم العادي أن يحصل على صلاحيات root مؤقتًا
اكتشاف نسخة قديمة من Nmap
أحد النتائج كان ملف Nmap بنسخة قديمة تدعم التشغيل في الوضع التفاعلي. هنا عرفت أنني يمكنني استخدامه للحصول على صلاحيات root
بمجرد تشغيل Nmap في الوضع التفاعلي، تمكنت من الحصول على صلاحيات root. قرأت العلم الثالث والأخير
واختتمت هذه المغامرة بنجاح، مع شعور بالانتصار واكتشاف أسرار هذا التحدي المثير.