HackTheBox. تجول في OpenAdmin. RCE في OpenNetAdmin و GTFOBins في النانو

صورة

أواصل نشر الحلول المرسلة للمعالجة الإضافية من موقع HackTheBox .

في هذه المقالة ، سنستغل RCE في OpenNetAdmin ، ونتعمق في تكوينات خادم الويب ، ونخترق المنفذ باستخدام SSH Forwarding ، ونكسر كلمة مرور مفتاح SSH ونستخدم تقنية GTFOBins لزيادة الامتيازات.

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

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

. , - , .

ريكون


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

10.10.10.171    openadmin.htb

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

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

صورة

الآن ، لمزيد من المعلومات التفصيلية حول الخدمات التي تعمل على المنافذ ، سنقوم بإجراء مسح ضوئي باستخدام الخيار -A.

nmap openadmin.htb -p22,80

صورة

وبالتالي ، تقوم الخدمة بتشغيل SSH وخادم الويب Apache. ألق نظرة على ما هو موجود على الموقع.

صورة

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

gobuster dir -w /usr/share/seclists/Discovery/Web-Content/raft-large-words.txt -t 120 -x php,html,conf,txt -e -u http://openadmin.htb

صورة

في الإخراج ، هناك استجابة كثيرة للغاية مع الرمز 403 لتصفيةها ، ونشير إلى رموز الاستجابة (-s) التي نحتاجها.

gobuster dir -w /usr/share/seclists/Discovery/Web-Content/raft-large-words.txt -t 120 -x php,html,conf,txt -e -u http://openadmin.htb -s “200,204,301,302,307,401”

صورة

ونجد العديد من الأدلة. سنقوم الآن بالتجول في كل شيء لمعرفة ما هو موجود هناك.

صورة

صورة

صورة

وفقط في أحد هذه المواقع ، توجد وظيفة تسجيل الدخول. ولكن إذا حاولت القيام بذلك ، فسننتقل إلى صفحة OpenNetAdmin.

صورة

في هذه الحالة ، كما ترى ، يتم استخدام الإصدار 18.1.1.

نقطة الدخول


دعونا نبحث عن مآثر لهذا الإصدار.

صورة

ولهذه النسخة هناك استغلال RCE. الرمز موجود بالفعل في قاعدة البيانات المحلية ، دعنا نلقي نظرة.

صورة

وبالتالي ، يأخذ البرنامج النصي معلمة واحدة - هذا هو عنوان URL. (عند بدء التشغيل ، كان لدي أخطاء ، لذلك يمكنك فتح الملف من خلال mcedit وإزالة ^ M حرف).

صورة

المستخدم 1


نحن في دليل المنزل.

صورة

ونحن محاطون بعدد كبير من الملفات.

صورة

قد يحتوي بعضها على أوراق اعتماد. دعونا نلقي نظرة على جميع الملفات بأسماء المستخدمين بشكل متكرر.

صورة

ولا توجد نتائج. ولكن ستكون هناك نتائج كثيرة عند البحث عن كلمة "تمرير".

صورة

الآن نلقي نظرة على التكوين بأكمله.

صورة

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

صورة

المستخدم 2


أولاً ، قم بتشغيل البرنامج النصي التعداد الأساسي LinEnum .

صورة

يجب تحليل الاستنتاج بعناية فائقة ، كل سطر !!! والشيء الوحيد الذي يمكنك التمسك به في إخراج البرنامج النصي هو عضوية المجموعة.

صورة

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

صورة

إذا حكمنا من خلال الموقع - هذا هو الموقع. نقوم بتحليل الملفات. أول من يشاهد هو الرئيسي.

صورة

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

صورة

يتم تجزئة التجزئة بسهولة بمساعدة هذا الموقع .

صورة

يبقى لتعلم كيفية الوصول إلى الموقع. يمكن العثور على منافذ الوصول إلى كل موقع في ملف التكوين المقابل لكل موقع في الدليل / etc / apache2 / sites-available الخاص بـ apache.

صورة

كما ترى ، هناك ملف داخلي يهمنا. الآن قم بإعادة توجيه منفذ SSH.

صورة

من التكوين ، من الواضح أنه يمكننا الوصول إلى الموقع من الجهاز المحلي على المنفذ 52846 تحت المجال internal.openadmin.htb. لنبدأ تشغيل المنفذ - أي ، اجعل منفذنا المحلي 52846 يعيد التوجيه إلى منفذ 52846 البعيد. تسمى هذه التقنية إعادة توجيه منفذ SSH.

صورة

الآن ، على الجهاز المحلي ، قم بإجراء إدخال في ملف / etc / hosts. وسنعالج من
127.0.0.1 internal.openadmin.htb
خلال المتصفح إلى العنوان internal.openadmin.htb : 52846 / index.php.

صورة

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

صورة

نحفظ في ملف وتعيين الحقوق.

صورة

ولكن عند محاولة الاتصال ، يطلبون منا كلمة المرور الخاصة بالمفتاح ، لأنه مشفر.

صورة

يمكننا التمرير عبر المفتاح. للقيام بذلك ، سنقوم بإحضاره إلى تنسيق John'a ، ثم سنعطي الملف مع المفتاح الذي تم تحويله بالفعل إلى التنسيق المراد.

صورة

والعثور على كلمة المرور بنجاح. نحن متصلون بالفعل بالمفتاح وكلمة المرور.

صورة

جذر


أحد الأشياء التي يجب التحقق منها هو إعدادات sudo لتنفيذ الأوامر بدون كلمة مرور.

صورة

يقول السطر NOPASSWD أنه يمكننا تنفيذ هذا الأمر تحت sudo بدون كلمة مرور. في هذه الحالة ، يتم استدعاء الأمر nano. هناك تقنية مثل GTFOBins ، والتي تسمح باستخدام أدوات مساعدة مختلفة لقراءة وكتابة الملفات أو تنفيذ أوامر كاملة. يمكن العثور على قائمة كاملة بالمرافق وقدراتها هنا . دعونا نلقي نظرة على كيفية الحصول على shell باستخدام nano.

صورة

قم بتشغيل أمرنا مع sudo.

صورة

الآن ، باتباع ترتيب الأوامر ، حدد الخيار لقراءة الملف.

صورة

الآن خيار تنفيذ الأوامر.

صورة

وأدخل السطر الأخير من التعليمات.

صورة

ونحصل على القشرة نيابة عن الجذر.

صورة

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

All Articles