TryHackMe|Anonymous WriteUp\Walkthrough (Arabic)
بسم الله
------------------------------------------------------------------
كلمة IP في
كل الكوماندز اللي أكتبها تُستبدل بالـIP للمشين حقتكم على TryHackMe
أول حاجة نشغل الـmachine ونتأكد
إننا اتصلنا بشبكة TryHackMe والاتصال
مضبوط، بعدين نبدأ بأول خطوة للحل وهي إننا نسوي scan للشبكة باستخدام nmap
sudo nmap IP -vv
طلع معانا 4 بورتات مفتوحة (هذي إجابة أول سؤال بالتحدي)، نرجع نسوي Aggressive سكان على نفس هذه
الأربعة ونبدأ أيضا سكان آخر على جميع بورتات TCP
sudo nmap IP -A -p21,22,139,445 -vv
من المعلومات المهمة اللي طلعت لنا بعد هذا الـscan هي إن الجهاز يحتوي على FTP سرفير يسمح بتسجيل الدخول كـAnonymous، بقية البورتات ما فيها أي شيء مثير للاهتمام.
(من نتائج هذا الـscan بنلقى
إجابات السؤال الثاني والثالث اللي هي FTP للثاني و smb للثالث)
sudo nmap IP -p- -vv
هذا السكان نشغله ونخليه بالخلفية نرجع له بعد وقت ونشوف لو اكتشفنا أي بورت ثانية.
أول شيء بنسجل دخول على FTP كـAnonymous الطريقة سهلة ، أول شيء نتصل باستخدام
لما يطلب اسم المستخدم ندخل anonymous ولما يطلب كلمة السر فقط نضغط Enter
لما ندخل نروح على مجلد سكريبتز cd scripts ثم ننزل كل الملفات اللي فيه باستخدام get [filename]
الحين صار عندي 3 ملفات على جهازي، أول شيء نستعرض السكريبت اللي اسمه clean.sh
وكل هذه النتائج يطبعها في السجل اللي موجود في المسار/var/ftp/scripts/removed_files.log
بنلاقي تقريبا 28 سطر كلها طابع إنه مافي ملفات للحذف.
نجي الحين لثالث ملف وهو to_do.txt
هنا رسالة من المستخدم لنفسه، وهي فعلا صحيحة، الـAnonymous جدا خطير، وهو أصلا اللي استخدمناه للدخول على هذا الجهاز.
تمام الحين لو نفكر شوي وبدون طول تفكير، بنعرف إن السكريبت clean.sh يشتغل كـcron، لأنه واضح يشتغل بشكل دوري على الجهاز. ويمدينا نتأكد بإننا نرجع ندخل على السيرفير ونحمل الملف مره ثانية وبنلاحظ زيادة الأسطر من 28 إلى 32

هذا معناته إنه رجع اشتغل 4 مرات من آخر مره حملنا الملف، إذن معناته إنه يشتغل في فترات قريبه يعني كل دقيقة.
الحين احنا تأكدنا إنه يشتغل ككرون، كيف نستفيد من هذا؟ مو احنا عندنا وصول لـFTP ونقدر نرفع ملفات؟ إذن ببساطة بنزيد سطر في السكريبت يرسل لنا shellعلى جهازنا وبكذا يصير وصلنا للجهاز.
*ملاحظة: هذه الـshell أخذتها من موقع revshells وهو موقع سهل ومفيد جدا إذا تبغون تسوون shell

نخرج من vim ونحفظ الملف ثم نروح للـFTP سيرفير ونرفع الملف على مجلد scripts وهو تلقائيا بيستبدل القديم بالجديد.

الحين نجهز الـlistener على جهازنا عشان يستقبل الـshell وتأكدوا إن البورت مطابقة للي حطيتوها بالـshell، نشغل المستمع، ثم نستنى دقيقة أو أقل وبنحصل على اتصال من الـvictim.

بما إن الـvictim جهاز نواته Linux فجدا سهل إننا نسوي stabilization للـshell، ايش يعني؟ يعني نخليها متينة وما تقفل أول ما نضغط ctrl+c ونقدر نستخدم الأسهم و tab completion وكذا.
الخطوات كالتالي:
- نشغل هذه الكوماند باستخدام python3 إذا ما ضبط عادي نجرب python
- بعدين هذه الكوماند
- ثم نضغط على الكيبورد ctrl+z عشان نخلي الـshell ترجع للخلفية
- الحين نجيبها لقدام باستخدام هذه الكوماند

أول ما ندخل على النظام بنلقاه مدخلنا على المجلد للمستخدم namelessone لو نعرض الملفات بنلقى اليوزر فلاق (وهو إجابة السؤال الخامس)
نروح أول شيء للمجلد اللي في جهازنا اللي يحتوي على linpeas.sh ونشغل هذه
nc IP 1233 < linpeas.sh

وعلى الضحية نروح لـ /tmp ونشغل هذه
ولما يوصل الملف نقفل الاتصال باستخدام ctrl+c

أنا هنا اخترت بورت 1233، إنتم أكيد يمديكم تغيرون باللي تبون.
نغير صلاحيات الملف ونخليه ملف تشغيلي chmod +x linpeas.sh وبعدين نشغله ونعطيه وقته ونشوف وش يطلع معانا نتائج
بالنسبة للـ سكان اللي سويناه على جميع البورتات، رجعت له وطالع إنه خلص 5% فقط وباقي له 4 ساعات، فما فيه داعي نكمل، لأن أول شيء مطول وما طلع معانا أي نتيجة، وثاني شيء قد حصلنا على نقطة دخول للجهاز ومو محتاجين إلا إننا نرفع صلاحياتنا الآن.
طلع معانا مع linpeas.sh إن env موجود فيه الـsetuid bit معناته إننا نقدر نشغله كمالكه، والمالك هنا هو root
طيب كيف أستفيد من هذه المعلومة وأحصل على root shell ببساطة نروح للموقع GTFObins ونبحث عن env

بما إن env هو
ملف SUID إذن
يعني ناخذ هذه الطريقة. الكوماند الأولى مافي داعي نشغلها، نروح للمجلد اللي يحتوي
على env
cd /usr/bin
ثم نشغله بنفس الكوماند فوق










Comments
Post a Comment