Atom
HTB - Footprinting 第一章

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 等級、網路設定、設定檔、敏感檔案

從一個網域挖出整張攻擊面清單

  1. 從官網 & 證書開始

    典型流程會從幾件事開始:

    • 先讀公司主網站內容:看有哪些服務、關鍵字、技術名詞,去猜它背後可能長什麼樣。
    • 檢查 SSL 憑證:很多公司會在同一張憑證裡掛多個子網域,可以從憑證或 Certificate Transparency logs 找出來。

    例如使用 crt.sh 查一個網域:

    1
    curl -s "https://crt.sh/?q=example.com&output=json" | jq .

    然後再把 name_value 抽出來當子網域清單用。

  2. 分出東西是屬於客戶還是第三方託管

    拿到子網域後,可以用 host 或 dig 查 IP,排除 AWS / Cloudflare 等託管 IP:

    1
    2
    3
    for s in $(cat subdomains.txt); do
    host "$s" | grep "has address" | grep example.com
    done

    只留下需要 IP 之後,可以拿去:

    • 丟 Shodan / Censys 看歷史開放 port、banner、SSL 設定等
    • 整理出一份「正式對外服務清單」
      整理完就知會知道哪些IP是值得嘗試攻擊的主機
  3. 用 DNS ANY + TXT 找出服務供應商地圖

    下一步是查主要網域的 DNS 記錄:

    1
    dig any example.com

    重點需要查看的地方:

    • A / AAAA 記錄:有哪些 IP、是不是有多台 behind 一個 FQDN
    • MX 記錄:是自架 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時實操方面比較少。

結尾

  1. 先理解標的
    從官網、簡介、新聞稿開始,知道它是物流、金融、SaaS 還是製造業。
  2. 畫出對外基礎設施地圖
    網域 / 子網域 / vHost
    IP 範圍、雲端託管、CDN、防火牆 / WAF
  3. 整理出服務清單
    每台主機有哪些 port、跑什麼版本
    哪些是關鍵服務(mail、VPN、管理介面…)
  4. 補上人與雲的資訊
    從職缺 / LinkedIn / GitHub 推敲技術棧與安全成熟度
    從 S3 / Blob / GCS 找公開儲存與敏感檔案
  5. 最後才是判斷挑最有機會、最有影響力的一兩條路,往下進行滲透。

本文作者:Atom
本文鏈接:https://d0ngd.github.io/2025/12/31/HTB - Footprinting/
版權聲明:本文採用 CC BY-NC-SA 3.0 CN 協議進行許可