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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
cve-2023-38408 — تحليل متعمق لـ CVE 2023 38408، وهي ثغرة أمنية خطيرة في OpenSSH، بما في ذلك الخلفية التقنية، والاستغلال في بيئات محكومة، واستراتيجيات التخفيف. | Kitploit
أدوات/GitHubGitHub/adel2411/cve-2023-38408
تحليل الثغرات الأمنيةالاستغلالاختبار الاختراقالأوراق والأبحاثالتعلم والتعليمالفريق الأحمر
GitHubadel2411/cve-2023-38408

cve-2023-38408

تحليل متعمق لـ CVE 2023 38408، وهي ثغرة أمنية خطيرة في OpenSSH، بما في ذلك الخلفية التقنية، والاستغلال في بيئات محكومة، واستراتيجيات التخفيف.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2023-38408: فهم ومحاكاة ثغرة أمنية حقيقية في وكيل SSH

جدول المحتويات

  1. مقدمة
  2. مفاهيم أساسية
  3. ثغرة CVE-2023-38408
  4. محاكاة واختبار عملي
  5. تحليل تقني
  6. الإصلاح والتخفيف
  7. خاتمة

1. مقدمة

الغرض من التقرير

الغرض من هذا التقرير هو تحليل ثغرة CVE-2023-38408، وهي ثغرة حرجة تم اكتشافها في OpenSSH في العالم الحقيقي، من خلال الفهم النظري والمحاكاة العملية. يشرح التقرير الأسس التقنية للثغرة، ويوضح كيفية استغلالها في بيئات خاضعة للتحكم، ويدرس الإجراءات التخفيفية المطبقة.

أهمية تحليل الثغرات الحقيقية

فهم الثغرات الأمنية في العالم الحقيقي من خلال المحاكاة العملية لا يساعد فقط في حماية الأنظمة بل يعزز أيضًا وعي المطورين ومسؤولي الأنظمة بأساليب الهجوم المحتملة. يسد تحليل هذه الثغرات الفجوة بين النظرية والتنفيذ الأمني العملي.

ما هي ثغرة CVE-2023-38408 ولماذا هي مهمة

CVE-2023-38408 هي ثغرة تؤثر على ssh-agent في OpenSSH عند تفعيل دعم PKCS#11. تسمح بتنفيذ تعليمات برمجية عن بُعد على جهاز العميل إذا اتصل المستخدم بخادم مخترق مع تفعيل إعادة توجيه الوكيل (ssh -A). لهذه الثغرة آثار خطيرة على أي نظام يعتمد على OpenSSH في المصادقة الآمنة.

تفاصيل CVEالمعلومات
معرف CVECVE-2023-38408
درجة CVSS9.8 (حرجة)
الإصدارات المتأثرةOpenSSH < 9.3p2
ناقل الهجومشبكة
الامتيازات المطلوبةلا شيء
تفاعل المستخدممطلوب
التأثيراختراق كامل للنظام

2. مفاهيم أساسية

2.1 نظرة عامة على SSH

SSH (Secure Shell) هو بروتوكول شبكة تشفيري يُستخدم للاتصال الآمن عبر الشبكات غير الآمنة. يوفر قنوات مشفرة لتسجيل الدخول عن بُعد، وتنفيذ الأوامر، ونقل الملفات، والمزيد.```mermaid graph LR A[SSH Client] -->|Encrypted Connection| B[SSH Server] A -->|Authentication| C[ssh-agent] C -->|Private Keys| D[Key Store] B -->|Agent Forwarding| E[Remote ssh-agent Proxy]

### 2.2 ما هو ssh-agent

`ssh-agent` هو عملية خلفية تخزّن مفاتيح SSH الخاصة غير المشفّرة في الذاكرة، مما يتيح لك استخدامها دون الحاجة إلى إعادة إدخال كلمات المرور في كل مرة تتصل فيها بنظام بعيد.

#### إعادة توجيه الوكيل (ssh -A)

تسمح إعادة توجيه الوكيل لنظام بعيد بالوصول إلى `ssh-agent` المحلي لديك عبر مقبس مجال يونكس. هذا الأمر مفيد لربط اتصالات SSH ولكنّه ينطوي على مخاطر أمنية كبيرة إذا تم اختراق الجهاز البعيد.```mermaid
sequenceDiagram
    participant Client as SSH Client
    participant Agent as ssh-agent
    participant Server as Remote Server
    participant Proxy as Agent Proxy

    Client->>Agent: Start agent
    Client->>Server: ssh -A user@server
    Server->>Proxy: Create proxy socket
    Note over Server,Proxy: SSH_AUTH_SOCK=/tmp/ssh-xxx/agent.xxx
    Server->>Proxy: ssh-add request
    Proxy->>Client: Forward request
    Client->>Agent: Process request
    Agent->>Client: Response
    Client->>Proxy: Forward response
    Proxy->>Server: Final response

من الناحية التقنية، عند استخدام ssh -A، يقوم عميل SSH بإعداد مأخذ توصيل نطاق يونكس (Unix domain socket) على الخادم البعيد يعمل كـ وكيل لـ ssh-agent المحلي لديك. يتم تعيين متغير البيئة SSH_AUTH_SOCK ليشير إلى هذا المأخذ الوكيل. يتم إعادة توجيه أي استدعاءات تُجرى على SSH_AUTH_SOCK على الخادم البعيد مرة أخرى عبر اتصال SSH ومعالجتها بواسطة ssh-agent المحلي لديك.

2.3 ما هو PKCS#11

PKCS#11 هي واجهة برمجة تطبيقات قياسية للتفاعل مع الرموز التشفيرية، مثل البطاقات الذكية أو YubiKeys أو وحدات أمان العتاد الافتراضية (HSMs).

دالة PKCS#11الغرضمستوى المخاطرة
C_Initialize()تهيئة المكتبةمنخفض
C_GetSlotList()سرد الفتحات المتاحةمنخفض
C_FindObjects()إيجاد الكائنات التشفيريةمتوسط
C_Sign()توقيع البياناتمرتفع
dlopen()تحميل المكتبة المشتركةحرج

كيف يدعم ssh-agent PKCS#11

يدعم ssh-agent الخاص بـ OpenSSH تحميل موفري PKCS#11 (مكتبات .so مشتركة) باستخدام الأمر ssh-add -s /path/to/provider.so. تسمح هذه المكتبات للوكيل بالتفاعل مع الوحدات الآمنة (عتادية أو برمجية) لاستخدام المفاتيح الخاصة دون تعريضها مباشرة.

في الخلفية، عند استدعاء ssh-add -s، يقوم بما يلي:

  • يتم تحميل ملف .so ديناميكيًا في الذاكرة باستخدام dlopen().
  • يحل الوكيل ويستدعي وظائف مثل C_Initialize() و C_GetSlotList() و C_FindObjects() و C_Sign() عبر واجهة برمجة تطبيقات PKCS#11.
  • يعيد الموفّر البيانات الوصفية ويتعامل مع الطلبات لتوقيع تحديات المصادقة، مع إبقاء مادة المفتاح الخاص بشكل آمن داخل الرمز المميز العتادي.

3. ثغرة CVE-2023-38408

3.1 ملخص CVE

السمةالتفاصيل
المعرفCVE-2023-38408
الشدةعالية (CVSS 9.8)
الجدول الزمنيتم الكشف عنها يوليو 2023، أُصلحت في OpenSSH 9.3p2
البرنامج المتأثرإصدارات OpenSSH قبل 9.3p2 التي تدعم PKCS#11
تعقيد الهجوممنخفضة
ناقل الهجومشبكة عبر إعادة توجيه وكيل SSH

3.2 آلية الثغرة

تنبع الثغرة من قيام ssh-agent بتحميل أي ملف كائن مشترك (.so) يتم توفيره عبر ssh-add -s، دون التحقق مما إذا كان موفرًا شرعيًا لـ PKCS#11.```mermaid graph TD A[Attacker sends ssh-add -s malicious.so] --> B[Request forwarded to victim's ssh-agent] B --> C[ssh-agent calls dlopen on malicious.so] C --> D[Constructor function executes immediately] D --> E[Arbitrary code runs on victim machine]

### 3.3 تحليل تدفق الهجوم```mermaid
sequenceDiagram
    participant V as Victim
    participant A as Attacker
    participant Agent as ssh-agent
    participant Lib as Malicious .so

    V->>A: ssh -A attacker@host
    Note over V,A: Agent forwarding enabled
    A->>Agent: ssh-add -s /path/to/malicious.so
    Agent->>Lib: dlopen("/path/to/malicious.so")
    Note over Lib: Constructor executes
    Lib->>V: Malicious code runs
    Note over V: System compromised

على أدنى مستوى، يتضمن تسلسل الأحداث ما يلي:

  1. يقوم نظام عن بعد بإرسال طلب إلى الوكيل المُعاد توجيهه يطلب منه تنفيذ ssh-add -s /path/to/lib.so
  2. يتلقى وكيل SSH المحلي هذا الطلب ويقوم بشكل أعمى باستدعاء dlopen("/path/to/lib.so", RTLD_NOW)
  3. إذا كان ملف .so يحتوي على دالة بناء (__attribute__((constructor))), فإنها تُنَفَّذ فورًا عند التحميل
  4. يمكن أن تحتوي دالة البناء هذه على تعليمات برمجية ضارة عشوائية تُنَفَّذ على جهاز العميل

3.4 سيناريو هجوم حقيقي

الخطوةالإجراءالتأثير
1يقوم المستخدم بتشغيل ssh -A user@attacker-hostتم تمكين إعادة توجيه الوكيل
2يقوم المهاجم بإعداد malicious.soالحمولة جاهزة
3يقوم المهاجم بتنفيذ ssh-add -s /tmp/malicious.soيتم إرسال الطلب إلى وكيل الضحية
4يقوم الوكيل بتحميل المكتبة الضارةيتم تنفيذ دالة البناء
5يتم تشغيل التعليمات البرمجية الضارةتم تحقيق تنفيذ التعليمات البرمجية عن بُعد

4. المحاكاة العملية والاختبار

4.1 إعداد بيئة المحاكاة

لإظهار هذه الثغرة في بيئة محكومة، تم إجراء محاكاة شاملة باستخدام حسابات مستخدمين وأجهزة طرفية متعددة.

تكوين البيئة

تنزيل الأداة