CS KAIROS · LEARNING LIBRARY

M02-08 · 足跡蒐集防護與證據紀錄

將公開足跡轉為分層防護與可追溯的證據紀錄,並核驗改善成效。

CEH M02-08|足跡蒐集防護與證據紀錄:從「找到資訊」到「改善並驗收」

1|先記住這個結論

足跡蒐集的防護,是讓適合公開的資訊清楚可用、敏感資訊受到適當保護,並用完整紀錄追蹤每項改善。

想像一家合成的「青禾咖啡」整理店面:菜單與營業時間放在門口;員工排班、供應商帳號和備用鑰匙放在受控空間。每次調整都記下「發現什麼、誰負責、怎麼處理、如何確認」。網站與雲端服務也採用這個思路:先盤點外界能取得的資訊,再依用途安排公開、限制存取、更新與持續複查。

Footprinting(足跡蒐集)是整理組織、人員、網域、系統與服務留下的線索。Countermeasure(防護措施)是針對風險採取的管理或技術作法。Evidence Record(證據紀錄)則保存觀察來源、取得方式、時間與處理結果,讓其他人能沿著紀錄理解和複核。

前幾課分別認識搜尋引擎、DNS、郵件、網路與人員來源;今天把它們整合成一個完整工作流程:盤點 → 查核 → 分級 → 改善 → 驗收 → 複查。這是本課整理方式,六個步驟供實務理解使用。

2|先界定範圍,再建立公開資訊基準

正式開始前,先寫清楚目標資產、負責人、允許的方法、時間與資料保存位置。例如:「盤點已授權的青禾咖啡官網及官方社群,檢查公開文件與測試環境連結;實際服務測試由網站管理者在核定環境執行。」

Passive Reconnaissance(被動偵察)可從第三方搜尋結果與已取得資料著手;Active Reconnaissance(主動偵察)會直接與目標互動,例如對目標服務發出探測請求。兩者各自對應授權方法;直接開啟官網也會產生對該網站的連線紀錄。把實際方法寫下來,比只貼「被動」標籤更清楚。

Baseline(基準)是某個時間點已核實的正常狀態。例子是:「正式官網提供菜單、營業時間與客服信箱;管理入口限指定管道;測試資料只供測試人員使用。」之後看到新增子網域、過期聯絡人或外露測試文件,就有比較依據。

盤點可以從五個面向進行:

- 公開內容:網頁、照片、可下載文件、社群與徵才資訊。

- 名稱與聯絡:網域、DNS 紀錄、註冊聯絡方式、官方信箱。

- 技術入口:正式服務、管理介面、測試環境、停用服務。

- 身分與流程:對外窗口、敏感申請的核准及回覆管道。

- 外部副本:搜尋結果、第三方引用與歷史版本的可見狀態。

Attack Surface(攻擊面)包含系統可被接觸的入口、出口及相關資料。OWASP 建議先建立圖與紀錄,再隨系統變更更新盤點。OWASP 攻擊面分析

3|防護要對準目標:內容、索引、權限與服務分工

先問「希望改變什麼」,再選工具。

公開內容管理:對外文件使用公開版,發布前檢查照片背景、文件作者資訊、修訂內容、內部路徑與專案名稱。正式客服窗口採角色型信箱並保持更新,兼顧可聯絡性與個人資料保護。原始檔依內部保存規則保留,公開版另標版本。

搜尋索引管理:noindex 是交給支援此規則的搜尋引擎的索引指示。公開測試介紹頁可以正常開啟,同時設定 noindex 管理搜尋呈現。Google 需要爬取頁面才能讀到這項指示;robots.txt 用於規範爬取路徑,應和索引目標一起規劃。Google noindex 官方說明

資料存取管理:內部文件由 Authentication(身分驗證)確認使用者身分,再由 Authorization(授權)決定可讀取哪些文件、執行哪些操作。Least Privilege(最小權限)是只給完成任務需要的權限。每次請求都在適當的伺服器端檢查,直接下載檔案也納入同一套規則。OWASP 授權指引

服務與網域管理:保留業務需要的公開 DNS 紀錄;退役服務時一起檢查 DNS、雲端資源與資產清單。管理介面依核定網路與身分條件開放。DNS 區域傳送依授權的次要伺服器設定;軟體更新、關閉不必要服務、精簡對外錯誤訊息,各有明確負責人。

以上是不同層次的控制。例如版本資訊精簡,減少對外技術細節;修補則處理軟體弱點;存取控制決定誰能使用服務。組合時先保障必要業務,再用驗收確認預期效果。

圖 1|依保護目標選控制

公開內容、搜尋索引、資料權限與服務設定,各自對應保護目標。

圖中文字最大不超過內文;欄寬不足時整張圖等比縮小,可閱讀下方會換行的圖解文字,或開啟原圖放大。

圖 1|依保護目標選控制 公開內容、搜尋索引、資料權限與服務設定,各自對應保護目標。 圖 1|依保護目標選控制 公開內容 保留菜單、營業時間與正式窗口 文件另製公開版,檢查中繼資料 搜尋呈現 公開頁的 noindex 管理索引 讓支援規則的爬蟲取得指示 資料存取 驗證身分,再檢查每項權限 頁面與直接檔案下載使用同一規則 服務管理 盤點入口、更新軟體、管理退役 依需求設定網路與管理介面 依資料用途組合控制,驗收各自的效果。
讀圖重點
公開內容、搜尋索引、資料權限與服務設定,各自對應保護目標。

並列卡片比較不同類別;排列順序沒有流程意涵。

  1. 公開內容

    保留菜單、營業時間與正式窗口

    文件另製公開版,檢查中繼資料

  2. 搜尋呈現

    公開頁的 noindex 管理索引

    讓支援規則的爬蟲取得指示

  3. 資料存取

    驗證身分,再檢查每項權限

    頁面與直接檔案下載使用同一規則

  4. 服務管理

    盤點入口、更新軟體、管理退役

    依需求設定網路與管理介面

依資料用途組合控制,驗收各自的效果。

4|將發現分級:先處理影響大的、可立即降低風險的項目

Risk(風險)評估會一起考量發生可能性與影響。足跡盤點可先看四項:資料敏感度、實際可存取範圍、可被利用的方式、影響的業務。以下是教學案例的處理順序,實務依組織標準調整。

第一類,已確認公開的有效密鑰、憑證秘密或敏感資料。立即交由授權的事件應變窗口處理;依核定程序限制暴露、撤銷或輪替受影響秘密,並保全必要紀錄。秘密撤銷和內容移除一起追蹤,才涵蓋資料已被取得的情況。

第二類,過期系統、外露管理入口或可被用來編造釣魚情境的內部資訊。核對現況與業務需求,安排修補、權限調整或內容修訂,附負責人與期限。

第三類,正常業務公開資訊。保留正確內容、正式聯絡管道及更新日期,列入定期複查。

Confidence(可信程度)另外記錄。例如「已親自觀察」「管理者確認」「第三方聲稱,待核」。高影響但待核的線索,可優先查核並採取合理保護;記錄中持續保留目前證據狀態。嚴重程度回答影響多大,可信程度回答依據多充分。

5|證據紀錄:讓別人接手也看得懂

可以把每項發現想成一張有編號的維修單。以下是本課建議欄位:

- 識別與範圍:發現編號、資產、查核目的、授權範圍。

- 來源與取得:原始網址或檔案位置、發布者、取得人、工具或方式、觀察時的登入角色。

- 時間:來源標示的發布或事件時間、實際取得時間、時區。

- 證據:最小必要的原始節錄或檔案、受控保存位置、檔案雜湊值。

- 判讀:直接觀察、分析推論、可信程度、待補問題。

- 處理與驗收:風險、負責人、期限、變更紀錄、複測方法與結果。

例如 `2026-11-01T18:20:00+08:00` 表示台灣時間 11 月 1 日 18:20,對應 UTC 10:20。保留原始時間與時區,再加統一換算欄位;來源沒有提供時間時,就記「來源時間未提供」。

觀察、推論、行動分三欄會特別清楚:

觀察:「18:20,以未登入瀏覽器開啟核定測試頁,畫面顯示合成員工名單。」

推論:「此頁的公開存取設定,與『僅供內部測試』的資料用途有落差。」

行動:「請網站負責人調整權限,以未登入、一般員工、核准測試人員三種角色複測。」

NIST SP 800-86 提供把數位鑑識技術納入事件應變的框架,可作為蒐集、檢視、分析與報告的延伸閱讀。NIST SP 800-86

圖 2|觀察、推論、行動分開記

由直接觀察形成可檢驗推論,再指定經授權的處理與驗收。

圖中文字最大不超過內文;欄寬不足時整張圖等比縮小,可閱讀下方會換行的圖解文字,或開啟原圖放大。

圖 2|觀察、推論、行動分開記 由直接觀察形成可檢驗推論,再指定經授權的處理與驗收。 圖 2|觀察、推論、行動分開記 觀察 Observation 未登入時,測試頁顯示合成名單 記錄時間、來源、角色與取得方法 推論 Inference 公開存取與內部測試用途有落差 列目前可信程度與待核事項 行動 Action 由網站負責人修正伺服器端授權 另定負責人、期限與驗收方法 複核 Review 三種角色與直接下載路徑重測 以實際結果更新發現狀態 情境與角色均為合成教學資料。
讀圖重點
由直接觀察形成可檢驗推論,再指定經授權的處理與驗收。

箭頭表示教學步驟順序;各步依其條件執行。

  1. 觀察 Observation

    未登入時,測試頁顯示合成名單

    記錄時間、來源、角色與取得方法

  2. 推論 Inference

    公開存取與內部測試用途有落差

    列目前可信程度與待核事項

  3. 行動 Action

    由網站負責人修正伺服器端授權

    另定負責人、期限與驗收方法

  4. 複核 Review

    三種角色與直接下載路徑重測

    以實際結果更新發現狀態

情境與角色均為合成教學資料。

6|原始資料、雜湊值與保管鏈怎麼搭配?

Original Evidence(原始證據資料)是取得時保留的內容;Working Copy(工作副本)用於註記、分析與遮罩。假設保存了一張頁面截圖,原檔放在受控位置;要標紅框或遮掉個資時,另做工作副本,並記下處理方式。

Hash(雜湊)把一段資料計算成固定長度的摘要;SHA-256 是常見演算法。對同一份檔案重新計算相同演算法,結果一致可用來核對檔案位元組的一致性。來源身分、取得時間與內容脈絡則由取得紀錄及交叉查核支撐。這些資料合在一起,形成可追溯的證據包。

Chain of Custody(證據保管鏈)記錄由誰在何時取得、保管、交付或處理資料,以及目的與位置。例如:「取得人存入受控資料夾 → 分析人讀取工作副本 → 審查人確認摘要」,每步都有時間與操作紀錄。RFC 3227 說明證據蒐集、保存、隱私與保管鏈的重要性。RFC 3227:證據蒐集與保存

以下是完全離線的 Python 練習,只對合成文字計算 SHA-256:

import hashlib

data = b"abc"
print(hashlib.sha256(data).hexdigest())

預期輸出:

ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad

這個例子剛好是三個位元組 `abc`。在字尾加入換行,就成為另一份位元組資料,摘要也會改變。因此真正保存檔案時,要對保存下來的實際檔案計算,保留演算法名稱與完整結果。

資料保存採最小必要原則;公開報告使用遮罩版,原始敏感內容依授權保管。保存期限、可存取角色與刪除規則,依組織程序設定。若涉及正式事件或司法用途,再由相應專業流程接手。

圖 3|原始資料與保管紀錄相互連結

原始檔受控保存;工作副本用於分析與遮罩;取得、交付與操作另留紀錄。

圖中文字最大不超過內文;欄寬不足時整張圖等比縮小,可閱讀下方會換行的圖解文字,或開啟原圖放大。

圖 3|原始資料與保管紀錄相互連結 原始檔受控保存;工作副本用於分析與遮罩;取得、交付與操作另留紀錄。 圖 3|原始資料與保管紀錄相互連結 取得與識別 發現編號、來源、取得人、時間與時區 記錄授權範圍及取得方式 保存原始資料 受控位置、原始檔案、SHA-256 摘要用於核對位元組一致性 建立工作副本 另存分析與遮罩版 保留副本與原檔的關聯及處理方式 追蹤保管與使用 誰、何時、做什麼、目的與位置 依程序管理權限、期限與交付 公開報告用遮罩版;原始資料依授權保存。
讀圖重點
原始檔受控保存;工作副本用於分析與遮罩;取得、交付與操作另留紀錄。

箭頭表示教學步驟順序;各步依其條件執行。

  1. 取得與識別

    發現編號、來源、取得人、時間與時區

    記錄授權範圍及取得方式

  2. 保存原始資料

    受控位置、原始檔案、SHA-256

    摘要用於核對位元組一致性

  3. 建立工作副本

    另存分析與遮罩版

    保留副本與原檔的關聯及處理方式

  4. 追蹤保管與使用

    誰、何時、做什麼、目的與位置

    依程序管理權限、期限與交付

公開報告用遮罩版;原始資料依授權保存。

7|完整案例:一項發現如何走到結案?

以下都是合成情境,沒有對任何第三方服務操作。

青禾咖啡的測試頁 `https://portal.example/test/` 原本供三位測試人員使用。授權盤點發現,未登入者可讀取合成員工名單;頁面已設 noindex。負責人確認頁面用途是內部測試。

發現紀錄 F-008:保存網址、取得時間、未登入角色、最小必要截圖、原始檔案位置及 SHA-256。觀察寫實際看到的資料;風險寫測試內容的存取範圍與預期使用者有落差。

改善安排:網站負責人將頁面及下載檔納入伺服器端授權檢查,確認只有核准測試群組可存取;公開說明頁是否保留則由業務負責人決定。原測試資料依保存程序處理。

驗收條件:未登入者收到登入要求或拒絕回應;一般員工受到權限限制;核准測試人員可正常使用;直接檔案網址也遵守同樣授權規則。把三種角色、測試時間、實際結果和變更版本記下來。

結案與追蹤:管理者完成設定後,查核人依原問題複測;條件均符合,才把 F-008 改成「已驗收」。若搜尋結果或其他副本仍需要更新,另外保留追蹤項目與負責人,讓權限改善與外部呈現各自有完成依據。

可以用四種狀態管理:待查核、已確認待處理、已改善待驗收、已驗收。狀態描述的是工作進度;每次變動都有依據,之後發現新問題就重新開啟處理。

圖 4|改善有成果,結案有驗收

F-008 由待查核到已驗收,保留變更、角色測試與實際結果。

圖中文字最大不超過內文;欄寬不足時整張圖等比縮小,可閱讀下方會換行的圖解文字,或開啟原圖放大。

圖 4|改善有成果,結案有驗收 F-008 由待查核到已驗收,保留變更、角色測試與實際結果。 圖 4|改善有成果,結案有驗收 待查核 確認來源、現況與授權 把第三方聲稱列為待核線索 已確認待處理 記錄用途落差、風險、負責人與期限 安排權限及直接下載路徑的改善 已改善待驗收 未登入|一般員工|核准測試人員 以原問題與同樣路徑複測 已驗收 保存時間、版本與每項實際結果 外部副本與後續複查另行追蹤 每次狀態改變都有紀錄;新問題重新開啟。
讀圖重點
F-008 由待查核到已驗收,保留變更、角色測試與實際結果。

箭頭表示教學步驟順序;各步依其條件執行。

  1. 待查核

    確認來源、現況與授權

    把第三方聲稱列為待核線索

  2. 已確認待處理

    記錄用途落差、風險、負責人與期限

    安排權限及直接下載路徑的改善

  3. 已改善待驗收

    未登入|一般員工|核准測試人員

    以原問題與同樣路徑複測

  4. 已驗收

    保存時間、版本與每項實際結果

    外部副本與後續複查另行追蹤

每次狀態改變都有紀錄;新問題重新開啟。

8|防護也需要日誌與複查

Log(日誌)是系統按時間記錄的事件。對本課案例,登入結果、授權拒絕、管理設定變更與檔案存取紀錄,可協助了解改善前後的運作。將事件時間、來源、對象、動作及結果整理一致,才能做關聯查核。

日誌本身也需要權限、完整性與保存管理;紀錄內容依目的取捨,密碼、完整存取權杖與不必要的敏感資料採排除或適當遮罩。OWASP 的日誌指引涵蓋事件選擇、敏感資料處理、測試與保護。OWASP Logging Cheat Sheet

複查可在網站改版、新增供應商、服務退役、員工窗口異動後進行,並安排例行檢查。重點是對照基準,找出「新增了什麼、誰負責、公開用途是否仍合適」。

本課把 M02 的各種來源接回同一張改善清單:搜尋與文件 → 內容及權限;DNS 與網域 → 生命週期及管理責任;郵件 → 授權政策及獨立查證;網路 → 服務暴露與存取範圍;社群與外洩線索 → 發布規範及事件查核。這張清單讓技術資訊轉成可執行的防護工作。

9|離線練習、小檢核與本章收束

練習:用第 7 節案例寫一張 F-008 紀錄,至少包含時間、來源、直接觀察、改善、負責角色與驗收條件。再把一份合成檔案的原始版和遮罩版分開命名,各自計算摘要,觀察兩份紀錄如何連結。

小檢核一:內部測試名單目前公開可讀,已設定 noindex。要讓核准測試人員使用,最直接的措施是什麼?A.把網址加長;B.伺服器端身分驗證與授權;C.增加搜尋關鍵字;D.只改頁面標題。

小檢核二:保存檔案的 SHA-256 和當初紀錄相同,這項比對主要回答什麼問題?A.檔案位元組與當初摘要是否一致;B.作者的真實身分;C.來源發布日期;D.觀察者是否已完成改善。

小檢核三:「網站人員已改好設定」之後,請寫出兩項你會做的驗收檢查,以及一項會保存的結果紀錄。

小檢核四:第三方聲稱某舊測試站仍公開資料。請各寫一句「目前已知」「待核事項」「下一步」,並說明查核前要先確認什麼授權範圍。

參考解答已另行整理;網站發布核實後提供解答連結。實際作答及理解狀態依你的回覆記錄。

今天帶走一句話:每項發現都有來源,每項改善都有負責人,每次結案都有驗收。

M02 在這裡完成足跡蒐集、防護與紀錄的串連;接下來依路線進入 M03-01:IP、TCP、UDP、Port 與 Service,先把網路掃描需要的基礎拼圖建立起來。

參考解答:小檢核一

答案:B。把身分驗證及逐次授權放在伺服器端,讓核准測試群組使用名單與下載檔。noindex處理搜尋索引,存取規則處理誰能讀取;驗收同時測未登入、一般員工與核准測試人員。

參考解答:小檢核二

答案:A。SHA-256比對用於核對檔案位元組與原先摘要的一致性。來源、作者、時間與取得脈絡由其他紀錄支撐;實務保留原始檔、演算法、完整摘要及取得紀錄。

參考解答:小檢核三

參考答案:以未登入狀態確認名單及直接下載網址受到限制;再用核准測試帳號確認正常功能。也可加入已登入但未授權的一般員工測試。保存測試角色、日期時區、網址、版本、實際回應與最小必要截圖。依原本驗收條件逐項核對後,才記已驗收。

參考解答:小檢核四

參考答案:目前已知是第三方在某時間提出舊測試站公開資料的聲稱,先保存其來源與上下文。待核是站點歸屬、目前暴露情形、資料分類及既有處置。下一步向資產負責人確認,再依核定方法查核。先確認目標範圍、允許的連線或資料取得方式、時段、負責人與保存規則;初步狀態記待查核。

概念 Q&A

待補:收到相關問題後,會整理為匿名教學版。