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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
apache__mina-sshd_CVE-2023-35887_2-9-2 | Kitploit
أدوات/GitHubGitHub/shoucheng3/apache__mina-sshd_cve-2023-35887_2-9-2
أدوات التشفير/فك التشفيرتحليل الثغرات الأمنيةأمن الشبكاتالتشفيراختبار الاختراقالأدوات والمكوناتالمصادقةأداة الوصول عن بعد

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
GitHub
shoucheng3/apache__mina-sshd_cve-2023-35887_2-9-2

apache__mina-sshd_CVE-2023-35887_2-9-2

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

Apache MINA SSHD

Apache MINA SSHD

Apache MINA SSHD هي مكتبة جافا نقية 100% لدعم بروتوكولات SSH على جانبي العميل والخادم. لا تهدف إلى أن تكون بديلاً عن عميل SSH أو خادم SSH من أنظمة تشغيل يونكس، بل توفر الدعم للتطبيقات القائمة على جافا التي تتطلب دعم SSH.

يمكن للمكتبة الاستفادة من عدة واجهات خلفية للإدخال/الإخراج:

  • النقل الافتراضي مدمج ويستخدم AsynchronousSocketChannels الخاصة بجافا.
  • Apache MINA، وهي مكتبة إدخال/إخراج غير متزامنة قابلة للتوسع وعالية الأداء، يمكن استخدامها بدلاً منه، أو
  • إطار عمل الشبكات غير المتزامن القائم على الأحداث Netty مدعوم أيضًا.

المعايير المدعومة

توثيق التنفيذ المرجعي

  • RFC 4251 - بنية بروتوكول Secure Shell (SSH)
  • RFC 4252 - بروتوكول مصادقة Secure Shell (SSH)
  • RFC 4253 - بروتوكول طبقة النقل لـ Secure Shell (SSH)
  • RFC 4254 - بروتوكول الاتصال لـ Secure Shell (SSH)
  • RFC 4256 - مصادقة تبادل الرسائل العامة لبروتوكول Secure Shell (SSH)
  • RFC 4335 - امتداد كسر قناة الجلسة لـ Secure Shell (SSH)
  • RFC 4344 - أوضاع تشفير طبقة النقل لـ Secure Shell (SSH)
  • RFC 4345 - أوضاع Arcfour المحسّنة لبروتوكول طبقة النقل لـ Secure Shell (SSH)
  • RFC 4419 - تبادل مجموعة Diffie-Hellman لبروتوكول طبقة النقل لـ Secure Shell (SSH)
  • RFC 4716 - تنسيق ملف المفتاح العام لـ Secure Shell (SSH)
  • RFC 5208 - معايير تشفير المفتاح العام (PKCS) #8 - الإصدار 1.2
  • RFC 5480 - معلومات المفتاح العام لموضوع تشفير المنحنى الإهليلجي
  • RFC 5647 - وضع Galois Counter لـ AES لبروتوكول طبقة النقل لـ Secure Shell
  • RFC 5656 - دمج خوارزمية المنحنى الإهليلجي في طبقة النقل لـ Secure Shell
  • RFC 5915 - بنية المفتاح الخاص للمنحنى الإهليلجي
  • RFC 6668 - التحقق من سلامة البيانات باستخدام SHA-2 لبروتوكول طبقة النقل لـ Secure Shell (SSH)
  • RFC 8160 - وضع طرفية IUTF8 في Secure Shell (SSH)
  • RFC 8268 - المزيد من مجموعات تبادل المفاتيح (KEX) Diffie-Hellman (DH) ذات الأس المعياري (MODP) لـ Secure Shell (SSH)
  • RFC 8308 - التفاوض على الامتدادات في بروتوكول Secure Shell (SSH)
    • ملاحظة: - يحتوي الكود على خطافات لتنفيذ RFC ويوفر أيضًا تنفيذًا افتراضيًا للعميل والخادم لامتدادات server-sig-algs.
  • RFC 8332 - استخدام مفاتيح RSA مع SHA-256 و SHA-512 في بروتوكول Secure Shell (SSH)
    • ملاحظة: - يدعم جانب الخادم هذه التوقيعات افتراضيًا. يتطلب جانب العميل تهيئة محددة - انظر القسم 3.3 وكذلك الخطافات المذكورة أعلاه لـ RFC 8308.
  • RFC 8731 - طريقة تبادل مفاتيح Secure Shell (SSH) باستخدام Curve25519 و Curve448
  • تحديثات وتوصيات طريقة تبادل المفاتيح (KEX) لـ Secure Shell
  • دعم OpenSSH لمفاتيح الأمان U2F/FIDO
    • ملاحظة: يدعم جانب الخادم هذه المفاتيح افتراضيًا. يتطلب جانب العميل تهيئة محددة
  • نظام مصادقة شهادات المفتاح العام من OpenSSH لاستخدامه عبر SSH
  • قفزات SSH عبر البروكسي
  • SFTP الإصدارات 3-6 + الامتدادات
    • supported - DRAFT 05 - القسم 4.4
    • supported2 - DRAFT 13 القسم 5.4
    • versions - DRAFT 09 القسم 4.6
    • vendor-id - DRAFT 09 - القسم 4.4
    • acl-supported - DRAFT 11 - القسم 5.4
    • newline - DRAFT 09 القسم 4.3
    • md5-hash, md5-hash-handle - DRAFT 09 - القسم 9.1.1
    • check-file-handle, -
  • فخ لا نهائي - انظر قسم HOWTO(s).

الدعم المنفذ/المتاح

طرق المصادقة

  • hostbased, publickey, مفتاح عام قائم على المضيف من OpenSSH, keyboard-interactive, password

التشفيرات

  • aes128cbc, aes128ctr, aes192cbc, aes192ctr, aes256cbc, aes256ctr, arcfour128, arcfour256, blowfish-cbc, [email protected], [email protected], [email protected], 3des-cbc

الملخصات

  • md5, sha1, sha224, sha256, sha384, sha512

خوارزميات MAC

  • hmacmd5, hmacmd596, hmacsha1, hmacsha196, hmacsha256, hmacsha512, [email protected] , [email protected], [email protected]

تبادل المفاتيح

  • diffie-hellman-group1-sha1, diffie-hellman-group-exchange-sha256, diffie-hellman-group14-sha1, diffie-hellman-group14-sha256 , diffie-hellman-group15-sha512, diffie-hellman-group16-sha512, diffie-hellman-group17-sha512, diffie-hellman-group18-sha512 , ecdh-sha2-nistp256, ecdh-sha2-nistp384, ecdh-sha2-nistp521, curve25519-sha256, [email protected], curve448-sha512
    • في إصدارات جافا قبل Java 11، تكون Bouncy Castle مطلوبة لـ curve25519-sha256 أو [email protected] أو curve448-sha512.

الضغط

  • none, zlib, [email protected]

التوقيعات/المفاتيح

  • ssh-dss, ssh-rsa, rsa-sha2-256, rsa-sha2-512, nistp256, nistp384, nistp521 , ssh-ed25519 (يتطلب الوحدة الاختيارية eddsa), [email protected], [email protected] , [email protected], [email protected], [email protected] , [email protected], [email protected], [email protected]

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

  • RFC 8758 - إهمال RC4 في Secure Shell (SSH)
  • RFC 8429 - إهمال Triple-DES (3DES) و RC4 في Kerberos
    • على الرغم من أنه يشير إلى Kerberos، إلا أنه يذكر أيضًا نقاط الضعف في DES.
  • ملاحظات إصدار OpenSSH - عادةً ما تكون مؤشرًا جيدًا على الممارسات الفعلية
  • تبادلات المفاتيح والتوقيعات المستندة إلى SHA-1
  • خوارزميات HMAC المستندة إلى MD5 والمبتورة
  • RFC 8270 - زيادة الحجم الأدنى الموصى به لمعامل Diffie-Hellman في Secure Shell إلى 2048 بت ملاحظة: لا يزال من الممكن استخدام 1024 عن طريق تهيئة القيمة برمجيًا أو عبر خاصية نظام - انظر إعداد مزودي الأمان. لا يزال الكود يحتوي على معاملات 1024 وسيستخدمها إذا قام المستخدم بشكل صريح بتخفيض الحد الأدنى الافتراضي إليها.

تحذير: وفقًا لـ RFC 8332 - القسم 3.31

أظهرت تجربة التنفيذ وجود خوادم تفرض عقوبات مصادقة على العملاء الذين يحاولون استخدام خوارزميات المفتاح العام التي لا يدعمها خادم SSH.

عند المصادقة بمفتاح RSA ضد خادم لا ينفذ امتداد "server-sig-algs"، قد يلجأ العملاء افتراضيًا إلى توقيع "ssh-rsa" لتجنب عقوبات المصادقة. عندما يتم اعتماد خوارزميات rsa-sha2-* الجديدة على نطاق واسع بما يكفي لتبرير تعطيل "ssh-rsa"، قد يلجأ العملاء افتراضيًا إلى إحدى الخوارزميات الجديدة.

هذا يعني أن المستخدمين الذين يواجهون هذه المشكلة (والمشكلات ذات الصلة) يجب عليهم تعديل إعدادات الأمان المدعومة بشكل صريح لتجنب المشكلة.

إشعار خاص: تم إبقاء ssh-rsa كجزء من الإعداد الافتراضي نظرًا لوجود العديد من الأنظمة/المستخدمين الذين ما زالوا يستخدمونه. ومع ذلك، سيتم إزالته من الإعداد الافتراضي في إصدار مستقبلي. لذلك نشجع المستخدمين بشدة على الانتقال إلى مفاتيح أخرى (مثل ECDSA, ED25519) في أقرب وقت ممكن.

ملاحظات الإصدار

الإبلاغ عن المشكلات

يمكن تقديم تقارير الأخطاء وطلبات التحسين أو الميزات في متتبع مشكلات GitHub أو في متتبع مشكلات Apache.

يجب الإبلاغ عن القضايا الحساسة مثل الثغرات الأمنية عبر القنوات الخاصة، وليس عبر أي من متتبعي المشكلات.

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

  • Java 8+ (اعتبارًا من الإصدار 1.3)

  • Slf4j

يتطلب الكود فقط وحدة slf4j-api الأساسية المجردة. يمكن اختيار التنفيذ الفعلي لواجهة برمجة تطبيقات التسجيل من بين العديد من المحولات الموجودة.

هيكل القطع الأثرية الأساسية

  • sshd-common - يحتوي على الفئات الأساسية المستخدمة في جميع أنحاء المشروع بالإضافة إلى الكود الذي لا يتطلب دعم شبكة من العميل أو الخادم.

  • sshd-core - يحتوي على كود SSH الأساسي للعميل/الخادم الذي ينفذ الاتصال والنقل والقنوات وإعادة التوجيه، إلخ.

    • sshd-mina, sshd-netty - بدائل للموصّل NIO2 الافتراضي المستخدم لإنشاء وإدارة اتصالات الشبكة باستخدام مكتبتي MINA و/أو Netty على التوالي.
  • sshd-sftp - يحتوي على النظام الفرعي SFTP من جانب الخادم وكود عميل SFTP.

    • sshd-spring-sftp - يحتوي على محول SFTP متوافق مع Spring Integration
  • sshd-scp - يحتوي على معالج أوامر SCP من جانب الخادم وكود عميل SCP.

  • sshd-ldap - يحتوي على أدوات مصادقة لكلمة المرور والمفتاح العام من جانب الخادم تستخدم خادم LDAP.

  • sshd-git - يحتوي على بدائل لمصنع جلسات SSH الخاص بـ JGit.

  • sshd-osgi - يحتوي على قطعة أثرية تجمع بين sshd-common و sshd-core بحيث يمكن نشرها في بيئات OSGi.

  • sshd-putty - يحتوي على كود يمكنه تحليل ملفات مفاتيح PUTTY.

  • sshd-openpgp - يحتوي على كود يمكنه تحليل ملفات مفاتيح OpenPGP (مع بعض القيود - انظر القسم ذي الصلة)

  • sshd-cli - يحتوي على قوالب بسيطة لعميل/خادم سطر الأوامر - تُستخدم لتوفير مظهر وملمس مشابه لأوامر Linux ssh/sshd.

  • sshd-contrib - كود تجريبي قيد المراجعة حاليًا وقد يجد طريقه إلى إحدى القطع الأثرية الأخرى (أو يصبح قطعة أثرية جديدة تمامًا - على سبيل المثال، تطور sshd-putty بهذه الطريقة).

التبعيات الاختيارية

مرجع سريع

بناء الكود

بما في ذلك الاختبارات

root@kitploit:~
mvn clean install

بدون اختبارات

root@kitploit:~
mvn -Pquick clean install

إعداد عميل SSH في 5 دقائق

تضمين مثيل خادم SSHD في 5 دقائق

تفصيل وظائف SSH

إعداد مزودي الأمان

البنية التحتية للأوامر

SCP

SFTP

إعادة توجيه المنافذ

فئات الدعم الداخلية

مستمعو الأحداث ومعالجاتها

عملاء سطر الأوامر

دعم GIT

دعم تحليل ملفات التكوين/البيانات

الوحدات النمطية الموسعة

HOWTO(s)

التوثيق الفني

تبادل مفاتيح SSH

إعادة توجيه منافذ TCP/IP

الطلبات العامة

تنزيل الأداة
check-file-name
DRAFT 09 - القسم 9.1.2
  • copy-file, copy-data - DRAFT 00 - القسمان 6 و 7
  • space-available - DRAFT 09 - القسم 9.2
  • filename-charset, filename-translation-control - DRAFT 13 - القسم 6 - فقط جانب العميل
  • العديد من امتدادات OpenSSH SFTP