HTB - Footprinting 第一章
說不定哪天可以去應徵徵信社用得上。
Enumeration-列舉
我們的原則有三點:
1.表面看到的不代表全部
不只看你看得到的東西,也要思考看不到的部份:例如只看到 Web 介面,背後是不是還有 API、排程、訊息佇列、內部管理系統?
2.區分看到與沒看到的原因
我看到某個服務,是因為被刻意暴露?還是歷史遺留沒關掉?
我看不到某些東西,是被 WAF/Firewall 藏起來,還是它真的不存在?
3.永遠還有下一步可以問的問題
每拿到一筆新資訊,都問自己:
它告訴了我什麼?
有沒有下一個可以查的方向?(例如從 DNS TXT 找到第三方服務、再往該服務的子網域走)
找出所有可能打進去的方式,並理解每一條路背後的邏輯。
這就是Enumeration
HTB把我們整個偵蒐流程分成三大層級:
- 基礎設施枚舉(Infrastructure-based)
- 主機枚舉(Host-based)
- 作業系統枚舉(OS-based)
在基礎設施這一段,會經過六層:
| Layer | 目標 | 典型資訊種類 |
|---|---|---|
| 1. Internet Presence | 找出公司所有對外存在 | 網域、ASN、IP、雲端、安全服務 |
| 2. Gateway | 確認邊界防護 | 防火牆、DMZ、IPS/IDS、EDR、Proxy、NAC、VPN、Cloudflare |
| 3. Accessible Services | 列出開放的服務介面 | 服務種類、用途、port、版本、對外介面 |
| 4. Processes | 看服務背後實際流程 | PID、資料流向、來源與目的端 |
| 5. Privileges | 確認權限 | 使用者/群組、限制、環境變數 |
| 6. OS Setup | 系統設定與檔案 | OS 類型、Patch 等級、網路設定、設定檔、敏感檔案 |
從一個網域挖出整張攻擊面清單
從官網 & 證書開始典型流程會從幾件事開始:
- 先讀公司主網站內容:看有哪些服務、關鍵字、技術名詞,去猜它背後可能長什麼樣。
- 檢查 SSL 憑證:很多公司會在同一張憑證裡掛多個子網域,可以從憑證或 Certificate Transparency logs 找出來。
例如使用 crt.sh 查一個網域:
1
curl -s "https://crt.sh/?q=example.com&output=json" | jq .
然後再把 name_value 抽出來當子網域清單用。分出東西是屬於客戶還是第三方託管拿到子網域後,可以用 host 或 dig 查 IP,排除 AWS / Cloudflare 等託管 IP:
1
2
3for s in $(cat subdomains.txt); do
host "$s" | grep "has address" | grep example.com
done只留下需要 IP 之後,可以拿去:
- 丟 Shodan / Censys 看歷史開放 port、banner、SSL 設定等
- 整理出一份「正式對外服務清單」
整理完就知會知道哪些IP是值得嘗試攻擊的主機
用 DNS ANY + TXT 找出服務供應商地圖下一步是查主要網域的 DNS 記錄:
1
dig any example.com重點需要查看的地方:
A / AAAA 記錄:有哪些 IP、是不是有多台 behind 一個 FQDNMX 記錄:是自架 mail server,還是 Google / Microsoft 代管NS 記錄:用哪一家註冊 / DNS 服務商TXT 記錄:SPF / DMARC / DKIM 等
各種
verification字樣,指向:- Atlassian(Jira / Confluence)
- Google / Gmail / GSuite
- LogMeIn / remote access 平台
- Mailgun、其他 Email API
- Office 365 / Outlook
透過 TXT,我們可以知道目標公司用了哪些SaaS和雲端服務的列表
這個列表在後續進行:- 密碼重複使用 / 單一登入平台風險評估
- 開放分享的 GDrive / OneDrive / SharePoint
- 各種 API 端點(Mailgun / 自家 API Gateway)
都會很有幫助。
雲端跟社交工程這邊就不贅述了,在進行lab時實操方面比較少。
結尾
先理解標的
從官網、簡介、新聞稿開始,知道它是物流、金融、SaaS 還是製造業。畫出對外基礎設施地圖
網域 / 子網域 / vHost
IP 範圍、雲端託管、CDN、防火牆 / WAF整理出服務清單
每台主機有哪些 port、跑什麼版本
哪些是關鍵服務(mail、VPN、管理介面…)補上人與雲的資訊
從職缺 / LinkedIn / GitHub 推敲技術棧與安全成熟度
從 S3 / Blob / GCS 找公開儲存與敏感檔案最後才是判斷挑最有機會、最有影響力的一兩條路,往下進行滲透。