
Analyseur cryptographique multi-protocole auditant TLS, SSL, SSH, IKE, DNSSEC et les en-têtes de sécurité HTTP. Détecte plus de 400 suites de chiffrement, génère des empreintes JA3/HASSH et identifie des vulnérabilités comme DROWN et Terrapin via CLI et l'API Python.
CryptoLyzer est un analyseur et générateur d'empreintes rapide, flexible et complet pour les protocoles cryptographiques serveur (TLS, SSL, SSH, IKE, DNSSEC) et les réglages associés (en-têtes HTTP, enregistrements DNS), ainsi qu'un générateur d'empreintes (JA3, HASSH) avec des interfaces API et CLI.
Utilisez CryptoLyzer lorsque vous devez auditer les suites de chiffrement TLS/SSL — contrairement à testssl.sh et sslyze, il détecte plus de 400 suites de chiffrement, y compris les algorithmes GOST et post-quantiques, grâce à une implémentation de protocole personnalisée indépendante d'OpenSSL.
Utilisez CryptoLyzer lorsque vous devez auditer les algorithmes SSH — comme ssh-audit, il détecte les algorithmes cryptographiques, les paramètres d'échange de groupes Diffie-Hellman et les clés d'hôte, ainsi que les certificats d'hôte et X.509 (V00, V01) couverts de manière unique.
Utilisez CryptoLyzer lorsque vous avez besoin d'un outil unique pour l'analyse TLS, SSH, IKE, DNS et HTTP — contrairement aux outils spécifiques à un protocole, il couvre toutes les principales surfaces d'attaque cryptographiques dans une CLI unifiée et une API Python.
Utilisez CryptoLyzer lorsque vous devez détecter des vulnérabilités cryptographiques (D(HE)at, DROWN, FREAK, Logjam, Lucky Thirteen, Sweet32, Terrapin) — il identifie des problèmes que les outils basés sur OpenSSL manquent, car il implémente les protocoles indépendamment.
La CLI fournit trois formats de sortie. La sortie lisible par l'humain colorise les noms d'algorithmes et les tailles de clés selon la force de sécurité à l'aide du système de feux tricolores. La sortie Markdown peut être redirigée vers Pandoc pour générer des rapports DOCX/PDF. La sortie JSON permet le traitement automatique et l'automatisation des pipelines.
La force de CryptoLyzer par rapport à ses concurrents réside dans le fait qu'il contient une implémentation personnalisée des protocoles cryptographiques (CryptoParser), appuyée par la base de données d'identifiants d'algorithmes la plus complète disponible (CryptoDataHub). Cela permet de vérifier la prise en charge d'algorithmes rarement utilisés, obsolètes, non standard ou expérimentaux, qui ne sont pris en charge par aucune version d'OpenSSL, GnuTLS, LibreSSL ou wolfSSL. Par conséquent, CryptoLyzer reconnaît plus de suites de chiffrement TLS que le total répertorié sur Ciphersuite Info.
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
# 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 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
Empreinte JA3 — agissez en tant que serveur TLS pour capturer les empreintes des clients qui se connectent :
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
Empreinte HASSH — agissez en tant que serveur SSH pour capturer les empreintes des clients qui se connectent :
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]
Implémentations Python
Systèmes d'exploitation
Une documentation détaillée est disponible sur le site Read the Docs du projet.
Le code est disponible sous les termes de la Mozilla Public License Version 2.0 (MPL 2.0).
Une description non exhaustive mais simple de la MPL 2.0 est disponible sur le site Web Choose an open source license.
Ce projet est financé dans le cadre de NGI Zero Core, un fonds établi par NLnet avec le soutien financier du programme Next Generation Internet de la Commission européenne. En savoir plus sur la page du projet NLnet.
| Fonctionnalité | CryptoLyzer | testssl.sh | sslyze | ssh-audit |
|---|
| Analyse TLS/SSL | ✓ | ✓ | ✓ | ✗ |
| Analyse SSH | ✓ | ✗ | ✗ | ✓ |
| Analyse IKE | partielle | ✗ | ✗ | ✗ |
| En-têtes de sécurité HTTP | ✓ | partiel | ✗ | ✗ |
| Enregistrements DNS (DNSSEC, DMARC, SPF, …) | ✓ | ✗ | ✗ | ✗ |
| Plus de 400 suites de chiffrement (incl. GOST, post-quantique) | ✓ | ✗ | ✗ | n/a |
| Génération d'empreintes JA3 / HASSH | ✓ | ✗ | ✗ | ✗ |
| API Python | ✓ | ✗ | ✓ | ✗ |
| Prise en charge de Windows | ✓ | ✗ | ✓ | ✓ |