Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2018-10933 | Kitploit
أدوات/GitHubGitHub/silasspringer/cve-2018-10933
تحليل الثغرات الأمنيةالاستغلالCTFالتعلم والتعليماستغلال الملفات الثنائيةمختبرات وتدريب عملي
GitHubsilasspringer/cve-2018-10933

CVE-2018-10933

عرض المستودع
منذ 3 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

تحدي CTF لإثبات المفهوم

بقلم Silas Springer

مبني على CVE-2018-10933

خلفية

CVE-2018-10933 هي ثغرة اكتُشفت في إصدارات مختارة من libSSH، ويمكن أن تسمح بالوصول غير المقيد إلى الجهاز. تنشأ الثغرة من المعالجة غير السليمة لترويسات الحزم أثناء عملية المصادقة، حيث يمكن أن يسمح إرسال حزمة مصممة بعناية تحتوي على البايت MSG_USERAUTH_SUCCESS لأي شخص بتجاوز المصادقة. ثم يحصل بعدها على وصول كامل إلى الجهاز.

وبناءً على ذلك، يتمثل أساس هذا التحدي في مطالبة المتنافسين باستكشاف صورة docker المقدمة، واكتشاف هذه الثغرة، واستغلالها للوصول إلى الجهاز، ثم العثور على المفتاح المخفي في رابط رمزي (symlink) على الجهاز.

مثال لوصف تحدي CTF

root@kitploit:~
Someone got into my machine via port 22...
It looks like they didnt even know my credentials.

Anyways, they made a file with an odd name, but it's gone now, 
I wonder if there's still some trace of the filename - 
it might be something symbolic of the attacker...

Can you figure out how they got in and help me find the filename?

الحل

فيما يلي شرح تفصيلي للحل المقصود:

لاحظ، من وصف التحدي، أن المهاجم حصل على الوصول عبر المنفذ 22، وهو منفذ يُحجز عادةً لـ SSH. لاحظ أيضاً أن المهاجم لم يستخدم بيانات اعتماد للحصول على الوصول.

من هذا، إذا بحثت عن ثغرات سابقة تتعلق بالوصول إلى جهاز عبر SSH دون بيانات اعتماد، فمن المرجح جداً أن تكون المشكلة هي البايت MSG_USERAUTH_SUCCESS. بدلاً من ذلك، من خلال بدء اتصال بالمنفذ 22، يمكنك تحديد إصدار libSSH الذي يعمل، ثم البحث عن استغلالات شائعة لهذا الإصدار.

قد تلاحظ أيضاً من الوصف أن اسم الملف الذي تسعى للعثور عليه (العلم) موجود فقط كهدف لرابط رمزي.

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

لتشغيل هذا البرنامج النصي والحصول على العلم من الجهاز، في حالة الصورة التجريبية، يمكنك تشغيل أمر مشابه لما يلي:

root@kitploit:~
./libsshauthbypass.py --host localhost -p 1337 -c 'find / -type l -exec stat {} + | grep "File:" | sed -E "s/.*\-> (.*)$/\1/g" | grep "definitelyarealCTF"'
-- لاحظ أن هذا يفترض أن الصورة تعمل محلياً، أو أنه تم إنشاء نفق إلى الحاوية قيد التشغيل عبر localhost:1337

مما ينتج عنه مخرجات مشابهة لما يلي

root@kitploit:~
sspringer-fedora-CVE: ./libsshauthbypass.py --host localhost -p 1337 -c 'find / -type l -exec stat {} + | grep "File:" | sed -E "s/.*\-> (.*)$/\1/g" | grep "definitelyarealCTF"'
INFO:paramiko.transport:Connected (version 2.0, client libssh_0.8.1)
definitelyarealCTF{totally_a_REAL_flag}

إعادة الاستخدام

لاستخدام نسخة من هذا التحدي في مسابقة CTF خاصة بك، يُنصح بشدة بتعديل Dockerfile لاستخدام مسار مختلف عن المسار الافتراضي المقدم، وتغيير العلم في flag.txt (مع مراعاة أن يبقى في سطر واحد)، ثم إعادة بناء الصورة. لاحظ أنه قد يكون من الضروري استضافة حاوية جديدة لكل محاولة اتصال لمنع أي شخص من تشغيل أمر تدميري يؤثر على جميع المتنافسين.

لإعادة بناء صورة docker بعلم جديد (واختبارها)

  • قم بتحديث flag.txt بالعلم الجديد
  • شغّل ./build_run <image name>[:<version number] <port number>
  • استخدم ./libsshauthbypass.py أو البرنامج النصي الخاص بك للاتصال بالحاوية مع الحمولة الصحيحة والأمر الذي ترغب في تشغيله
  • عند exit من الصدفة التي يوفرها برنامج build_run النصي، سيتم إيقاف الحاوية وحذفها، لكن الصورة ستبقى وستُوسم باسم <image name>

فيديوهات

إثبات المفهوم: https://youtu.be/ELrOBm02ANg

شرح التحدي: https://youtu.be/Ii121piSZR0

تنزيل الأداة