SSL 证书有什么用,对信息收集有什么帮助
SSL/TLS 证书的作用
SSL/TLS 证书是网络安全中的基石,它主要有两大核心作用:
- 加密通信(机密性):证书使得浏览器和服务器之间传输的数据流得以加密,防止数据在传输过程中被窃听或篡改。这是实现 HTTPS(HTTP Secure)的基础。
- 身份验证(可信度):证书证明了你所连接的服务器确实是它声称的那个组织所有。证书中包含的公钥由可信的证书颁发机构(CA)签名,用户可以验证该证书是否合法,从而建立对服务器身份的信任
如何利用 HTTPS 证书收集子域名
对于渗透测试和资产发现而言,SSL/TLS 证书是一个极其宝贵的公共数据源。它能帮助我们发现目标企业隐藏的、未公开的或用于测试的子域名。
原理:证书透明度(Certificate Transparency, CT)
为了防止证书颁发机构(CA)恶意签发证书,行业强制要求所有新签发的 SSL/TLS 证书必须记录在一个公共、透明的日志系统中。这些日志被称为 证书透明度日志(CT Logs)
这意味着,一旦目标企业为任何域名(无论是主站还是内部测试子域)签发了证书,这个域名就会被公开记录
步骤:利用 CT Logs 发现资产
- 查找平台:使用提供 CT Logs 搜索接口的平台,最著名且常用的就是
crt.sh
- 输入查询:在
crt.sh
中输入目标企业的顶级域名或公司名称 - 提取域名:搜索结果将返回所有与该企业相关的证书记录。你需要关注以下两个字段:
- Common Name (CN):证书的主要名称
- Subject Alternative Names (SAN):证书的主题备用名称。这是一个证书中最重要的资产字段,一个证书通常会保护多个子域名,这些子域名都会被列在 SANs 中
案例说明
假设你查询了主域名 example.com
,可能会在 crt.sh
的结果中发现一个证书的 SAN 字段包含:
www.example.com
(已知主站)dev.example.com
(开发环境)api.internal.example.com
(内部 API 接口)old.hr-system.example.com
(遗留的 HR 系统)
这些被发现的子域名,往往是非公开或非标准的,但它们与主站共享相同的安全身份(证书),因此被确认为高价值的边缘资产