前言#
渗透测试信息收集阶段通常会对目标企业的根域名进行收集,已备案的域名可以通过 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.