你的公司在公網上暴露了什麼:攻擊面盤點

多數公司的資產清冊是從內部視角寫出來的:財產編號、機器名稱、負責單位、擺在哪一間機房。攻擊面盤點問的是另一個問題——從公司以外的網路看進來,你有哪些位址、哪些名稱、哪些服務是會回應的。這兩份清單通常對不起來,而且差距幾乎永遠是同一個方向:外面看得到的,比裡面記得的多。

差距的來源不是誰失職。申請一張憑證會留下公開紀錄,一個部門自己開的雲端測試環境不會經過資訊部門,一台廠商代管的設備上線時順手開了管理介面。每一件事單獨看都合理,加起來就是一份沒有人擁有的對外清單。

這篇文章講怎麼把那份清單找回來:攻擊者用哪些公開來源推導你的資產、哪幾類最常被漏掉、不用買工具也能做完的五個步驟,以及盤到之後每一項該怎麼處置。

從一個網域名稱推導出可攻擊清單起點是一個公開的網域名稱。攻擊者從網域註冊與自治系統紀錄、DNS 紀錄與反查、憑證透明度紀錄、公開的程式碼與文件四類公開來源,組出候選的 IP 段、子網域與主機名清單;接著實際探測哪些位址會回應,再從回應內容判斷服務與版本,最後與已知被利用漏洞目錄比對,得到可利用的候選清單。前三段完全使用公開紀錄,不接觸目標系統。一個網域名稱公開可查網域註冊與 ASN 紀錄T1590DNS 紀錄與反查T1590.002憑證透明度紀錄T1596.003公開程式碼與文件T1593候選清單IP 段、子網域會回應的位址連接埠掃描可利用的候選比對 KEV 目錄這一段不接觸你的系統,你的日誌上不會有紀錄這一段才碰到你的系統整條鏈是自動化、持續執行的,而且不是為你一家而跑
  • 公開紀錄,不接觸你的系統
  • 實際探測你的位址
  • 可利用的候選清單
FIG 01 從一個網域名稱到一份可利用的候選清單。左邊三段只用公開紀錄,你的日誌上不會留下任何痕跡;只有最右邊兩格會真的碰到你的系統,而那看起來只是一次普通的掃描。
圖說文字版

從一個公開的網域名稱推導到一份可利用的候選清單,共四段;前三段只用公開紀錄,不接觸目標系統。

第一段:起點

  • 一個網域名稱,任何人都查得到。

第二段:四類公開來源

  • 網域註冊與 ASN 紀錄(ATT&CK T1590):查出組織名下的網段。
  • DNS 紀錄與反查(T1590.002):查出主機名與對應位址。
  • 憑證透明度紀錄(T1596.003):查出所有申請過憑證的子網域,包含內部用途的名稱。
  • 公開程式碼與文件(T1593):從程式碼平台、簡報與求職資訊取得系統名稱與網址。

第三段:候選清單

  • 四類來源合併成候選的 IP 段、子網域與主機名清單。
  • 到這一步為止都沒有送出任何一個封包給目標。

第四段:實際探測

  • 連接埠掃描:測出候選清單裡哪些位址會回應。
  • 從回應內容判斷服務與版本,再與已知被利用漏洞目錄(KEV)比對,得到可利用的候選清單。

要看出來的事

  • 前三段完全在你的日誌之外,你不會知道有人做過。
  • 只有最後一段會碰到你的系統,而那只是一次普通的掃描。
  • 整條鏈是自動化、持續執行的,而且不是為你一家而跑。

攻擊者從一個網域名稱能推出多少東西

在攻擊鏈裡這個階段叫偵察(TA0043),它發生在任何一次連線之前。攻擊者手上通常只有一個公司名稱和一個網域,而這兩樣東西足以推出一份相當完整的資產清單,過程中完全不需要碰到你的系統,因此你也不會知道它發生過。

公開來源能得到什麼技術編號
網域註冊與 ASN 紀錄這家公司名下的 IP 段T1590
DNS 紀錄與反查主機名與對應位址T1590.002
憑證透明度紀錄所有申請過憑證的子網域T1596.003
公開程式碼與文件系統名稱、內部網址、技術棧T1593

網域註冊資料現在透過 RDAP 查詢,它會告訴對方你的網段掛在哪一個自治系統(ASN)底下——換句話說,只要查得到你的 ASN,你的整段公網位址就是公開資訊,這正是蒐集受害者網路資訊(T1590)這個技術編號在做的事。

其中最常被低估的是憑證透明度紀錄。每一張公開信任的 TLS 憑證都會被登錄進公開可查的紀錄,任何人都能用網域名稱把歷來簽發過的憑證全部列出來。多數人不知道的是:vpn-test.example.comhr-uat.example.com 這種名字,在申請憑證的那一刻就對全世界公開了,這也是搜尋公開技術資料庫(T1596)最有效率的一條分支。

到這裡為止,對方手上是一份候選清單,而且沒有送出任何一個封包給你。接下來才是主動掃描(T1595):對候選清單做連接埠掃描,記錄哪些位址會回應;會回應的再做服務橫幅擷取判斷產品與版本;最後把版本拿去對 CISA 已知被利用漏洞目錄。這一整段和勒索軟體入侵途徑的第一步是同一件事,差別只在它現在是自動化、持續執行、而且不是為你一家而跑的。

六類最常被漏掉的對外資產

漏掉的東西是有規律的。下面六類幾乎每次盤點都會冒出來,它們的共同點是:上線的時候都不是資訊部門經手的。

類別典型情況為什麼會漏掉
測試與預備環境uat、staging、demo 子網域專案結束沒有人負責關
部門自建的雲端行銷或研發自己開的主機沒有經過採購與資訊部門
外包代管的網站活動網站、形象官網續約換手後沒有人追
廠商代管的設備監控主機、門禁、NAS為了遠端維護開了對外埠
管理介面防火牆、虛擬化平台、遠端桌面以為「只有我們知道網址」
過期的 DNS 記錄指向已經釋出的雲端資源服務停用了,記錄沒刪

前兩類是典型的影子 IT:它們解決了真實的業務需求,只是沒有走既有流程,所以既不在清冊上,也不在修補排程裡。

最後一類值得單獨講。當一筆 DNS 記錄指向一個已經被釋出的雲端資源,別人有機會把那個資源重新申請下來,於是你的子網域開始由別人提供內容,而瀏覽器和使用者都看不出差別——這叫子網域接管。它的成本極低,因為那筆記錄早就沒有人在看。

不用買工具,五個步驟做完第一次攻擊面盤點

第一次攻擊面盤點不需要採購任何東西,也不需要專案預算。需要的是一個下午,和一份願意被推翻的既有清單。

  1. 列出起點。 公司持有的所有網域(含已停用但還沒退租的)、對外 IP 段、雲端帳號,以及委外廠商代管的網站。
  2. 從公開來源展開。 查憑證透明度紀錄補子網域、查 DNS 與反查補主機名,併成一份候選清單。這一步不碰任何系統。
  3. 確認哪些會回應。 對自己的位址做連接埠掃描,記錄開放的埠與服務。只掃自己的資產——對未經授權的目標做這件事在國內可能構成妨害電腦使用罪,委外執行時範圍要寫進書面授權。
  4. 每一項標三件事。 誰負責、誰在用、出事會影響什麼。第一項答不出來的,本身就是這次盤點最重要的發現。
  5. 存一份快照。 把清單存下來當基準線,之後每一次只需要看差異,不必從頭再做一遍。

這五步的深度有明確的上限:你能確認什麼在回應,不能確認它是否真的能被利用。要回答後者,得在授權範圍內實際嘗試,那是紅隊演練與滲透測試的工作,不是盤點的工作。

盤到的每一項,只需要回答三個問題

清單本身沒有價值,處置才有。每一項只需要問三個問題:還有人在用嗎、誰負責、它一定要對全世界開嗎。前兩個決定它有沒有人管,第三個決定它該不該被看見。

對外資產的四個象限與各自的處置橫軸是資訊部門知不知道它存在,縱軸是它是否真的需要對全世界開放。左上是知道且需要對外的官網與郵件,處置是加固並持續修補;右上是沒人記得但確實有人在用的外包網站與雲端服務,處置是先找出負責人納管;左下是知道但不需要對外的 VPN 閘道與管理介面,處置是改成通過授權才可達;右下是沒人記得也沒人需要的舊測試站與子網域,處置是直接關掉。IT 知道它存在沒有人記得它存在真的需要對全世界開其實不需要對全世界開官網、郵件、客戶入口有負責人,也有維護窗口處置:加固並持續修補外包代管的網站與雲端服務確實有人在用,但不在清冊上處置:先找出負責人並納管VPN 閘道、管理介面、遠端桌面只有內部與少數對象該用處置:改成通過授權才可達忘了關的測試站與舊子網域沒有人維護,也沒有人在看處置:直接關掉盤點的產出,就是把每一項對外資產放進其中一格
  • 維持對外,加固並持續修補
  • 需要納管或改變可達性
  • 直接關掉
FIG 02 兩個問題就把清單分成四堆,而落在哪一堆已經決定了處置方式。右下角那格最危險:沒有人維護、沒有人在看,卻對全世界開著。
圖說文字版

把每一項對外資產放進二乘二的四格:橫軸是資訊部門知不知道它存在,縱軸是它是否真的需要對全世界開放。落在哪一格就決定處置方式。

左上:知道,而且真的需要對外

  • 例子:官網、郵件、客戶入口。
  • 狀態:有負責人,也有維護窗口。
  • 處置:加固並持續修補,維持對外。

右上:沒人記得,但確實有人在用

  • 例子:外包代管的網站、部門自建的雲端服務。
  • 狀態:確實有人在用,但不在資產清冊上。
  • 處置:先找出負責人並納管,再談其他。

左下:知道,但不需要對全世界開

  • 例子:VPN 閘道、管理介面、遠端桌面。
  • 狀態:只有內部與少數對象該用。
  • 處置:改成通過授權才可達。

右下:沒人記得,也沒人需要

  • 例子:忘了關的測試站、舊子網域。
  • 狀態:沒有人維護,也沒有人在看。
  • 處置:直接關掉。
  • 這一格是風險最高的一格。

多數公司做完會發現分佈嚴重偏向下半部:真正需要全世界都連得到的服務,通常只有官網、郵件與少數客戶入口;其餘的對外開放幾乎都是歷史因素——當年為了讓某個人在家能連,後來沒有人關。

為什麼多數項目根本不需要「被看見」才能被使用

左下角那一格——知道它存在、但不需要對全世界開——通常是清單裡最大的一群,也是最難處理的一群:關掉會有人抗議,開著就是攻擊面。

傳統的折衷是限縮來源 IP。這個做法在所有人都坐在固定據點時有效,但遠端辦公、行動網路與跨國分點讓來源位址不再固定,白名單於是愈開愈大,最後回到原點。

另一種做法是換掉可達性的前提:服務不對外開埠,改由服務端主動向外建立連線,只有通過身分驗證與授權的請求才會被接上。這樣掃描者拿到的不是「連線被拒絕」,而是完全沒有回應——因為那個位址上根本沒有東西在監聽,它也就不會進入任何一份候選清單。機制細節寫在 Merak 零信任網路是怎麼運作的,各種架構在這件事上的差別整理在傳統 VPN、閘道式 ZTNA 與 SDP 架構比較

要講清楚的是:這不會讓攻擊面歸零。官網與郵件仍然必須對外,人仍然會點釣魚信。它做的是把需要防守的清單縮到「真的必須對外的那幾項」,讓有限的修補與監控人力集中在那幾項上。

攻擊面會漂移,所以盤點不是一次性專案

盤點結果的正確性從交出去那天開始遞減。新專案上線、廠商換設備、部門開雲端服務、憑證多簽了兩個子網域——每一件都會在沒有人通知資訊部門的情況下改變攻擊面。

兩次盤點之間新增的對外項目上排是上次盤點時列出的五個項目:官網、郵件、VPN 閘道、客戶入口、監控介面,這份清單從盤點那天之後就不再變動。下排是之後陸續新增的四個對外項目:外包代管的活動網站、專案上線的測試環境、遠端維護的廠商設備、部門自建的雲端服務,四者都沒有經過資訊部門,因此在下次盤點之前不在任何清單上。上次盤點的清單之後新增的項目官網郵件VPN 閘道客戶入口監控介面活動網站外包代管測試環境專案上線廠商設備遠端維護雲端服務部門自建上次盤點下次盤點這段時間裡,下排每一項都是對外開著、而且沒有人在看
  • 上次盤點時就在清單上
  • 之後新增,尚未納管
FIG 03 上排是上次盤點交出來的清單,之後就不再變動;下排是這段期間業務端實際新增的對外項目。兩排的差額不會自己收斂,只會隨時間拉大。
圖說文字版

同一條時間軸上的兩排項目:上排是上次盤點列出的清單,下排是之後陸續新增、沒有經過資訊部門的對外項目。

上排:上次盤點的清單

  • 官網、郵件、VPN 閘道、客戶入口、監控介面,共五項。
  • 這份清單從盤點那天之後就不再變動。

下排:之後新增的四項

  • 活動網站,來自外包代管。
  • 測試環境,來自專案上線。
  • 廠商設備,來自遠端維護。
  • 雲端服務,來自部門自建。

要看出來的事

  • 四項新增都沒有經過資訊部門,因此不在任何清單上。
  • 在下次盤點之前,下排每一項都是對外開著、而且沒有人在看。
  • 兩排的差額會隨時間拉大,這是盤點需要固定週期的原因。

實務上可行的節奏是:季度做一次完整盤點,另外在四個時機臨時觸發——新系統上線、併購或新增據點、更換委外廠商,以及任何一次對外服務異動。因為有基準線快照,每次要看的是差異而不是總量,成本會比第一次低得多。

這件事在國際框架裡不是加分項,而是第一號控制項:CIS Controls 第 1 項就是企業資產的盤點與控管,NIST CSF 2.0 也把資產管理放在識別(Identify)功能的最前面。順序是有道理的——你沒辦法保護一個你不知道存在的東西。

名詞對照與延伸閱讀

名詞一句話解釋出處
攻擊面所有可被外部觸及的入口總和Attack surface
偵察攻擊前蒐集目標資訊的階段MITRE ATT&CK TA0043
RDAP查詢網域與位址註冊資料的協定RFC 9082
自治系統(ASN)同一組織路由政策下的網段集合Autonomous system
蒐集受害者網路資訊查網段、網域與 DNS 的偵察技術MITRE ATT&CK T1590
憑證透明度紀錄公開可查的憑證簽發登錄紀錄RFC 6962
搜尋公開技術資料庫從公開紀錄取得目標資產資訊MITRE ATT&CK T1596
主動掃描直接對目標位址發送探測封包MITRE ATT&CK T1595
連接埠掃描逐一測試哪些連接埠會回應Port scanner
服務橫幅擷取從回應內容判斷產品與版本Banner grabbing
已知被利用漏洞目錄已確認遭實際利用的漏洞清單CISA KEV
影子 IT未經資訊部門納管的系統與服務Shadow IT
子網域接管指向已釋出資源的 DNS 記錄被佔用OWASP WSTG
妨害電腦使用罪無故入侵他人電腦設備的刑責中華民國刑法第 358 條
資產盤點控制項要求列管所有企業資產的控制項CIS Controls 1
網路安全框架 CSF 2.0以識別、保護、偵測分類的框架NIST CSF 2.0
零信任架構不以網路位置作為信任依據的架構何謂零信任架構

上面的四類公開來源與五個步驟,可以直接當成第一次攻擊面盤點的工作清單。圖示為簡化模型,實際環境還會有雲端與分點的差異。若盤完之後卡在那些「應該關掉、但業務上關不掉」的項目,歡迎透過聯絡我們一起看有沒有別的解法。

返回部落格

VPN 漏洞為什麼補不完

用 CISA 已知被利用漏洞目錄的實際數字回答:VPN 漏洞六年來累積了幾筆、為什麼集中在少數幾家廠商、為什麼補丁永遠慢一步,以及補完之後還必須做什麼。

SDP v3.0 改了什麼:從單封包授權到身分原生

SDP v3.0 把單封包授權從「定義」降級成選項之一。新版實際改了哪幾件事、SPA 在 IoT 與雲端函數上為什麼撐不住、SDP 與微隔離的界線該畫在哪裡,以及導入時第一步該做什麼。