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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2023-25136-PoC — بيئة استنساخ مصغّرة قائمة على Docker لثغرة التحلل المزدوج قبل المصادقة في OpenSSH 9.1p1 (CVE-2023-25136)، تظهر تلف الذاكرة ورفض الخدمة عبر عميل PoC بلغة Python. | Kitploit
أدوات/GitHubGitHub/lane0218/cve-2023-25136-poc
تحليل الثغرات الأمنيةالاستغلالاختبار الاختراقالتعلم والتعليماستغلال الملفات الثنائية
GitHublane0218/cve-2023-25136-poc

CVE-2023-25136-PoC

بيئة استنساخ مصغّرة قائمة على Docker لثغرة التحلل المزدوج قبل المصادقة في OpenSSH 9.1p1 (CVE-2023-25136)، تظهر تلف الذاكرة ورفض الخدمة عبر عميل PoC بلغة Python.

عرض المستودع
منذ 9 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

استغلال ثغرة CVE-2023-25136

يوفر هذا المشروع بيئة اختبار محلية مصغرة لاستغلال ثغرة تدمير الذاكرة المزدوجة (double free) في مرحلة ما قبل المصادقة في OpenSSH 9.1p1 (CVE-2023-25136)، ومراقبة تأثير تعطل خدمة الخادم (DoS).

ملاحظة: تتفق التحليلات الرسمية والرئيسية على أنه من "الصعب جدًا استغلال هذه الثغرة عمليًا لتنفيذ تعليمات برمجية عن بُعد" ضمن التكوين الأمني الافتراضي، وهذه البيئة مخصصة بشكل أساسي لعرض أخطاء الذاكرة وتأثير رفض الخدمة.

وصف البيئة

  • الجهاز المستهدف (Target):

    • خادم OpenSSH 9.1p1 يعمل داخل حاوية Docker
    • تم تكوين مستخدم فصل الامتيازات sshd
    • لتسهيل ملاحظة تعطل double free، تم بناء الخادم باستخدام --with-sandbox=no لإيقاف صندوق الحماية seccomp
    • يستمع داخل الحاوية على المنفذ 22، ويتم تعيينه للمنفذ 2222 على الجهاز المضيف (WSL)
  • جهاز المهاجم (Attacker):

    • موجود على نفس الجهاز المضيف / WSL
    • يستخدم Python3 + paramiko لتشغيل PoC (إثبات المفهوم)، ويقوم ببناء معرف عميل SSH مخصص وإجراء مصافحة قبل المصادقة

هيكل الدليل:

  • Dockerfile: بناء صورة بيئة ثغرة OpenSSH 9.1p1
  • poc.py: نص PoC الأدنى، يستخدم لتفعيل double free في مرحلة ما قبل المصادقة

المتطلبات الأساسية

قبل تنفيذ العمليات التالية في هذا الدليل، تأكد من:

  • تثبيت Docker (في WSL2 يُوصى باستخدام Docker Desktop أو تثبيت Docker مباشرة في WSL)
  • تثبيت Python 3 و pip

الجزء الأول: بناء الجهاز المستهدف (OpenSSH 9.1p1 داخل Docker)

  1. بناء الصورة

نفّذ الأمر التالي في هذا الدليل:

root@kitploit:~
docker build -t sshd-9.1p1-vuln .
  1. تشغيل الحاوية
root@kitploit:~
docker run --rm -d --name sshd-vuln -p 2222:22 sshd-9.1p1-vuln

ملاحظة:

  • --rm: حذف الحاوية تلقائيًا بعد الخروج
  • --name sshd-vuln: اسم الحاوية
  • -p 2222:22: تعيين المنفذ 22 داخل الحاوية إلى المنفذ 2222 على الجهاز المضيف
  1. تأكيد حالة تشغيل sshd
root@kitploit:~
docker ps

يجب أن ترى شيئًا مشابهًا:

root@kitploit:~
CONTAINER ID   IMAGE              COMMAND               STATUS          PORTS
xxxxxx         sshd-9.1p1-vuln    "/usr/sbin/sshd -D…"  Up ...          0.0.0.0:2222->22/tcp

الجزء الثاني: طريقة استخدام PoC على جهاز المهاجم

1. تثبيت تبعيات PoC

نفّذ الأمر التالي في هذا الدليل:

root@kitploit:~
pip install paramiko

2. شرح نص PoC (poc.py)

يستخدم poc.py دالة paramiko.Transport لإنشاء اتصال بخادم SSH المستهدف، ويقوم بتزوير معرف العميل في مرحلة ما قبل المصادقة، محاولًا تفعيل double free.

الميزات الرئيسية:

  • الهدف الافتراضي: 127.0.0.1:2222 (حاوية Docker المحلية)
  • معرف العميل الافتراضي: SSH-2.0-PuTTY_Release_0.64
  • وسائط سطر الأوامر البسيطة:
    • -t/--target: عنوان IP الهدف (الافتراضي 127.0.0.1)
    • -p/--port: المنفذ الهدف (الافتراضي 2222)
    • -c/--client-id: معرف SSH العميل المزور
    • --timeout: المهلة الزمنية (بالثواني)
    • -v/--verbose: عرض معلومات الخطأ التفصيلية

3. تشغيل PoC

تأكد من تشغيل الحاوية sshd-vuln، ثم نفّذ الأمر التالي في هذا الدليل:

root@kitploit:~
python3 poc.py

أو حدد الوسائط صراحة:

root@kitploit:~
python3 poc.py -t 127.0.0.1 -p 2222 -v

مثال لمخرجات العميل المتوقعة:

root@kitploit:~
==============================================
   CVE-2023-25136 OpenSSH Pre-Auth Double Free
              Minimal PoC Client
==============================================
[2024-xx-xx xx:xx:xx] Target: 127.0.0.1:2222, ClientID: SSH-2.0-PuTTY_Release_0.64
[+] Sending crafted pre-auth handshake...
[-] Authentication failed or connection closed early.
     يرجى التحقق من سجلات sshd للخادم لمعرفة ما إذا ظهرت رسالة مثل 'free(): double free detected'، للتأكد من تفعيل CVE-2023-25136.

ملاحظة:

  • ظهور رسالة Authentication failed أو connection closed من جانب العميل هو سلوك متوقع، حيث قد تتعطل العملية الفرعية لمرحلة ما قبل المصادقة أو تغلق الاتصال بسبب المعالجة.

الجزء الثالث: النتائج المتوقعة وطريقة التحقق

1. سجلات الخادم (الحاوية)

بعد تشغيل PoC، تحقق من سجلات الحاوية على الجهاز المضيف:

root@kitploit:~
docker logs sshd-vuln

من المتوقع رؤية مخرجات مشابهة:

root@kitploit:~
Server listening on 0.0.0.0 port 22.
Server listening on :: port 22.
Invalid user  from 172.17.0.1 port xxxxx
free(): double free detected in tcache 2

حيث:

  • Invalid user: نظرًا لاستخدام PoC لاسم مستخدم فارغ، يسجل OpenSSH محاولة مستخدم غير صالح
  • free(): double free detected in tcache 2: يكتشف glibc double free ويقوم بإنهاء العملية الفرعية الحالية لـ sshd، وهذه هي ظاهرة تدمير الذاكرة / رفض الخدمة التي نريد ملاحظتها في هذه التجربة

ملاحظة: لكي نتمكن من رؤية هذا السطر، تم إيقاف صندوق الحماية seccomp أثناء بناء OpenSSH (--with-sandbox=no)؛ وإلا لكان الصندوق قد اعترض السلوك غير الطبيعي قبل double free وقام بإنهاء العملية الفرعية مباشرة.

2. طبيعة التأثير

  • في بيئة التجربة هذه، يمكن لـ PoC تفعيل تعطل العملية الفرعية لمرحلة ما قبل المصادقة (DoS) بشكل مستقر، مما يؤدي إلى فشل اتصال SSH الحالي. تستمر العملية الرئيسية sshd في إنشاء عمليات فرعية جديدة للاتصالات اللاحقة.
  • نظرًا لأن العملية الفرعية لمرحلة ما قبل المصادقة تعمل في بيئة ذات صلاحيات منخفضة + chroot، وتوجد آليات أمان متعددة افتراضيًا، يعتبر الباحثون أن استغلال double free بمفرده لتحقيق تنفيذ تعليمات برمجية عن بُعد صعب للغاية.
تنزيل الأداة