Search 🔎🖥️

Bandit Level 14 to 18 (Arabic)

 بسم الله


------------------------------------------------

في المرحلة 14←15 يقول إنه في listener على port 30000  وإذا أعطيته كلمة السر للمرحلة الحالية بيعطيك كلمة السر للمرحلة الجاية.

بما إننا دخلنا باستخدام ssh key فكلمة السر مو معانا لكن نقدر نحصل عليها باستخدام

cat /etc/bandit_pass/bandit14

ثم نتصل باللـlistener  اللي على 30000 باستخدام nc

nc localhost 30000 ونلصق كلمة السر وعلطول بيطبع لنا كلمة السر للمرحلة اللي بعدها.


localhost تُشير إلى الجهاز الحالي، وبما إنه قالي إنها موجودة على هالجهاز إذن نقول localhost.

ناخذ كلمة السر وننتقل للمرحلة اللي بعدها

ssh bandit15@bandit.labs.overthewire.org -p 2220

-------------------------------------------------------------

في المرحلة 15←16 يقول إنه في listener على port 30001  وإذا أعطيته كلمة السر للمرحلة الحالية بيعطيك كلمة السر للمرحلة الجاية، لكن الفرق هنا إنه فيه SSL encryption وباستخدام nc ما يمدينا نتصل باستخدام ssl لذلك بنستخدم ncat بدل nc

إذا كانت كلمة السر مو منسوخة جاهزة معاكم تقدرون تحصلون عليها باستخدام

cat /etc/bandit_pass/bandit15

ثم نتصل باللـlistener  اللي على 30001 باستخدام ncat

ncat --ssl localhost 30001 ونلصق كلمة السر وعلطول بيطبع لنا كلمة السر للمرحلة اللي بعدها.






ناخذ كلمة السر وننتقل للمرحلة اللي بعدها

ssh bandit16@bandit.labs.overthewire.org -p 2220

-------------------------------------------------------

في المرحلة 16←17 يقول إنه في listeners موجودة على كم port ما بين  port31000 إلى port 32000، لازم ألقاها، ثم إذا لقيتها أشوف من منها يستخدم ssl ومن منها لا، ثم أعطي كلمة السر للمرحلة الحالية لإحدى هذه البورتات المفتوحة وبترجع لي كلمة السر للمرحلة الجاية، الباقية فقط بتكرر اللي أدخله لها.

أنا لما حليت افترضت إن الحل بيكون على وحده من بورتات ssl وفعلا طلع كذلك، لذلك حتى بالفيديو اللي مصورته للحل بتلاحظون إني ركزت فقط على البورتات اللي تستخدم ssl.

بالبداية لازم نعرف وش البورتات المفتوحة ما بين بورت 31000 إلى 32000 ونشوف أي منها تستخدم ssl بكل سهولة نقدر نسوي هذا باستخدام nmap

nmap localhost -p 31000-32000 -sV

هنا حددنا البورتات باستخدام -p  وأيضا استخدمنا -sV عشان نعرف وش الخدمة اللي موجودة على البورت وبكذا بنعرف من منها يستخدم ssl






هنا طلع معاي فقط 2 ports اللي تستخدم ssl اللي هي 31518 و 31960، نجرب أول وحده وبنلاحظ إنها ترجع أي شيء ندخله لها، أما الثانية لا بتعطيني مفتاح ssh للمرحلة اللي بعدها.

إذا كانت كلمة السر مو منسوخة جاهزة معاكم تقدرون تحصلون عليها باستخدام

cat /etc/bandit_pass/bandit16













انسخوا الـssh key وخزنوه بملف على جهازكم وسموه أي اسم، مثلاً bandit17key ثم تغيرون صلاحيات الملف (permissions) عشان يشتغل معاكم مفتاح SSH  تمام  باستخدام

chmod 400 bandit17key

الحين المفتاح جاهز عندكم، انتقلوا للمرحلة اللي بعدها باستخدام

ssh bandit17@bandit.labs.overthewire.org -p 2220 -i bandit17key

-----------------------------------------------------------------------------

في المرحلة 17←18 يقول إنه في ملفين بالـhome directory واحد اسمه passwords.new والثاني اسمه passwords.old وكلمة السر موجودة في passwords.new وهي السطر الوحيد اللي اختلف ما بين الملفين.

إذن نحتاج نعرف الاختلاف بين الملفين وهذا جدا سهل، باستخدام diff نقدر نطلع الاختلاف بين الملفين.

diff passwords.new passwords.old










بس كيف نعرف أيٌّ من السطرين ينتمي لأي ملف؟ ببساطة علامة أصغر من ">" تدل على الملف الموجود أول شيء بالـcommand يعني الملف اللي مكتوب بعد diff  علطول. وعلامة أكبر من "<" تدل على الملف اللي موجود آخر الـcommand، بالصورة فوق حليت بطريقتين، مره كتبت passwords.new أول شيء والمرة الثانية عكست، وبتلاحظون اختلاف النتيجة بالمرتين بحيث إنها انعكست.

بما إن كلمة السر موجودة بـ passwords.new إذن كلمة السر هي hga5tuuCLF6fFzUpnagiMN8ssu9LFrdg

ناخذ كلمة السر وننتقل للمرحلة اللي بعدها

ssh bandit18@bandit.labs.overthewire.org -p 2220

---------------------------------------------------------------------

في المرحلة 18←19 يقول إن كلمة السر موجودة في ملف اسمه readme موجود على الـhome directory، لكن بتلاحظون إن كل ما دخلتوا طلعكم علطول، طيب ايش الحل؟ الحل سهل جدا جدا جدا.

في ssh ممكن بنفس الـcommand اللي نستخدمها للاتصال نرسل معها command تتنفذ على الجهاز اللي قاعدين نتصل فيه أول ما يتم الاتصال. طيب كيف استفيد من هذا؟ هو قالي إن كلمة السر موجودة بـhome directory و ssh علطول يدخلنا على الـhome directory للمستخدم اللي داخلين بحسابه. إذن أنا كذا كذا داخله على الـhome directory وما يحتاج إلا إني أعرض الملف فقط باستخدام cat. فالـcommand النهائية بتصير كالتالي:

ssh bandit18@bandit.labs.overthewire.org -p 2220 'cat readme'  

بما إننا وضعنا cat readme ما بين علامتين تنصيص مفردة، إذن راح تتنفذ مباشرة أول ما نتصل بالجهاز، فالحين لما نتصل باستخدام هذه الـcommand رح يطلب كلمة السر، بندخلها ثم بيطردنا مباشرة لكن بعد ما يطبع كلمة السر آخر شيء تحت.








شفتوا، بكل بساطة كذا.

ناخذ كلمة السر وننتقل للمرحلة اللي بعدها 

ssh bandit19@bandit.labs.overthewire.org -p 2220

تكملة الحل على هذا الرابط

Comments

Popular posts from this blog

TryHackMe|Blog WriteUp\Walkthrough (Arabic)

eJPTv2 Exam Review (Arabic)

TryHackMe|Blueprint WriteUp\Walkthrough (Arabic)