
CryptoLyzer v1.6.0
多协议密码分析器,可审计 TLS、SSL、SSH、IKE、DNSSEC 和 HTTP 安全头。检测 400 多种密码套件,生成 JA3/HASSH 指纹,并通过 CLI 和 Python API 识别 DROWN 和 Terrapin 等漏洞。
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 上列出的总数。
为什么选择 CryptoLyzer?
| 功能 | CryptoLyzer | testssl.sh | sslyze | ssh-audit |
|---|---|---|---|---|
| TLS/SSL 分析 | ✓ | ✓ | ✓ | ✗ |
| SSH 分析 | ✓ | ✗ | ✗ | ✓ |
| IKE 分析 | 部分 | ✗ | ✗ | ✗ |
| HTTP 安全头 | ✓ | 部分 | ✗ | ✗ |
| DNS 记录(DNSSEC、DMARC、SPF、…) | ✓ | ✗ | ✗ | ✗ |
| 400+ 密码套件(含 GOST、后量子) | ✓ | ✗ | ✗ | n/a |
| JA3 / HASSH 指纹生成 | ✓ | ✗ | ✗ | ✗ |
| Python API | ✓ | ✗ | ✓ | ✗ |
| Windows 支持 | ✓ | ✗ | ✓ | ✓ |
使用方法
uv
uv tool install cryptolyzer
# TLS 全面分析
cryptolyze tls all example.com
# SSH 全面分析
cryptolyze ssh all example.com
# IKE 版本分析
cryptolyze ike versions example.com
# IKE 协议扩展检测
cryptolyze ike extensions example.com
# IKE 服务器公钥提取
cryptolyze ike pubkeys example.com
# IKE 接受的证书颁发机构哈希
cryptolyze ike pubkeyreq example.com
# IKE:服务器是否接受特定的 IKEv1 提案集?
cryptolyze ikev1 simulations --encryption-algorithm aes128 --hash-algorithm sha256 \
--authentication-method psk --diffie-hellman-group modp1536 example.com
# IKE:IKEv2 相同,但其提案具有不同的维度
cryptolyze ikev2 simulations --encryption-algorithm aes256 --pseudorandom-function sha256 \
--integrity-algorithm sha256 --diffie-hellman-group modp2048 example.com
# HTTP 安全头
cryptolyze http headers example.com
# DNS:DNSSEC 记录
cryptolyze dns dnssec example.com
# DNS:电子邮件认证记录(DMARC、SPF、MTA-STS、TLSRPT)
cryptolyze dns mail example.com
# 用于自动化的 JSON 输出
cryptolyze --output-format=json tls all example.com | jq
# Markdown 输出(使用 Pandoc 转换为 DOCX)
cryptolyze --output-format=markdown tls all example.com \
| pandoc --from markdown --to docx --output report.docx
# 多目标并行分析
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
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 实现
- CPython 3.9+
- PyPy 3.9+
操作系统
- Linux
- macOS
- Windows
社交媒体
文档
详细的文档可在项目的 Read the Docs 网站上获取。
许可证
代码根据 Mozilla Public License Version 2.0(MPL 2.0)的条款提供。
关于 MPL 2.0 的非全面但直接的描述可在 Choose an open source license 网站上找到。
资金支持
本项目由 NGI Zero Core 资助,该基金由 NLnet 设立,并得到欧盟委员会 Next Generation Internet 计划的财政支持。更多信息请访问 NLnet 项目页面。
致谢
- 图标由 Freepik 制作,来源于 Flaticon。
- Miel Verkerken
