TLS 证书与 SNI 线索是什么
加密流量看不到内容,但握手阶段是明文的:客户端在 SNI 扩展里声明要访问的主机名,服务器返回证书,其中的签发者、有效期、主体备用名称都能读到。恶意基础设施常用自签证书、陌生签发者与极短有效期,这些字段因此成为线索。
基本信息
| 用途 | 为加密流量提取访问目标线索 |
|---|---|
| 关键字段 | server_name、issuer、有效期、SAN、证书指纹 |
| 数据来源 | 抓包、TLS 日志、代理或网关的解密日志 |
| 注意 | 启用加密客户端问候时 SNI 不再明文可见 |
典型使用场景
- 加密流量下确认主机访问了哪些域名
- 通过自签证书定位内部扫描与非常规通信
- 用证书指纹与情报库比对基础设施复用
- 判断同一证书是否在多台主机间被复用
- 与 DNS 日志交叉核对,识别直连地址的行为
- 统计握手失败与异常中断,判断是否存在拦截或探测行为
列出清单
列出清单
tshark -r sample.pcap -Y 'tls.handshake.type==1' -T fields -e tls.handshake.extensions_server_name | sort | uniq -c | sort -rn | head
tshark -r sample.pcap -Y 'tls.handshake.type==11' -T fields -e x509sat.uTF8String -e x509ce.dNSName | head
tshark -r sample.pcap -Y 'tls.handshake.certificate' -T fields -e x509af.serialNumber -e x509af.utcTime | head
# 用自签或极短有效期的证书筛出非常规通信字段与判读
| 字段 | 含义 | 可疑表现 |
|---|---|---|
| server_name | 客户端声明访问的主机名 | 为空,或与目的地址归属不符 |
| issuer | 证书签发者 | 陌生签发者或自签 |
| 有效期 | 证书有效时间范围 | 有效期极短(数天) |
| SAN | 证书覆盖的其他域名 | 包含大量无关域名 |
| 证书指纹 | 证书唯一标识 | 与情报中已知基础设施一致 |
证书字段可以被仿冒,作为线索使用;要成为结论,需要结合时间、主机侧证据与进程归属一起看。
启用加密客户端问候后 SNI 不再明文可见,此时改用目的地址、证书指纹与连接模式这几个维度继续分析。
导出证书时把完整证书与指纹一并留存,后续与其他主机或情报比对时才有可用的对照物。