前言#
渗透测试信息收集阶段通常会对目标企业的根域名进行收集,已备案的域名可以通过 ICP 备案号反查和 Whois 数据查询得到,而未备案的域名则有一些特殊的收集方式。
通过 HTTP 特征来收集目标的根域名资产就是其中的一个方式。我们可以通过 FOFA 和 Shodan 等安全类搜索引擎来发现一些与目标企业相关的根域名。
需要注意的是,通过这些方式收集到的根域名资产并不一定属于测试目标,这些方法仅作为可选的拓展项。在使用这些方法时,应当谨慎处理收集到的信息。
Certificate#
FOFA 语法
cert.subject.org="target" && is_domain=true
演示示例
在数字证书中,Issuer、Subject、Organization 和 CommonName 这些字段都扮演着重要的角色:
- Issuer: 颁发者字段,标识已签署和颁发证书的实体。颁发者字段必须包含一个非空的可分辨名称 (DN)。
- Subject: 主题字段,标识与存储在主题公钥字段中的公钥相关联的实体。主题名称可以在主题字段和 / 或 subjectAltName 扩展中携带。
- Organization (O): 组织名称,标识持有证书的组织或公司。
- CommonName (CN): 常用名称,对于个人可能是个人名字,对于服务器证书则通常是域名。
HTTP 标头#
Content-Security-Policy-Report-Only
标头可以提供一些关于网站如何处理跨源请求的信息,但可能不会直接提供关于企业根域名的详细信息。
通过 Content-Security-Policy-Report-Only
可以收集到一些与目标企业相关的根域名。
FOFA 语法
host="target.com" && header="Content-Security-Policy-Report-Only"
演示示例
类似的标头还有 Content-Security-Policy、Set-Cookie 等,在这些标头中也有可能出现与目标企业相关的根域名。
NS 服务器#
在某些情况下,企业内部的域名只需要企业内部人员可以访问,使用自建的 DNS 服务器可以实现这一点。
虽然我们无法直接访问企业内部自建的 NS 服务器,但可以通过已有的数据来查询曾经出现过解析记录的 NS 服务器数据。
通过 HackerTarget Find Shared DNS Servers 工具可以实现这一点。
在查询企业 NS 服务器之前,需要先通过查询域名的 NS 服务器来获取 NS 服务器的 IP 或主机名。
$ nslookup -type=ns qq.com
qq.com nameserver = ns1.qq.com.
qq.com nameserver = ns2.qq.com.
qq.com nameserver = ns4.qq.com.
qq.com nameserver = ns3.qq.com.