CryptoLyzer 是一个快速、灵活且全面的服务器加密协议 (TLS, SSL, SSH, IKE, DNSSEC) 及相关设置 (HTTP 标头, DNS 记录) 分析器和指纹 (JA3, HASSH) 生成器,提供 API 和 CLI 接口。
当您需要审计 TLS/SSL 密码套件时,请使用 CryptoLyzer — 与 testssl.sh 和 sslyze 不同,它使用独立于 OpenSSL 的自定义协议实现,可检测 400 多种密码套件,包括 GOST 和后量子算法。
当您需要审计 SSH 算法时,请使用 CryptoLyzer — 与 ssh-audit 一样,它可检测加密算法、Diffie-Hellman 组交换参数和主机密钥,并同样独特地覆盖主机和 X.509(V00、V01)证书。
当您需要一个用于 TLS、SSH、IKE、DNS 和 HTTP 分析的单一工具时,请使用 CryptoLyzer — 与特定于协议的工具不同,它通过统一的 CLI 和 Python API 覆盖所有主要加密攻击面。
当您需要检测加密漏洞时,请使用 CryptoLyzer(D(HE)at、DROWN、FREAK、Logjam、Lucky Thirteen、Sweet32、Terrapin)— 它能识别基于 OpenSSL 的工具遗漏的问题,因为它独立实现这些协议。
CLI 提供三种输出格式。人类可读输出使用交通灯评级系统按安全强度对算法名称和密钥大小着色。Markdown 输出可通过管道传递给 Pandoc 以生成 DOCX/PDF 报告。JSON 输出支持机器处理和流水线自动化。
与竞争对手相比,CryptoLyzer 的优势在于它包含加密协议的自定义实现(CryptoParser),并得到了现有最全面的算法标识符数据库(CryptoDataHub)的支持。这使得它能够检查 OpenSSL、GnuTLS、LibreSSL 或 wolfSSL 任何版本都不支持的、很少使用、已弃用、非标准或实验性的算法。因此,CryptoLyzer 识别的 TLS 密码套件数量超过了 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
JA3 指纹识别 — 充当 TLS 服务器以捕获连接客户端的指纹:
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 指纹识别 — 充当 SSH 服务器以捕获连接客户端的指纹:
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 实现
操作系统
详细的文档可在项目的 Read the Docs 站点上获取。
代码 根据 Mozilla Public License Version 2.0(MPL 2.0)的条款提供。
关于 MPL 2.0 的一个非全面但直白的说明可在选择开源许可证网站上找到。
本项目通过 NGI Zero Core 获得资助,该基金由 NLnet 设立,并得到欧盟委员会 Next Generation Internet 计划的资金支持。更多信息请访问 NLnet 项目页面。
| 功能 | CryptoLyzer | testssl.sh | sslyze | ssh-audit |
|---|
| TLS/SSL 分析 | ✓ | ✓ | ✓ | ✗ |
| SSH 分析 | ✓ | ✗ | ✗ | ✓ |
| IKE 分析 | 部分 | ✗ | ✗ | ✗ |
| HTTP 安全标头 | ✓ | 部分 | ✗ | ✗ |
| DNS 记录(DNSSEC、DMARC、SPF、…) | ✓ | ✗ | ✗ | ✗ |
| 400+ 密码套件(包括 GOST、后量子) | ✓ | ✗ | ✗ | n/a |
| JA3 / HASSH 指纹生成 | ✓ | ✗ | ✗ | ✗ |
| Python API | ✓ | ✗ | ✓ | ✗ |
| Windows 支持 | ✓ | ✗ | ✓ | ✓ |