TryHackMe|Simple CTF WriteUp\Walkthrough (Arabic)
بسم الله
رابط الغرفة: https://tryhackme.com/room/easyctf
----------------------------------------------------------------
كلمة IP في كل
الكوماندز اللي أكتبها تُستبدل بالـIP للمشين حقتكم على TryHackMe
أول حاجة نشغل الـmachine ونتأكد إننا اتصلنا بشبكة TryHackMe والاتصال مضبوط، بعدين نبدأ بأول خطوة للحل
وهي إننا نسوي scan للشبكة
باستخدام nmap
sudo nmap IP -vv
طلع معانا 3 بورتات مفتوحة، 2 منها تحت 1000، إذن جواب أول سؤال هو 2، وتقدرون تتأكدون من الإجابة بتشغيل سكان على البورتات من 1 إلى 1000 بهالطريقة:
sudo nmap IP -p 1-1000 -vv
نرجع نسوي Aggressive سكان على نفس البورتات الـ3 اللي طلعت معانا
على بورت 21 يقول إنه شغال ftp ومسموح Anonymous login لكن ما قدر يعرض لي الملفات، ولو جربتو بيدخلكم عادي لكن ما بتقدرون تعرضون أي ملف. إذن نتجاوز هذه البورت ونشوف ايش موجود على غيرها.
على 80 عندنا Apache server وأعطاني إن robots.txt يحتوي على مسارين، المسار الرئيسي / و /openmr-5_0_1_3 وشيكت عليها وما فيها أي شيء مهم. أما بورت
2222 وهي أعلى بورت فعليها SSH server، وهذا جواب السؤال الثاني.
*ملاحظة:Robots.txt هو ملف يحتوي على المسارات اللي الموقع ما يبغى المتصفحات توصل لها، وأيضا يحتوي على المتصفحات اللي ممنوعة توصل للموقع. أحيان هذا الملف يحتوي معلومات مهمة.
الحين بنسوي directory enumeration باستخدام gobuster
gobuster dir -w /usr/share/dirb/wordlists/common.txt -u htttp://IP/ -t 64
طلع معانا صفحات اعتيادية، المميز هنا هو /simple، نروح للمتصفح ونفتح هذا المسار.
هذا المسار طلع يحتوي على موقع تم تصميمه
بمساعدة CMS اللي هو Content
Management System اسمه Made Simple. في هذه الحالة لما نلاقي CMS بنبحث ونشوف لو كان فيه أي Exploit
متاحة لنفس هذه النسخة، طبعا النسخة طلعناها من
أسفل الصفحة يسار.
نبحث باستخدام Searchsploit
طلع معانا Exploit ولنفس الـVersion ونوعها SQL Injection إذن إجابة السؤال الرابع هي sqli. ناخذ الـExploit ننسخها للمجلد الحالي عشان نشتغل معاها
بالصورة فوق عند نسخ الاكسبلويت بتلقون CVE موجود ننسخه ونجاوب به على سؤال 3. هنا غيرت اسمها لـExploit.py للسهولة فقط. عند تشغيلها ما بتشتغل معاكم مباشرة، في بعض التعديلات:
- أول شيء نفتح الملف بأي محرر نصوص عندنا ونبحث عن أي كلمة print ونحط أقواس بداية ونهاية الـfunction
هذا قبل
إضافة الأقواس
وهذا بعد
وسوو نفس هذه الحركة حتى تنتهون من كل الملف.
- ثاني شيء نضيف رقم 3 في بداية الملف بجانب كلمة Python
- آخر حاجة نشيل كلمة colored من السطر رقم 183
الحين المفترض إنها تشتغل معاكم كويس، ولو واجهتوا أي مشاكل ارجعوا للفيديو اللي على يوتيوب للشرح من الدقيقة 9:00 إلى 12:25.
الحين نشغلها بهالطريقة:
نعطيها المسار للمجلد /simple وقائمة بكلمات السر عشان تخمن لي كلمة سر
أستخدمها لدخول الجهاز، أنا استخدمت rockyou.txt. الحين بتشتغل وعطوها وقتها بتطول شوي.
بعد وقت ما ضبطت معاي وحاولت أشغلها وبحثت عن
حل وبرضو ما لقيت
لكن هي طلعت لي اسم مستخدم mitch وهذا كافي، الحين احنا نبي كلمة سر، فنقدر
نستخدم أداة ثانية نسوي بها brute force، مثل hydra، ولأن احنا
نبي ندخل للجهاز عن طريق SSH إذن بيكون الهجوم على SSH على البورت 2222. الكوماند بتكون
hydra -l mitch -P /usr/share/wordlists/rockyou.txt ssh://IP:2222/ -t 64
طلعت معانا كلمة السر ***** وهي جواب السؤال الخامس. إذن الآن معانا الـcredentials اللازمة ونقدر ندخل للجهاز بـSSH وهذا جواب السؤال السادس.
ssh mitch@IP -p 2222
بيدخلنا على الـhomedirectory لـmitch وهناك بنلاقي اليوزر فلاق، جواب السؤال السابع
الآن نحتاج نوصل للـroot flag وعشان نوصل له نحتاج يكون عندنا صلاحيات root. بالبداية بنشوف لو في أي كوماند يقدر ينفذها mitch بصلاحيات root عن طريق الكوماند sudo -l
تمام، إذن mitch يقدر ينفذ vim (جواب السؤال التاسع) بـsudo، وهذا كافي عشان نسوي privilege escalation والطريقة كذا:
- نفتح أي ملف باستخدام sudo vim
- بعدين بداخل الملف أول ما يفتح نكتب كذا
:!/bin/bash
- نضغط Enter مباشرة بيخرجني على root shell
الحين نقدر نروح /root وناخذ الفلاق ويكون هذا إجابة آخر سؤال.
السؤال الثامن ما جاوبنا عليه، وعشان نعرف اش فيه مستخدمين آخرين على النظام نروح لـ/home وأسماء المجلدات هي أسماء المستخدمين.
إذن الإجابة هي sunbath
بكذا يكون انتهيت معاكم من الحل، اسأل الله التوفيق لي ولكم.













Comments
Post a Comment