Bandit Level 14 to 18 (Arabic)
بسم الله
------------------------------------------------
في المرحلة 14←15 يقول إنه في listener على port 30000 وإذا أعطيته كلمة السر
للمرحلة الحالية بيعطيك كلمة السر للمرحلة الجاية.
بما إننا دخلنا باستخدام ssh key فكلمة السر مو معانا لكن نقدر نحصل عليها
باستخدام
cat /etc/bandit_pass/bandit14
ثم نتصل باللـlistener اللي
على 30000 باستخدام nc
nc localhost 30000 ونلصق كلمة السر وعلطول
بيطبع لنا كلمة السر للمرحلة اللي بعدها.
ناخذ كلمة السر وننتقل للمرحلة اللي بعدها
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
Post a Comment