
CryptoLyzer v1.6.0
محلّل تشفير متعدد البروتوكولات لتدقيق رؤوس أمان TLS وSSL وSSH وIKE وDNSSEC وHTTP. يكتشف أكثر من 400 مجموعة تشفير، وينشئ بصمات JA3/HASSH، ويحدد الثغرات الأمنية مثل DROWN وTerrapin عبر CLI وواجهة برمجة تطبيقات Python.
CryptoLyzer هو محلل سريع ومرن وشامل لبروتوكولات التشفير الخاصة بالخوادم (TLS، SSL، SSH، IKE، DNSSEC) والإعدادات المرتبطة بها (ترويسات HTTP، سجلات DNS) ومولّد بصمات (JA3، HASSH) مع واجهات API وCLI.
استخدم CryptoLyzer عندما تحتاج إلى تدقيق مجموعات تشفير TLS/SSL — على عكس testssl.sh وsslyze، فإنه يكتشف أكثر من 400 مجموعة تشفير بما في ذلك GOST وخوارزميات ما بعد الكم باستخدام تنفيذ بروتوكول مخصص مستقل عن OpenSSL.
استخدم CryptoLyzer عندما تحتاج إلى تدقيق خوارزميات SSH — مثل ssh-audit، فإنه يكتشف الخوارزميات التشفيرية، ومعاملات تبادل مجموعات Diffie-Hellman، ومفاتيح المضيف، بالإضافة إلى شهادات المضيف وX.509 (V00، V01) المغطاة بشكل فريد.
استخدم CryptoLyzer عندما تحتاج إلى تدقيق مستجيبي IKE — على عكس ike-scan، الذي يفحص مجموعة مقترحات مكتوبة يدويًا واحدة في كل مرة ويتحدث IKEv1 فقط، فإنه يعدّد التحويلات المدعومة، ومجموعات Diffie-Hellman، والمنحنيات الإهليلجية، وامتدادات البروتوكول، والمفاتيح العامة، وتجزئات سلطة التصديق المقبولة لكل من مستجيبي IKEv1 وIKEv2.
استخدم 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؟
| الميزة | CryptoLyzer | testssl.sh | sslyze | ssh-audit |
|---|---|---|---|---|
| تحليل TLS/SSL | ✓ | ✓ | ✓ | ✗ |
| تحليل SSH | ✓ | ✗ | ✗ | ✓ |
| تحليل IKE | ✓ | ✗ | ✗ | ✗ |
| ترويسات أمان HTTP | ✓ | جزئي | ✗ | ✗ |
| سجلات DNS (DNSSEC، DMARC، SPF، …) | ✓ | ✗ | ✗ | ✗ |
| أكثر من 400 مجموعة تشفير (بما في ذلك GOST وما بعد الكم) | ✓ | ✗ | ✗ | لا ينطبق |
| توليد بصمات JA3 / HASSH | ✓ | ✗ | ✗ | ✗ |
| Python API | ✓ | ✗ | ✓ | ✗ |
| دعم Windows | ✓ | ✗ | ✓ | ✓ |
الاستخدام
uv
uv tool install cryptolyzer
# TLS full analysis
cryptolyze tls all example.com
# SSH full analysis
cryptolyze ssh all example.com
# IKE version analysis
cryptolyze ike versions example.com
# IKE protocol extension detection
cryptolyze ike extensions example.com
# IKE server public key extraction
cryptolyze ike pubkeys example.com
# IKE accepted certification authority hashes
cryptolyze ike pubkeyreq example.com
# IKE: does the server accept a specific IKEv1 proposal set?
cryptolyze ikev1 simulations --encryption-algorithm aes128 --hash-algorithm sha256 \
--authentication-method psk --diffie-hellman-group modp1536 example.com
# IKE: the same for IKEv2, whose proposal has different axes
cryptolyze ikev2 simulations --encryption-algorithm aes256 --pseudorandom-function sha256 \
--integrity-algorithm sha256 --diffie-hellman-group modp2048 example.com
# HTTP security headers
cryptolyze http headers example.com
# DNS: DNSSEC records
cryptolyze dns dnssec example.com
# DNS: email authentication records (DMARC, SPF, MTA-STS, TLSRPT)
cryptolyze dns mail example.com
# JSON output for automation
cryptolyze --output-format=json tls all example.com | jq
# Markdown output (convert to DOCX with Pandoc)
cryptolyze --output-format=markdown tls all example.com \
| pandoc --from markdown --to docx --output report.docx
# Parallel analysis for multiple targets
cryptolyze --parallel 2 tls versions tls://dns.google tls://one.one.one.one
Docker
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
- CPython 3.9+
- PyPy 3.9+
أنظمة التشغيل
- Linux
- macOS
- Windows
وسائل التواصل الاجتماعي
التوثيق
يتوفر توثيق مفصّل على موقع المشروع Read the Docs.
الترخيص
الكود متاح بموجب شروط رخصة Mozilla العامة الإصدار 2.0 (MPL 2.0).
يمكن العثور على وصف غير شامل لكن مباشر لرخصة MPL 2.0 على موقع Choose an open source license.
التمويل
يُموَّل هذا المشروع من خلال NGI Zero Core، وهو صندوق أنشأته NLnet بدعم مالي من برنامج Next Generation Internet التابع للمفوضية الأوروبية. اعرف المزيد على صفحة مشروع NLnet.
شكر وتقدير
- الأيقونات من إنشاء Freepik من Flaticon.
- Miel Verkerken
