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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
sshfinder — أداة اكتشاف متوازٍ لخدمات SSH ومدقّق أمان تفحص أي منفذ، وتتحقق من لافتات SSH، وتدقق طرق المصادقة، والتشفير الضعيف، وثغرة Terrapin، ومفاتيح المضيف المعاد استخدامها عبر المضيفين ونطاقات CIDR. | Kitploit
أدوات/GitHubGitHub/kabiri-labs/sshfinder
الاستطلاعماسحات الثغرات الأمنيةمسح المنافذتحليل الثغرات الأمنيةجمع المعلوماتأمن الشبكاتالتشفيراختبار الاختراق
GitHubkabiri-labs/sshfinder

sshfinder

أداة اكتشاف متوازٍ لخدمات SSH ومدقّق أمان تفحص أي منفذ، وتتحقق من لافتات SSH، وتدقق طرق المصادقة، والتشفير الضعيف، وثغرة Terrapin، ومفاتيح المضيف المعاد استخدامها عبر المضيفين ونطاقات CIDR.

314منذ 2 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

sshfinder

CI version

اعثر على كل خدمة SSH في شبكتك، واحكم ما إذا كانت تلبي معيارك، وسيتم إعلامك عندما يتغير ذلك.

sshfinder هو ملف Python واحد بدون أي تبعيات مطلوبة. وجّهه إلى نطاق CIDR وسيكتشف SSH أينما كان يستمع فعليًا — وليس فقط على المنفذ 22 — ويؤكد أن كل واحد يتحدث SSH فعلًا، ويقيّم وضعه التشفيري، ويعيد رمز خروج غير صفري عندما يفشل شيء ما في سياستك.


المشكلة التي يحلها

لا تستطيع معظم الفرق الإجابة عن ثلاثة أسئلة حول بنية SSH الخاصة بها:

  1. كم عدد خدمات SSH لدينا، وأين؟ ليس عدد الأجهزة — بل عدد خدمات SSH المستمعة، بما في ذلك تلك الموجودة على المنفذ 2222 التي أعدّها مقاول في عام 2019.
  2. هل تلبي جميعها معيارنا؟ تعطيل تسجيل الدخول بكلمة المرور، لا تشفيرات مكسورة، غير معرّضة لـ Terrapin. بشكل مثبت، وليس بالادعاء.
  3. ما الذي تغيّر منذ الليلة الماضية؟ مفتاح مضيف انتقل. خدمة ظهرت. مصادقة كلمة المرور التي عادت بعد إعادة البناء.

الأدوات الحالية تجيب كل منها على جزء من هذا وتتوقف:

الأداةتكتشف SSHتقيّمهعبر أسطول كامل
nmapنعمسطحي، عبر نصوص NSEنعم
ssh-auditلا — تعطيه مضيفًا واحدًابعمقلا
masscan / zmapعلى نطاق الإنترنتلانعم
sshfinderنعمنعمنعم

تلك الفجوة — الاكتشاف و التقييم و الحكم، في أداة واحدة — هي ما وُجدت هذه الأداة لملئه. إذا كنت تحتاج فقط إلى تدقيق مضيف واحد تعرفه بالفعل، استخدم ssh-audit؛ فهو يتعمق أكثر في خدمة واحدة مما تفعله هذه الأداة.

لمن هي

  • الأمن الداخلي وجرد الأصول. بناء وصيانة سجل لـ كل خدمة SSH في البنية، مُصدَّر إلى CSV أو JSON.
  • فرق المنصات و SRE مع التزام بالامتثال. إثبات، وفق جدول زمني ومع رمز خروج، أنه لا يوجد مضيف في VPC يقبل تسجيل الدخول بكلمة المرور أو يقدم تشفيرًا ضعيفًا.
  • أي شخص يدير هجرة ما بعد الكمومية. رقم واحد لمدى الأسطول الذي لا يزال غير قادر على التفاوض على تبادل المفاتيح ما بعد الكمومية، وبأي خدمات تحديدًا.

سيجد مختبرو الاختراق التدقيق والانعطاف عبر SOCKS مفيدين، لكن الأداة مصممة حول تشغيل نفس الفحص بشكل متكرر ضد بنية تملكها، وليس حول مهمة لمرة واحدة.


بدء سريع

git clone https://github.com/kabiri-labs/sshfinder.git
cd sshfinder
python sshfinder.py 10.0.0.0/24 -p 22,2222

لا تثبيت، لا تبعيات. يتطلب Python 3.9+.

الأشياء الثلاثة التي تفعلها، في ثلاثة أوامر:

# 1. الجرد — ما هو SSH الموجود هناك؟
python sshfinder.py 10.0.0.0/24 --audit --format csv -o ssh-inventory.csv

# 2. الحكم — هل يلبي معيارنا؟ (يخرج برمز 3 إذا لم يكن كذلك)
python sshfinder.py 10.0.0.0/24 -p 22,2222 --policy baseline

# 3. الانحراف — ما الذي تغيّر منذ الليلة الماضية؟
python sshfinder.py 10.0.0.0/24 -p 22,2222 --baseline yesterday.json \
    --fail-on-drift

1. الجرد

فحص جميع المنافذ 65535 هو الافتراضي، لأن خدمة SSH على منفذ غير قياسي هي تحديدًا تلك التي لم يكتبها أحد. كل منفذ مفتوح مُصنَّف، لذلك لا يُحتسب المنفذ المفتوح أبدًا بصمت كمنفذ SSH:

=== 10.0.0.5 ===
  open: 10.0.0.5:22 [SSH], 10.0.0.5:8080 [not ssh]
  SSH  10.0.0.5:22  (SSH-2.0-OpenSSH_7.4)

التأكيد هو تبادل تعريف RFC 4253 حقيقي، وليس نظرة على البايتات الأولى على السلك. الخوادم التي تطبع لافتة قانونية أولاً، أو التي تنتظر العميل لتقديم نفسه، أو التي تصل لافتتها مقسمة عبر مقاطع TCP — كلها تُعرَف بشكل صحيح — كل واحدة منها هي نتيجة سلبية خاطئة في تنفيذ ساذج.

أضف --audit للصورة الكاملة لكل خدمة:

  SSH  10.0.0.5:22  (SSH-2.0-OpenSSH_7.4)
       host key: ssh-ed25519 SHA256:T/ZM4jOL4amTsO5K3AaCdg2...
       auth: publickey, password  [!] password auth enabled
       [!] Terrapin (CVE-2023-48795): VULNERABLE
       [!] weak ciphers: aes128-cbc
           aes128-cbc [weak]: CBC mode is vulnerable to the SSH plaintext-recovery attack (CVE-2008-5161) and, …

مفاتيح مضيف SSH المشتركة (مضيفون مشتركون/مستنسخون محتملون):
  SHA256:T/ZM4jOL4amTsO5K3AaCdg2...
    -> 10.0.0.5:22, 10.0.0.9:22

تلك الكتلة الأخيرة تستحق المعرفة: مفتاح مضيف مُعاد استخدامه عبر أجهزة يعني عادةً أجهزة VM مستنسخة أو صورة مشتركة، ويعني أن اختراق مضيف واحد يخترق هوية جميعها.

الجاهزية ما بعد الكمومية

جعل OpenSSH 10.0 من mlkem768x25519-sha256 تبادل المفاتيح الافتراضي، و10.1 يحذر من أن الجلسات الكلاسيكية مفتوحة لالتقاط خزّن الآن، فكّك لاحقًا. يجيب --pq-report على سؤال مستوى الأسطول مباشرة، باستخدام فقط KEXINIT — لذلك لا يحتاج أي مكتبة طرف ثالث:

python sshfinder.py 10.0.0.0/24 -p 22,2222 --pq-report
Post-quantum readiness:
  1/3 service(s) negotiate post-quantum key exchange with a current client
  [!] no PQ key exchange offered (1):
        10.0.0.2:22
  [!] pre-standard PQ only (1) - looks post-quantum but is not:
        10.0.0.3:22
  2 service(s) exposed to store-now-decrypt-later capture; upgrade to OpenSSH 9.0+

فئة pre-standard هي التي توقع الناس. خادم يعلن عن [email protected] أو مسودة Kyber يبدو ما بعد الكمومي في تفريغ الخوارزميات، لكن OpenSSH أسقط تلك المجموعة المسحوبة في 2020 — لذلك لا يجد العميل الحالي أي طريقة مشتركة ويعود إلى التشفير الكلاسيكي. إذا عُدّ جاهزًا، فسيكون أسوأ من عدم النظر إلى الأمر إطلاقًا.

2. الحكم

يصف التقرير مشكلة. السياسة تؤكد واحدة، ويمكن أن تفشل بناء:

python sshfinder.py 10.0.0.0/24 -p 22,2222 --policy baseline; echo "exit $?"
Policy 'baseline':
  No password login, no Terrapin exposure, no weak algorithms.
  1/3 service(s) pass
  [FAIL] 1 service(s):
        10.0.0.3:22
          - password_auth: password login accepted: publickey, password
          - terrapin: vulnerable to Terrapin (CVE-2023-48795)
          - post_quantum (warn): post-quantum readiness is absent, ready required
  [warn] 1 service(s):
        10.0.0.2:22
          - post_quantum (warn): post-quantum readiness is absent, ready required
exit 3

ثلاث سياسات مدمجة — baseline وstrict وpq — مسماة وفق النتيجة التي تفرضها وليس لتوزيعة. تحمل القواعد خطورة fail أو warn ويقرر --fail-on أيها يتحكم في البوابة، لذلك يمكن للفريق اعتماد معيار أكثر صرامة كتحذير أولاً وترقيته لاحقًا دون تعديل أي شيء.

اكتب سياستك الخاصة كـ JSON:

{
  "name": "house-rules",
  "description": "What we expect of every SSH service.",
  "rules": [
    {"check": "password_auth", "severity": "fail"},
    {"check": "terrapin", "severity": "fail"},
    {"check": "post_quantum", "require": "ready", "severity": "warn"},
    {"check": "forbid", "field": "ciphers",
     "algorithms": ["3des-cbc", "arcfour"], "severity": "fail"},
    {"check": "require", "field": "kex_algorithms",
     "algorithms": ["curve25519-sha256"], "severity": "fail"}
  ]
}

الفحوصات: password_auth وterrapin وweak_algorithms وpost_quantum (مع require: ready أوlegacy أوabsent) وforbid / require عبر field من kex_algorithms أوhost_key_algorithms أوciphers أوmacs.

أي شيء آخر هو خطأ صارم عند تحميل السياسة، قبل بدء الفحص. بوابة تتخطى بصمت قاعدة لا تفهمها أسوأ من لا بوابة: يعمل التشغيل باللون الأخضر ولا يتعلم أحد أن الفحص لم يُنفَّذ أبدًا.

$ sshfinder 10.0.0.0/24 --policy house.json
sshfinder: error: rule 1: unknown check 'pasword_auth'
  (known: forbid, password_auth, post_quantum, require, terrapin, weak_algorithms)

3. الانحراف

شغّله ليلاً مقابل تقرير الأمس وشاهد فقط ما تحرك:

# Nightly, in cron:
python sshfinder.py 10.0.0.0/24 -p 22,2222 --audit --json -o today.json
python sshfinder.py 10.0.0.0/24 -p 22,2222 --baseline yesterday.json \
    --fail-on-drift
Baseline drift (vs yesterday.json):
  [alert] 2 change(s):
        10.0.0.5:22  SHA256:T/ZM4jO... -> SHA256:9aKm2Qx...; expected only after a rebuild or key rotation
        10.0.0.3:22  password login is now accepted
  [added] 1 change(s):
        10.0.0.9:2222  new SSH service (SSH-2.0-OpenSSH_9.6)
  [improved] 1 change(s):
        10.0.0.7:22  post-quantum readiness rose from absent to ready
تنزيل الأداة