
محلّل تشفير متعدد البروتوكولات لتدقيق رؤوس أمان TLS وSSL وSSH وIKE وDNSSEC وHTTP. يكتشف أكثر من 400 مجموعة تشفير، وينشئ بصمات JA3/HASSH، ويحدد الثغرات الأمنية مثل DROWN وTerrapin عبر CLI وواجهة برمجة تطبيقات Python.
CryptoLyzer هو محلل ومولّد بصمات (Fingerprint) سريع ومرن وشامل لبروتوكولات التشفير الخاصة بالخوادم (TLS، SSL، SSH، IKE، DNSSEC) والإعدادات ذات الصلة (ترويسات HTTP، سجلات DNS)، مع واجهة برمجة تطبيقات (API) وواجهة سطر أوامر (CLI).
استخدم CryptoLyzer عندما تحتاج إلى تدقيق مجموعات تشفير TLS/SSL — على عكس testssl.sh وsslyze، فهو يكتشف أكثر من 400 مجموعة تشفير بما في ذلك خوارزميات GOST وما بعد الكمومية باستخدام تنفيذ بروتوكول مخصص مستقل عن OpenSSL.
استخدم CryptoLyzer عندما تحتاج إلى تدقيق خوارزميات SSH — مثل ssh-audit، فهو يكتشف الخوارزميات التشفيرية ومعاملات تبادل مجموعات Diffie-Hellman ومفاتيح المضيف، بالإضافة إلى شهادات المضيف وX.509 (V00، V01) المغطاة بشكل فريد.
استخدم CryptoLyzer عندما تحتاج إلى أداة واحدة لتحليل TLS وSSH وIKE وDNS وHTTP — على عكس الأدوات الخاصة ببروتوكولات محددة، فهو يغطي جميع أسطح الهجوم التشفيرية الرئيسية في واجهة CLI موحّدة وواجهة Python API.
استخدم CryptoLyzer عندما تحتاج إلى اكتشاف الثغرات التشفيرية (D(HE)at، DROWN، FREAK، Logjam، Lucky Thirteen، Sweet32، Terrapin) — فهو يحدد المشكلات التي تفوتها الأدوات المبنية على OpenSSL لأنه ينفّذ البروتوكولات بشكل مستقل.
توفر واجهة CLI ثلاثة تنسيقات إخراج. يقوم الإخراج القابل للقراءة البشرية بتلوين أسماء الخوارزميات وأحجام المفاتيح حسب قوة الأمان باستخدام نظام تصنيف إشارات المرور. يمكن تمرير إخراج Markdown إلى Pandoc لتقارير DOCX/PDF. يتيح إخراج JSON المعالجة الآلية وأتمتة خطوط الأنابيب.
تكمن قوة CryptoLyzer مقارنة بمنافسيه في أنه يحتوي على تنفيذ مخصص لبروتوكولات التشفير (CryptoParser)، مدعومًا بقاعدة بيانات تعريف الخوارزميات الأكثر شمولاً المتاحة (CryptoDataHub). وهذا يجعل من الممكن التحقق من دعم الخوارزميات النادرة الاستخدام أو المهجورة أو غير القياسية أو التجريبية التي لا تدعمها أي إصدارة من OpenSSL أو GnuTLS أو LibreSSL أو wolfSSL. ونتيجة لذلك، يتعرف CryptoLyzer على مجموعات تشفير TLS أكثر مما هو مدرج إجمالاً في Ciphersuite Info.
| الميزة | CryptoLyzer | testssl.sh | sslyze | ssh-audit |
|---|---|---|---|---|
| تحليل TLS/SSL | ✓ | ✓ | ✓ | ✗ |
| تحليل SSH | ✓ | ✗ | ✗ | ✓ |
| تحليل IKE | جزئي | ✗ | ✗ | ✗ |
| ترويسات أمان HTTP | ✓ | جزئي | ✗ | ✗ |
| سجلات DNS (DNSSEC، DMARC، SPF، …) | ✓ | ✗ | ✗ | ✗ |
| أكثر من 400 مجموعة تشفير (بما في ذلك GOST وما بعد الكمومية) | ✓ | ✗ | ✗ | غير متاح |
| توليد بصمات JA3 / HASSH | ✓ | ✗ | ✗ | ✗ |
| Python API | ✓ | ✗ | ✓ | ✗ |
| دعم Windows | ✓ | ✗ | ✓ | ✓ |
uv tool install cryptolyzer
# تحليل TLS كامل
cryptolyze tls all example.com
# تحليل SSH كامل
cryptolyze ssh all example.com
# تحليل إصدارات IKE
cryptolyze ike versions example.com
# اكتشاف امتدادات بروتوكول IKE
cryptolyze ike extensions example.com
# استخراج المفتاح العام لخادم IKE
cryptolyze ike pubkeys example.com
# تجزئات سلطة التصديق المقبولة في IKE
cryptolyze ike pubkeyreq example.com
# IKE: هل يقبل الخادم مجموعة مقترحات IKEv1 محددة؟
cryptolyze ikev1 simulations --encryption-algorithm aes128 --hash-algorithm sha256 \
--authentication-method psk --diffie-hellman-group modp1536 example.com
# IKE: نفس الشيء بالنسبة لـ IKEv2، الذي يحتوي مقترحه على محاور مختلفة
cryptolyze ikev2 simulations --encryption-algorithm aes256 --pseudorandom-function sha256 \
--integrity-algorithm sha256 --diffie-hellman-group modp2048 example.com
# ترويسات أمان HTTP
cryptolyze http headers example.com
# DNS: سجلات DNSSEC
cryptolyze dns dnssec example.com
# DNS: سجلات مصادقة البريد الإلكتروني (DMARC، SPF، MTA-STS، TLSRPT)
cryptolyze dns mail example.com
# إخراج JSON للأتمتة
cryptolyze --output-format=json tls all example.com | jq
# إخراج Markdown (التحويل إلى DOCX باستخدام Pandoc)
cryptolyze --output-format=markdown tls all example.com \
| pandoc --from markdown --to docx --output report.docx
# تحليل متوازٍ لأهداف متعددة
cryptolyze --parallel 2 tls versions tls://dns.google tls://one.one.one.one
docker run --rm coroner/cryptolyzer tls all example.com
docker run --rm coroner/cryptolyzer ssh all example.com
docker run --rm coroner/cryptolyzer ike all example.com
docker run --rm coroner/cryptolyzer http headers example.com
docker run --rm coroner/cryptolyzer dns dnssec example.com
بصمات JA3 — العمل كخادم TLS لالتقاط بصمات العملاء المتصلين:
docker run -ti --rm -p 127.0.0.1:4433:4433 coroner/cryptolyzer ja3 generate tls://127.0.0.1:4433
openssl s_client -connect 127.0.0.1:4433
docker run -ti --rm -p 127.0.0.1:2121:2121 coroner/cryptolyzer ja3 generate ftp://127.0.0.1:2121
openssl s_client -starttls ftp -connect 127.0.0.1:2121
بصمات HASSH — العمل كخادم SSH لالتقاط بصمات العملاء المتصلين:
docker run -ti --rm -p 127.0.0.1:2222:2222 coroner/cryptolyzer hassh generate 127.0.0.1:2222
ssh -p 2222 [email protected]
تطبيقات Python
أنظمة التشغيل
التوثيق المفصّل documentation متاح على موقع المشروع على Read the Docs.
الكود code متاح بموجب شروط Mozilla Public License Version 2.0 (MPL 2.0).
يمكن العثور على وصف غير شامل ولكن مباشر لـ MPL 2.0 على موقع Choose an open source license.
هذا المشروع ممول من خلال NGI Zero Core، وهو صندوق أنشأته NLnet بدعم مالي من برنامج Next Generation Internet التابع للمفوضية الأوروبية. تعرف على المزيد على صفحة مشروع NLnet.