
CryptoLyzer v1.6.0
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 rápido, flexible y completo de protocolos criptográficos de servidor (TLS, SSL, SSH, IKE, DNSSEC) y configuraciones relacionadas (cabeceras HTTP, registros DNS) y generador de huellas digitales (JA3, HASSH) con interfaces API y CLI.
Use CryptoLyzer cuando necesite auditar suites de cifrado TLS/SSL — a diferencia de testssl.sh y sslyze, detecta más de 400 suites de cifrado, incluidas GOST y algoritmos post-cuánticos, utilizando una implementación de protocolo personalizada independiente de OpenSSL.
Use CryptoLyzer cuando necesite auditar algoritmos SSH — al igual que ssh-audit, detecta algoritmos criptográficos, parámetros de intercambio de grupos Diffie-Hellman y claves de host, cubriendo de forma única tanto certificados de host como X.509 (V00, V01) también.
Use CryptoLyzer cuando necesite auditar respondedores IKE — a diferencia de ike-scan, que sondea un conjunto de propuestas escrito a mano a la vez y solo habla IKEv1, enumera las transformaciones admitidas, grupos Diffie-Hellman, curvas elípticas, extensiones de protocolo, claves públicas y hashes de autoridades de certificación aceptadas tanto de respondedores IKEv1 como IKEv2.
Use CryptoLyzer cuando necesite una única herramienta para análisis de TLS, SSH, IKE, DNS y HTTP — a diferencia de herramientas específicas de protocolo, cubre todas las principales superficies de ataque criptográfico en una única CLI unificada y API de Python.
Use CryptoLyzer cuando necesite 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 proporciona tres formatos de salida. La salida legible por humanos colorea los nombres de algoritmos y tamaños de clave según la seguridad utilizando el sistema de calificación por semáforo. La salida Markdown se puede canalizar a Pandoc para informes DOCX/PDF. La salida JSON permite el procesamiento automático y la automatización de pipelines.
La fortaleza de CryptoLyzer en comparación con 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 hace posible verificar la compatibilidad de algoritmos poco usados, 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 que las listadas en total en Ciphersuite Info.
¿Por qué CryptoLyzer?
| Característica | CryptoLyzer | testssl.sh | sslyze | ssh-audit |
|---|---|---|---|---|
| Análisis TLS/SSL | ✓ | ✓ | ✓ | ✗ |
| Análisis SSH | ✓ | ✗ | ✗ | ✓ |
| Análisis IKE | ✓ | ✗ | ✗ | ✗ |
| 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 | ✓ | ✗ | ✓ | ✗ |
| Soporte para Windows | ✓ | ✗ | ✓ | ✓ |
Uso
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
Huella JA3 — actúe 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
Huella HASSH — actúe 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]
Soporte
Implementaciones de Python
- CPython 3.9+
- PyPy 3.9+
Sistemas operativos
- Linux
- macOS
- Windows
Redes sociales
Documentación
La documentación detallada está disponible en el sitio Read the Docs del proyecto.
Licencia
El código está disponible bajo los términos de la Mozilla Public License Version 2.0 (MPL 2.0).
Se puede encontrar una descripción no exhaustiva pero sencilla de MPL 2.0 en el sitio web Choose an open source license.
Financiación
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. Obtenga más información en la página del proyecto NLnet.
Créditos
- Iconos creados por Freepik de Flaticon.
- Miel Verkerken
