TLS Certificate Analysis 是一个面向 TLS 证书分析的技能,主要用于从证书中提取签发者信息、主题备用名称(SAN)、协议版本与指纹数据,并据此进行技术识别。
用途 该技能的目标是分析 TLS 证书,提取签发者信息、SAN、协议版本与指纹数据,用于技术识别。
主要能力 技能包含若干操作:
- extract_certificate_metadata:连接服务器并提取证书详情,命令为 echo | openssl s_client -connect {domain}:443 -servername {domain} 2>/dev/null | openssl x509 -noout -text,提取字段包括 Subject(CN、O、OU)、Issuer(CN、O)、Validity(Not Before、Not After)、Subject Alternative Names、Signature Algorithm、Public Key Algorithm & Size。
- analyze_certificate_issuer:识别证书颁发机构并推断托管/安全实践,内置签发者检测模式,涵盖 Let's Encrypt、DigiCert、Amazon、Cloudflare、Google Trust Services、Sectigo、ZeroSSL,每种模式给出 indicates 与 confidence。
- extract_sans:从证书中解析 SAN,命令为 echo | openssl s_client -connect {domain}:443 -servername {domain} 2>/dev/null | openssl x509 -noout -ext subjectAltName,处理过程包括提取 SAN 扩展、解析 DNS 名称、过滤相关域名、识别通配符。
- check_protocol_support:测试 TLS 协议与加密套件支持,命令为 nmap --script ssl-enum-ciphers -p 443 {domain},或使用 openssl s_client -connect {domain}:443 -tls1_2 与 openssl s_client -connect {domain}:443 -tls1_3。协议分析区分 TLS 1.3 only、TLS 1.2 + 1.3、TLS 1.1 enabled、TLS 1.0 enabled 等情况。
- generate_jarm_fingerprint:生成 JARM 指纹用于服务器识别,并列出已知 JARM 指纹(如 Cloudflare、Cloudflare Alternative、AWS CloudFront、Fastly、Akamai)。资料注明 JARM 指纹识别需要专门工具,该操作可能被标记为可选。
使用方式 该技能通过连接目标服务器并执行上述 openssl / nmap 命令来提取证书与协议信息,最终输出结构化 JSON,字段包括:skill、domain、results(certificates、protocol_support、fingerprints、security_analysis、technologies_detected)以及 evidence。certificates 中记录 domain、subject、issuer、validity、sans、signature_algorithm、public_key。issuer 中可包含 technology_indicated(AWS Certificate Manager|Cloudflare|Let's Encrypt|Other)。protocol_support 记录 tls_1_3、tls_1_2、tls_1_1、tls_1_0 布尔值。fingerprints 记录 jarm 与 jarm_match。security_analysis 记录 cert_automation、wildcard_usage、short_validity、modern_protocols_only。technologies_detected 记录 name、source(certificate_issuer|jarm_fingerprint)、confidence。evidence 记录 type、domain、issuer、validity、timestamp。
适用场景 资料给出的技术信号包括:Amazon issuer 指示 AWS 基础设施(95%)、Cloudflare issuer 指示 Cloudflare 代理(95%)、GTS issuer 指示 Google Cloud(90%)、Let's Encrypt + 90 天有效期指示自动化证书管理(85%)、EV 证书指示企业/金融(80%)、通配符 SAN 指示动态子域名使用(70%)。可用于依据证书签发者与协议支持情况识别站点托管与安全实践。
限制与约束 资料包含速率限制:TLS 连接 10 次/分钟每域名,JARM 扫描 5 次/分钟(若启用)。错误处理包括:连接被拒(服务器可能没有 HTTPS)、证书过期(记录但继续)、自签名证书(作为发现记录)、需要 SNI(使用 server name 重试)。安全注意事项包括:仅进行被动 TLS 分析、不绕过证书验证、不存储私钥材料、记录所有连接以供审计。具体支持的平台、是否收费、价格等信息暂未提供。