| name | analyzing-tls-certificate-transparency-logs |
| description | 通过 crt.sh 和 pycrtsh 查询证书透明度(Certificate Transparency)日志,检测钓鱼域名、未授权证书签发和影子 IT。使用 Levenshtein 距离监控新签发证书中的仿域名和品牌仿冒行为。适用于主动检测钓鱼域名和证书监控。
|
| domain | cybersecurity |
| subdomain | security-operations |
| tags | ["analyzing","tls","certificate","transparency"] |
| version | 1.0 |
| author | mahipal |
| license | Apache-2.0 |
分析 TLS 证书透明度日志
使用说明
通过查询 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 获取与您的域名模式匹配的所有证书
- 使用 Levenshtein 距离识别仿域名变体
- 标记来自非预期 CA 的证书
- 监控可疑子域名上的通配符证书
- 与已知钓鱼基础设施进行交叉验证
示例
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')}")