
Analizador criptográfico multiprotocolo que audita encabezados de seguridad TLS, SSL, SSH, IKE, DNSSEC y HTTP. Detecta más de 400 suites de cifrado, genera huellas digitales JA3/HASSH e identifica vulnerabilidades como DROWN y Terrapin mediante CLI y API de Python.
CryptoLyzer es un analizador y generador de huellas digitales rápido, flexible y completo de protocolos criptográficos de servidor (TLS, SSL, SSH, IKE, DNSSEC) y ajustes relacionados (cabeceras HTTP, registros DNS) (JA3, HASSH) con interfaces API y CLI.
Usa CryptoLyzer cuando necesites auditar suites de cifrado TLS/SSL — a diferencia de testssl.sh y sslyze, detecta más de 400 suites de cifrado, incluidos algoritmos GOST y post-cuánticos, mediante una implementación de protocolo personalizada independiente de OpenSSL.
Usa CryptoLyzer cuando necesites auditar algoritmos SSH — como ssh-audit, detecta algoritmos criptográficos, parámetros de intercambio de grupos Diffie-Hellman y claves de host, así como certificados X.509 (V00, V01) cubiertos de forma única.
Usa CryptoLyzer cuando necesites una única herramienta para análisis TLS, SSH, IKE, DNS y HTTP — a diferencia de las herramientas específicas de protocolo, cubre todas las principales superficies de ataque criptográfico en una CLI unificada y una API de Python.
Usa CryptoLyzer cuando necesites detectar vulnerabilidades criptográficas (D(HE)at, DROWN, FREAK, Logjam, Lucky Thirteen, Sweet32, Terrapin) — identifica problemas que las herramientas basadas en OpenSSL pasan por alto porque implementa los protocolos de forma independiente.
La CLI ofrece tres formatos de salida. La salida legible por humanos colorea los nombres de algoritmos y tamaños de clave según la fortaleza de seguridad mediante el sistema de semáforo. La salida Markdown puede canalizarse a Pandoc para informes DOCX/PDF. La salida JSON permite el procesamiento automático y la automatización de pipelines.
La fortaleza de CryptoLyzer frente a sus competidores es que contiene una implementación personalizada de protocolos criptográficos (CryptoParser), respaldada por la base de datos de identificadores de algoritmos más completa disponible (CryptoDataHub). Esto permite comprobar la compatibilidad con algoritmos poco utilizados, obsoletos, no estándar o experimentales que no son compatibles con ninguna versión de OpenSSL, GnuTLS, LibreSSL o wolfSSL. Como resultado, CryptoLyzer reconoce más suites de cifrado TLS de las que se enumeran en total en Ciphersuite Info.
| Característica | CryptoLyzer | testssl.sh | sslyze | ssh-audit |
|---|---|---|---|---|
| Análisis TLS/SSL | ✓ | ✓ | ✓ | ✗ |
| Análisis SSH | ✓ | ✗ | ✗ | ✓ |
| Análisis IKE | parcial | ✗ | ✗ | ✗ |
| Cabeceras de seguridad HTTP | ✓ | parcial | ✗ | ✗ |
| Registros DNS (DNSSEC, DMARC, SPF, …) | ✓ | ✗ | ✗ | ✗ |
| Más de 400 suites de cifrado (incl. GOST, post-cuánticas) | ✓ | ✗ | ✗ | n/a |
| Generación de huellas JA3 / HASSH | ✓ | ✗ | ✗ | ✗ |
| API de Python | ✓ | ✗ | ✓ | ✗ |
| Compatibilidad con Windows | ✓ | ✗ | ✓ | ✓ |
uv tool install cryptolyzer
# Análisis TLS completo
cryptolyze tls all example.com
# Análisis SSH completo
cryptolyze ssh all example.com
# Análisis de versiones IKE
cryptolyze ike versions example.com
# Detección de extensiones de protocolo IKE
cryptolyze ike extensions example.com
# Extracción de clave pública del servidor IKE
cryptolyze ike pubkeys example.com
# Hashes de autoridades de certificación aceptadas por IKE
cryptolyze ike pubkeyreq example.com
# IKE: ¿acepta el servidor un conjunto de propuestas IKEv1 específico?
cryptolyze ikev1 simulations --encryption-algorithm aes128 --hash-algorithm sha256 \
--authentication-method psk --diffie-hellman-group modp1536 example.com
# IKE: lo mismo para IKEv2, cuya propuesta tiene ejes diferentes
cryptolyze ikev2 simulations --encryption-algorithm aes256 --pseudorandom-function sha256 \
--integrity-algorithm sha256 --diffie-hellman-group modp2048 example.com
# Cabeceras de seguridad HTTP
cryptolyze http headers example.com
# DNS: registros DNSSEC
cryptolyze dns dnssec example.com
# DNS: registros de autenticación de correo (DMARC, SPF, MTA-STS, TLSRPT)
cryptolyze dns mail example.com
# Salida JSON para automatización
cryptolyze --output-format=json tls all example.com | jq
# Salida Markdown (convertir a DOCX con Pandoc)
cryptolyze --output-format=markdown tls all example.com \
| pandoc --from markdown --to docx --output report.docx
# Análisis paralelo para múltiples objetivos
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
Huellas JA3 — actúa como servidor TLS para capturar las huellas de los clientes que se conectan:
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
Huellas HASSH — actúa como servidor SSH para capturar las huellas de los clientes que se conectan:
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]
Implementaciones de Python
Sistemas operativos
La documentación detallada está disponible en el sitio Read the Docs del proyecto.
El código está disponible bajo los términos de la Mozilla Public License Version 2.0 (MPL 2.0).
Una descripción no exhaustiva pero sencilla de la MPL 2.0 se puede encontrar en el sitio web Choose an open source license.
Este proyecto está financiado a través de NGI Zero Core, un fondo establecido por NLnet con el apoyo financiero del programa Next Generation Internet de la Comisión Europea. Obtén más información en la página del proyecto en NLnet.