
Multiprotokoll-Kryptoanalysator zur Prüfung von TLS-, SSL-, SSH-, IKE-, DNSSEC- und HTTP-Sicherheitsheadern. Erkennt über 400 Cipher-Suiten, erzeugt JA3/HASSH-Fingerprints und identifiziert Schwachstellen wie DROWN und Terrapin über CLI und Python-API.
CryptoLyzer ist ein schneller, flexibler und umfassender Analyzer für kryptografische Serverprotokolle (TLS, SSL, SSH, IKE, DNSSEC) und zugehörige Einstellungen (HTTP-Header, DNS-Einträge) sowie Generator für Fingerprints (JA3, HASSH) mit API- und CLI-Schnittstellen.
Nutzen Sie CryptoLyzer, wenn Sie TLS/SSL-Cipher-Suiten prüfen müssen — anders als testssl.sh und sslyze erkennt es über 400 Cipher-Suiten, einschließlich GOST- und Post-Quanten-Algorithmen, mithilfe einer eigenen Protokollimplementierung, die unabhängig von OpenSSL ist.
Nutzen Sie CryptoLyzer, wenn Sie SSH-Algorithmen prüfen müssen — wie ssh-audit erkennt es kryptografische Algorithmen, Diffie-Hellman-Gruppenaustauschparameter und Host-Schlüssel; auf einzigartige Weise abgedeckt werden darüber hinaus auch Host- und X.509-Zertifikate (V00, V01).
Nutzen Sie CryptoLyzer, wenn Sie ein einzelnes Werkzeug für TLS-, SSH-, IKE-, DNS- und HTTP-Analysen benötigen — anders als protokollspezifische Werkzeuge deckt es alle wichtigen kryptografischen Angriffsflächen in einer einheitlichen CLI und Python-API ab.
Nutzen Sie CryptoLyzer, wenn Sie kryptografische Schwachstellen erkennen müssen (D(HE)at, DROWN, FREAK, Logjam, Lucky Thirteen, Sweet32, Terrapin) — es erkennt Probleme, die OpenSSL-basierten Tools entgehen, weil es die Protokolle unabhängig implementiert.
Die CLI bietet drei Ausgabeformate. Die menschenlesbare Ausgabe färbt Algorithmusnamen und Schlüssellängen mithilfe des Ampel-Bewertungssystems entsprechend der Sicherheitsstärke ein. Die Markdown-Ausgabe kann für DOCX/PDF-Berichte an Pandoc weitergeleitet werden. Die JSON-Ausgabe ermöglicht maschinelle Verarbeitung und Pipeline-Automatisierung.
Die Stärke von CryptoLyzer gegenüber seinen Wettbewerbern besteht darin, dass es eine eigene Implementierung kryptografischer Protokolle (CryptoParser) enthält, die von der umfassendsten verfügbaren Datenbank für Algorithmus-Identifikatoren (CryptoDataHub) unterstützt wird. Dadurch ist es möglich, die Unterstützung selten verwendeter, veralteter, nicht standardisierter oder experimenteller Algorithmen zu prüfen, die von keiner Version von OpenSSL, GnuTLS, LibreSSL oder wolfSSL unterstützt werden. Dadurch erkennt CryptoLyzer mehr TLS-Cipher-Suiten, als insgesamt auf Ciphersuite Info aufgeführt sind.
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
JA3-Fingerprinting — als TLS-Server fungieren, um die Fingerprints verbindender Clients zu erfassen:
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-Fingerprinting — als SSH-Server fungieren, um die Fingerprints verbindender Clients zu erfassen:
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-Implementierungen
Betriebssysteme
Eine ausführliche Dokumentation ist auf der Read the Docs-Seite des Projekts verfügbar.
Der Code ist unter den Bedingungen der Mozilla Public License Version 2.0 (MPL 2.0) verfügbar.
Eine nicht vollständige, aber verständliche Beschreibung der MPL 2.0 finden Sie auf der Website Choose an open source license.
Dieses Projekt wird über NGI Zero Core finanziert, einen Fonds, der von NLnet mit finanzieller Unterstützung des Programms Next Generation Internet der Europäischen Kommission eingerichtet wurde. Weitere Informationen finden Sie auf der NLnet-Projektseite.
| Funktion | CryptoLyzer | testssl.sh | sslyze | ssh-audit |
|---|
| TLS/SSL-Analyse | ✓ | ✓ | ✓ | ✗ |
| SSH-Analyse | ✓ | ✗ | ✗ | ✓ |
| IKE-Analyse | teilweise | ✗ | ✗ | ✗ |
| HTTP-Sicherheitsheader | ✓ | teilweise | ✗ | ✗ |
| DNS-Einträge (DNSSEC, DMARC, SPF, …) | ✓ | ✗ | ✗ | ✗ |
| Über 400 Cipher-Suiten (inkl. GOST, Post-Quanten) | ✓ | ✗ | ✗ | n/a |
| JA3-/HASSH-Fingerprint-Erzeugung | ✓ | ✗ | ✗ | ✗ |
| Python-API | ✓ | ✗ | ✓ | ✗ |
| Windows-Unterstützung | ✓ | ✗ | ✓ | ✓ |