Skip to content

工作流:证书事件应急取证

场景:安全事件中发现一个可疑证书或可疑主机,需要快速识别、归因、查信任状态、追溯签发历史。这是 IR(Incident Response)场景的证书取证剧本。

适用边界

  • ✅ 事件响应中对可疑主机/证书的快速画像
  • ✅ 钓鱼站点证书溯源、C2 节点识别
  • ❌ 批量资产测绘(用 网络空间测绘扫描
  • ❌ 仅查单张证书安全评分(直接 analyze 即可)

五阶段流程

Phase 1 — 识别与评估目标

bash
# 基本信息
cert-skills info suspicious-host.com -o json

# 综合安全评分
cert-skills analyze suspicious-host.com -o json

# 18 项证书检查
cert-skills scan-cert-security suspicious-host.com -o json

回答:这站证书长什么样?安不安全?有没有明显违规?

取证第一步:先 info 再 analyze

info 拿全貌(Subject/Issuer/SAN/有效期/指纹),analyze 拿风险评分。两者结合形成"目标画像"基线,后续所有判断都对照这个基线。

Phase 2 — 指纹化与归因

bash
# 服务端画像
cert-skills jarm suspicious-host.com -o json
cert-skills ja3 suspicious-host.com -o json

# 匹配已知服务库(重点看是否命中 c2 类别)
cert-skills match-fp suspicious-host.com -o json

# 提取证书保护的全部域名
cert-skills get-trusted-domains suspicious-host.com -o json

match-fp 命中 c2 类别(Cobalt Strike/Metasploit/Sliver)= 强信号。get-trusted-domains 可能暴露 SAN 里隐藏的其他域名。

SAN 是取证金矿

攻击者复用一张证书到多个钓鱼/C2 域名时,所有域名都会写进 SAN。get-trusted-domains 一次提取全部,常能发现主域名之外的关联资产——这些是扩张调查范围的关键线索。

Phase 3 — 检查信任与吊销状态

bash
# 是否含不可信 CA
cert-skills check-distrusted-ca suspicious-host.com -o json

# 证书是否被吊销
cert-skills check-revocation suspicious-host.com -o json

# 链是否可信
cert-skills verify-chain suspicious-host.com -o json

# 主机名是否匹配
cert-skills verify-hostname suspicious-host.com -o json

这一步回答:这站证书在浏览器/客户端眼里可信吗?有没有被吊销?主机名对不对得上?

Phase 4 — 追溯签发历史(CT 日志)

bash
# 在 CT 日志里搜该域名所有历史证书
cert-skills search-ct suspicious-domain.com -o json

# 子域枚举(可能发现更多相关资产)
cert-skills ct-enumerate suspicious-domain.com -o json

# 按当前证书指纹精确搜 CT(看何时签发、是否被多域名复用)
cert-skills fingerprint suspicious-host.com -o json | jq '.sha256'
cert-skills search-ct-fingerprint <sha256> -o json

CT 日志是公开审计的,能查到:这张证什么时候、由哪个 CA、给哪些域名签的。攻击者复用证书到多个钓鱼/C2 域名时,CT 会留下痕迹。

CT 是时间机器

当前证书只是"现在这一刻"的切片,CT 日志能查到该域名历史上所有公开 CA 签发的证书。攻击者换证、换 CA、扩张域名都能从 CT 追溯——这是取证区别于"实时扫描"的核心价值。

Phase 5 — 建立持续监控的基线

bash
# 保存当前快照,后续定期对比
cert-skills detect-change suspicious-host.com --save --snapshot-dir ./ir-case-001/

后续每周跑一次 detect-change,一旦证书换发(renewed/replaced)立即告警——攻击者轮换基础设施是常见规避手段。

取证必须留快照

--save 就无法证明"事件发生时证书是什么样",事后报告/法庭追溯缺证据。第一时间 detect-change --save 落盘到专属目录(如 ./ir-case-001/),是取证规范的基本动作。

取证时间线

反模式

  • 🚫 只看当前证书不查 CT——当前证只是时间切片,CT 能暴露历史与关联域。
  • 🚫 JARM 命中就下结论是 C2——需结合 category=c2、置信度、上下文(同款合法软件也会撞 JARM)。
  • 🚫 取证不留快照——不 --save 就无法证明"当时证书是什么样",法庭/报告不可追溯。
  • 🚫 只查吊销不查 distrusted-ca——被吊销的 CA 签的证,OCSP 可能已停,必须查 distrusted 清单。
  • 🚫 忽略主机名不匹配——主机名不匹配常是钓鱼/中间人最强信号。

下一步