Search 🔎🖥️

TryHackMe|Brute It WriteUp\Walkthrough (Arabic)

بسم الله

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



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

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

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

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

sudo nmap IP -vv

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

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

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

بنبحث عن المسارات الموجودة على بورت 80 باستخدام gobuster

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

طلع معانا المسار admin

نروح له في المتصفح، وبيطلع معانا صفحة تسجيل دخول، لكن ما عندنا معلومات للدخول، لذلك بنسوي brute force، لكن بنخلي اسم المستخدم اللي نجرب عليه فقط admin، لأن غالبا بيكون عندي مستخدم اسمه admin، بدل ما نجرب آلاف أسماء المستخدمين مع عدد كبير جدا من كلمات المرور وياخذ وقت، بنجرب اسم مستخدم واحد فقط على أمل يضبط مع أحد كلمات المرور.

بنستخدم hydra عشان نسوي brute force لكلمة المرور، و الـhydra command للـpost request تكون كالتالي:

هذه الصيغة العامة:

sudo hydra <username> <wordlist> IP http-post-form "<path>:<login_credentials>:<invalid_response>"

فنحتاج نعرف وش الـpath وايش الـlogin credentials وبرضو الـinvalid response. كل هذه ممكن نطلعها بسهولة من burp إذا التقطنا الـrequest، اللي بنسويه أول شيء نشغل burp، ثم نتأكد إن الـintercept شغال، ثم بعد كذا نرجع للمتصفح، من foxy proxy نختار burpsuite، بعد كذا نعبي خانة اسم المستخدم وكلمة السر بأي شيء، ثم نسوي تحديث للصفحة، وبيلتقط brup الطلب، فناخذ منه المعلومات اللي نبيها، زي ما أنا موضحة تحت بالصورة 

وهذه الكوماند اللي بنشغلها

sudo hydra -l admin -P /usr/share/wordlists/rockyou.txt IP http-post-form "/admin/:user=^USER^&pass=^PASS^:S=302" -t 64

بعد ما نحصل على كلمة السر، نرجع للموقع ونسجل دخول كـadmin، بعد كذا بندخل على الصفحة الرئيسية، وبنلقى موجود رسالة للمستخدم john، وتحت الرسالة موجود أول فلاق✨. 

وفي آخر الرسالة فيه رابط يودي للـ private key لجون، فمعناته الدخول على النظام باستخدام SSH مافي أسهل منه في هالحالة، عرفنا الحين اسم المستخدم، وبرضو عندنا مفتاحه. نضغط على المفتاح، وبيفتح معانا، وواضح إن مُشفر، فايش بنسوي؟ أول شيء نسوي ملف ونسميه أي اسم مثلا key، ثم نغير صلاحياته عشان يشتغل كويس لما نتصل بالضحية chmod 400 key

ثم نفك التشفير باستخدام John the Ripper عن طريق 

ssh2john key > hash

john hash

ثم بيعطيني كلمة السر لهذا المفتاح، الحين كل شيء جاهز نتصل بالـvictim

ssh john@IP -i key

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

آخر فلاق غالبا يكون في الـroot home directory، فلازم نرفع صلاحياتنا عشان نقدر نوصل له. ممكن نشوف وش يقدر جون ينفذ كوماندز باستخدام sudo بدون الحاجة إنه يستخدم كلمة السر 

sudo -l 


يقولي هنا إنه يقدر ينفذ cat كـroot user بدون كلمة سر. من المواقع المفيدة في هذه الحالة هو GTFObins نروح له ونبحث cat ثم تحت sudo نسوي نفس ما يقول


أول شيء نحفظ الملف اللي نبي نقرأه داخل متغير جديد نسميه LFILE

LFILE=/etc/shadow

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

sudo cat "$LFILE"


ناخذ الهاش للرووت، وأحفظها في ملف على جهازي واسميه مثلا hashes ثم باستخدام john نسوي crack 

john hashes

وبيعطينا كلمة السر للرووت، نرجع للضحية 

sudo su

ثم ندخل كلمة السر، بعد كذا 

cd /root

cat root.txt

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

هنا حلول الأسئلة باستثناء كلمات السر والفلاقات:

Reconnaissance


أول 4 أسئلة عرفنا إجابتها من الـNmap scan، وآخر سؤال من الـgobuster scan، وسلامتكم :). بالتوفييييق 👋🏻✨.

Comments

Popular posts from this blog

TryHackMe|Blog WriteUp\Walkthrough (Arabic)

eJPTv2 Exam Review (Arabic)

TryHackMe|Blueprint WriteUp\Walkthrough (Arabic)