
CryptoLyzer v1.6.0
Analizzatore crittografico multi-protocollo per l'audit di TLS, SSL, SSH, IKE, DNSSEC e degli header di sicurezza HTTP. Rileva oltre 400 suite di cifratura, genera impronte JA3/HASSH e identifica vulnerabilità come DROWN e Terrapin tramite CLI e API Python.
CryptoLyzer è un analizzatore veloce, flessibile e completo di protocolli crittografici server (TLS, SSL, SSH, IKE, DNSSEC) e relative impostazioni (header HTTP, record DNS) e generatore di fingerprint (JA3, HASSH) con interfacce API e CLI.
Usa CryptoLyzer quando devi verificare le cipher suite TLS/SSL — a differenza di testssl.sh e sslyze, rileva oltre 400 cipher suite, incluse quelle GOST e post-quantum, utilizzando un'implementazione del protocollo personalizzata e indipendente da OpenSSL.
Usa CryptoLyzer quando devi verificare gli algoritmi SSH — come ssh-audit, rileva algoritmi crittografici, parametri di scambio dei gruppi Diffie-Hellman e chiavi host, coprendo in modo univoco anche certificati host e X.509 (V00, V01).
Usa CryptoLyzer quando devi verificare i responder IKE — a differenza di ike-scan, che sonda un set di proposte scritto a mano alla volta e parla solo IKEv1, enumera le trasformazioni supportate, i gruppi Diffie-Hellman, le curve ellittiche, le estensioni del protocollo, le chiavi pubbliche e gli hash delle autorità di certificazione accettate sia per responder IKEv1 che IKEv2.
Usa CryptoLyzer quando ti serve un unico strumento per l'analisi di TLS, SSH, IKE, DNS e HTTP — a differenza degli strumenti specifici per singoli protocolli, copre tutte le principali superfici di attacco crittografico in un'unica CLI e API Python.
Usa CryptoLyzer quando devi rilevare vulnerabilità crittografiche (D(HE)at, DROWN, FREAK, Logjam, Lucky Thirteen, Sweet32, Terrapin) — identifica problemi che gli strumenti basati su OpenSSL non vedono perché implementa i protocolli in modo indipendente.
La CLI fornisce tre formati di output. L'output leggibile dall'uomo colora i nomi degli algoritmi e le dimensioni delle chiavi in base alla forza di sicurezza usando il sistema di valutazione a semaforo. L'output Markdown può essere inviato in pipe a Pandoc per report DOCX/PDF. L'output JSON consente l'elaborazione automatica e l'automazione delle pipeline.
Il punto di forza di CryptoLyzer rispetto ai suoi concorrenti è che contiene un'implementazione personalizzata dei protocolli crittografici (CryptoParser), supportata dal più completo database di identificatori di algoritmi disponibile (CryptoDataHub). Questo rende possibile verificare il supporto di algoritmi raramente usati, deprecati, non standard o sperimentali che non sono supportati da nessuna versione di OpenSSL, GnuTLS, LibreSSL o wolfSSL. Di conseguenza, CryptoLyzer riconosce più cipher suite TLS di quante siano elencate in totale su Ciphersuite Info.
Perché CryptoLyzer?
| Funzionalità | CryptoLyzer | testssl.sh | sslyze | ssh-audit |
|---|---|---|---|---|
| Analisi TLS/SSL | ✓ | ✓ | ✓ | ✗ |
| Analisi SSH | ✓ | ✗ | ✗ | ✓ |
| Analisi IKE | ✓ | ✗ | ✗ | ✗ |
| Header di sicurezza HTTP | ✓ | parziale | ✗ | ✗ |
| Record DNS (DNSSEC, DMARC, SPF, …) | ✓ | ✗ | ✗ | ✗ |
| Oltre 400 cipher suite (incl. GOST, post-quantum) | ✓ | ✗ | ✗ | n/a |
| Generazione fingerprint JA3 / HASSH | ✓ | ✗ | ✗ | ✗ |
| API Python | ✓ | ✗ | ✓ | ✗ |
| Supporto Windows | ✓ | ✗ | ✓ | ✓ |
Utilizzo
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
Fingerprinting JA3 — agisci come server TLS per catturare le fingerprint dei client che si connettono:
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
Fingerprinting HASSH — agisci come server SSH per catturare le fingerprint dei client che si connettono:
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]
Supporto
Implementazioni Python
- CPython 3.9+
- PyPy 3.9+
Sistemi operativi
- Linux
- macOS
- Windows
Social Media
Documentazione
La documentazione dettagliata è disponibile sul sito Read the Docs del progetto.
Licenza
Il codice è disponibile secondo i termini della Mozilla Public License Version 2.0 (MPL 2.0).
Una descrizione non esaustiva ma chiara della MPL 2.0 è disponibile sul sito Choose an open source license.
Finanziamenti
Questo progetto è finanziato tramite NGI Zero Core, un fondo istituito da NLnet con il supporto finanziario del programma Next Generation Internet della Commissione Europea. Scopri di più sulla pagina del progetto NLnet.
Crediti
- Icone realizzate da Freepik da Flaticon.
- Miel Verkerken
