分析TLS证书透明度日志 是做什么的?
何时使用
- 调查需要分析TLS证书透明度日志的安全事件时
- 为此领域构建检测规则或威胁狩猎查询时
- SOC分析师需要此类分析的结构化流程时
- 验证相关攻击技术安全监控覆盖范围时
前提条件
- 熟悉安全运维概念和工具
- 拥有用于安全执行的测试或实验环境
- 已安装Python 3.8+及所需依赖项
- 具备任何测试活动的适当授权
操作说明
查询crt.sh证书透明度数据库,查找为与组织品牌相似的域名签发的证书,检测钓鱼基础设施。
from pycrtsh import Crtsh
c = Crtsh()
# 搜索匹配某个域名的证书
certs = c.search("example.com")
for cert in certs:
print(cert["id"], cert["name_value"])
# 获取完整证书详情
details = c.get(certs[0]["id"], type="id")
关键分析步骤:
- 查询crt.sh获取匹配你域名模式的所有证书
- 识别存在拼写变异(编辑距离)的证书
- 标记来自异常证书颁发机构的证书
- 监控可疑子域名上的通配符证书
- 与已知钓鱼基础设施交叉引用
示例
from pycrtsh import Crtsh
c = Crtsh()
certs = c.search("%.example.com")
for cert in certs:
print(f"签发者: {cert.get('issuer_name')}, 域名: {cert.get('name_value')}")