تحديات Bandit - الجزء الثاني

CTF Walkthrough
عدنا مع مستوي أقوي من تحديات Bandit التي ستأخذنا في رحلة أصعب مع سطر الأوامر - Bandit OverTheWire Game
Ahmed Shibl
Jan. 23, 2023, 1:52 p.m.
ahmedshipl
تحديات Bandit - الجزء الثاني

 تم تغيير جميع الـ Passwords المستخدمة للتحديات السابقة بناءً علي أخر تحديث للتحديات من Over the Wire

 

Level 10 → Level 11

ssh [email protected] -p 2220
password: G7w8LIi6J3kTb8A7j9LgrywtEUlyyp6s


الهدف من هذا المستوي :

الـ Password المستخدم للمستوي التالي يوجد بداخل ملف يسمي  data.txt مشفر باستخدام Base64

سنستخدم أمرbase64  لفك تشفير الملف و الحصول علي الحل

 

Level 11 → Level 12

​ssh [email protected] -p 2220
password: 6zPeziLdR2RKNdNYFNb6nVCKzphlXHBM


الهدف من هذا المستوي :

الـ Password المستخدم للمستوي التالي يوجد بداخل ملف يسمي  data.txt حيث تم تدوير كل الأحرف الصغيرة (a-z) و الأحرف الكبيرة (A-Z) 13 موضع

سنستخدم الامر tr لإعادة ترتيب الأحرف إلي وضعها الطبيعي

 

Level 12 → Level 13

ssh [email protected] -p 2220
password: JVNBBFSmZwKKOP0XbFXOoW8chDz5yVRv


الهدف من هذا المستوي :

الـ Password المستخدم للمستوي التالي يوجد بداخل ملف يسمي  data.txt و هو ملف hexdump تم ضغطه أكثر من مرة

أولاً سنحتاج إلي نقل الملف إلي مجلد tmp لنستطيع أن ننفذ بعض الأوامر وإنشاء ملفات جديدة

data.txt هو ملف hexdump كل ما علينا هو فك الملف و إسترجاع العمليات السابقة عليه للحصول علي password المستوي التالي

سنستخدم الأمر xxd لفك الملف او عكسه سنجد أن data1 تم ضغطه بواسطة gzip ل data2.bin

سنقوم بعكس العملية و نقل ملف data1 لـ data2.gz وإستخراج الملفات منه لنجلد ملف data2

سنقوم بتكرار العملية إلي أن نصل إلي الحل

 

 

 Level 13 → Level 14

ssh [email protected] -p 2220
password: wbWdlBxEir4CaE8LaPhauuOo6pwRmrDw


الهدف من هذا المستوي :

لا يوجد Password  للمستوي التالي و لكن يوجد ملف يحتوي علي private ssh key سنستخدمه للوصول للمستوي التالي


 

Level 14 → Level 15

ssh -i sshkey.private [email protected] -p 2220
password: N/A


الهدف من هذا المستوي :

الـ Password المستخدم للمستوي التالي يمكن الحصول عليه عن طريق إرسال password المستوي الحالي بداخل /etc/bandit_pass/bandit14 إلي الـ localhost علي port 30000

  

Level 15 → Level 16

ssh [email protected] -p 2220
password: jN2kgmIXJ6fShzhT2avhotn4Zcka6tnt


الهدف من هذا المستوي :

الـ Password المستخدم للمستوي التالي يمكن الحصول عليه عن طريق إرسال password المستوي الحالي إلي الـ localhost علي port 30001 باستخدام تشفير SSL

سنستخدم openssl و هي أداة مستخدمه للتشفير و تأمين التواصل بداخل الشبكة

سنقوم بإرسال password المستوي الحالي و سيقوم بالرد بـ password المستوي التالي

 

Level 16 → Level 17

ssh [email protected] -p 2220
password: JQttfApK4SeyHwDlI9SXGR50qclOAil1


الهدف من هذا المستوي :

الـ Password المستخدم للمستوي التالي يمكن الحصول عليه عن طريق إرسال باسورد المستوي الحالي إلي الـ localhost علي port في النطاق 31000 إلي 32000

أولاً علينا تحديد الـ port لذا سنستخدم nmap لتحديد الـ port المستخدم للخدمة

 

لنجد port 31790 مفتوح و يستخدم ssl

سنقوم بتكرار المستوي السابق من هنا

لكن هذه المرة سنحصل علي RSA private key و ليس الباسورد مباشرة سنقوم بنسخه إلي ملف و نسميه bandit17.key بداخل مجلد tmp

و نستخدم المفتاح للدخول إلي المستوي التالي عن طريق

ssh -i bandit17.key [email protected] -p 2220

 

 

 Level 17 → Level 18

ssh [email protected] -p 2220
password: VwOSWtCA7lRKkTfbr2IDh6awj9RNZM5e


الهدف من هذا المستوي :

الـ Password المستخدم للمستوي التالي يوجد بداخل passwords.new و هو السطر الوحيد الذي تغير بين passwords.new  و passwords.old

سنستخدم الأمر diff لنخرج الفارق بين الملفين

 

Level 18 → Level 19

ssh [email protected] -p 2220
password: hga5tuuCLF6fFzUpnagiMN8ssu9LFrdg


الهدف من هذا المستوي :

الـ Password المستخدم للمستوي التالي يوجد بداخل ملف readme في مجلد home ولكن أحدهم قام بتعديل ملف .bashrc لتسجيل الخروج في الحال عند محاولة أي تسجيل للدخول

إذا حاولنا تسجيل الدخول سنجد تلك الرسالة byebye! ويتم تسجيل الخروج مباشرة

هناك طريقة للدخول بستخدام إختيار -T مع أمر SSH لكن سنحصل علي unstable shell كما هو موضح

                                               

 

 Level 19 → Level 20

ssh [email protected] -p 2220
password: awhqfNnAbc1naukrpqDYcF95h7HoMTrC


الهدف من هذا المستوي :

للوصول للمستوي التالي علينا استخدام الـ setuid binary في مجلد الـ home

سنجد bandit20-do و كما هو موضح هذا الملف لديه صلاحية SUID و يمكن إستخدامها لتنفيذ الأوامر لأي مستخدم

و هذا يسمي بالـ Privilege Escalation

سنستخدمه لعرض باسورد المستوي التالي

 

و هنا نكون قد وصلنا لنهاية الجزء الثاني من تحديات Bandit الممتعة .. إلي مقالة جديدة و تحدي جديد

 

 


CTF Bandit overthewire linux CyberSecurity