iT邦幫忙

2026 iThome 鐵人賽

DAY 13
0
Security

從桃子園灘頭到CySA+系列 第 13 篇

# Day13|管理漏洞前,得先掃描有哪些漏洞

  • 分享至 

  • xImage
  •  

有一題的情境是要掃一個網站之前,先弄清楚這次掃描會碰到哪些東西、哪些網址應該排除在外,問該用哪一種掃描。

我選了 credentialed scan,我想說掃深一點總沒錯。
結果正解是 discovery scan。

一開始在我的印象中,掃描分類裡面的credentialed、non-credentialed、discovery、agent-based、active、passive,這幾個詞在腦海裡就叫"掃描分類"。
但它們的差別,其實在不同的層面。

對症下藥很重要

Credentialed 跟 non-credentialed,差在有沒有給掃描器一組帳密。

給了帳密,掃描器可以直接登進主機,Windows 走 SMB、WMI 那一套,Linux 走 SSH,讀的是這台機器裡面實際裝了哪些軟體、版本幾號、補丁上到哪、設定長怎樣。

沒給帳密,掃描器只能站在外面,連連看哪些 port 開著、服務回了什麼 banner,再拿版本號去對已知弱點。banner 是什麼 可以見Day04 ,這裡就不重複,簡單來說它是服務自己報的,不一定準。

差別在於看得多深。

Discovery scan 是在找弱點之前的盤點。這個網段有哪些主機活著、各自開了哪些 port、這個網站底下有哪些路徑。它還沒有要去判斷哪裡有洞,只是先把地圖畫出來。

掃的時候有沒有帶帳密,跟它是不是 discovery 沒有關係。

Agent-based 跟 agentless,差在掃描器放在哪。

agentless 是一台中央的掃描工具,透過網路去掃目標,前提是它連得到,中間的防火牆要開給它過。

agent-based 是每台機器上裝一支小程式,自己檢查自己,再把結果回報回去。像筆電常常不在公司、IP 一直換,或是不想為了掃描開一堆規則,agent 就方便很多。但是像工控那類 OT 設備,基本上是沒辦法裝agent的。

Internal 跟 external,差在從哪裡掃。從外面網際網路掃進來,看到的大概就是實際攻擊者一開始看得到的東西;從內網掃,看到的是攻擊者已經進來之後能碰到的東西。

Active 跟 passive 參考Day04,簡單來說差別在於有沒有碰觸到目標。

這組詞 我的理解
credentialed/non-credentialed 掃描工具有沒有憑證,有憑證才看的深
discovery 先盤點範圍
agent-based/agentless 設備上有沒有裝agent
internal/external 從內網掃,還是從外面掃進來
active/passive 有沒有對目標送封包

排成表之後就看得出來,一次掃描可以同時是 agentless、credentialed、internal、active,這幾格互相不衝突。

回到那題,它要的是盤點、範圍,答案自然是discovery scan。

那要多久掃一次?

這個沒有一個固定的數字,我的理解大概跟兩件事有關。

基本上第一點圍繞在法規遵循、SLA之類的關鍵字。第一個是法規怎麼要求。像處理信用卡資料的環境,PCI DSS 要求內部跟外部弱點掃描至少每三個月各做一次,有重大變更之後也要再掃。第二個就是簽約的廠商約定多久要掃一次。

另一個是這台機器有多重要。對外開放的、放敏感資料的,重要性高、風險高這類就值得掃。

另一種題目是想要「更快」發現網路上冒出來的陌生設備,比如說掃瞄有沒有Rogue AP這件事。我看過的題目問怎麼縮短偵測時間,我選週掃改成日掃,但還是在等下一輪,這類要的是就是持續監控(continuous monitoring)。

掃描時段也要挑。人都下班了不代表系統是閒的,要看的是系統實際負載最低的時候,不是辦公室最安靜的時候,也許這時候你的備份主機可能正在跑備份。

掃多大?掃下去會不會出事

弱點掃描是會對目標送一大堆請求的,對 production 全開,有兩個問題。

頻寬跟負載

如果一次掃幾百台主機,你的掃描工具以毫秒級的速度丟一大堆封包出去,頻寬不足可能就會造成壅塞

再來是負載,是有些脆弱的服務真的會被戳掛。老印表機、工控設備、某些很舊的應用程式,被掃一輪就當掉也不是不可能,所以這類設備要考慮換個方式掃,可能可以改用 passive 的方式看。

掃完之後,結果要拿去對資產清單。清單上有但沒掃到的,可能是掃描範圍設漏了;掃到了但清單上沒有的,就是有機器沒登記,有種可能就是shadow IT,他不在資產清單上,很可能也沒在你的update清單上。

最後是雲端,必須說實話我對於雲端知識有限,所以基本上以下都是整理我寫過的題目以及跟AI討論得出的。

IaaS 上自己開的 VM 大多可以自己掃,但要照供應商的規定來,像 AWS 就有一份公開的政策,列出哪些服務不用事先申請就能測、哪些行為不准做(像 DoS 類的測試)。

SaaS 就不一樣了,底層整個是供應商的,客戶通常不能自己拿掃描器去掃。這時候能做的是跟供應商要第三方稽核報告,像 SOC 2、ISO 27001,再加上合約裡的資安條款。換個掃描工具、找別人來掃,其實都還是在想辦法掃別人家的東西,服務模式本身就決定了這件事做不做得到。

這方面的理解可以依照IaaS=>PaaS=>SaaS供應哪些環境來看,IaaS可能從hypervisor、VM、OS、application都是你自己的,那掃這些比較沒毛病,但SaaS他已經按照你的需求整個都由供應商提供,所以環境基本上都是供應商的,這時候能不能掃、哪些可以掃可能就得問問供應商了

這個可以自己玩

Nessus Essentials 是免費的,自己在家做lab可以試試。

如果有環境可以測試的話,掃個一兩台VM,第一次不給帳密,第二次給一組能登入的帳號,看看兩份報告的筆數跟內容差多少。給帳密那次看得到的東西,照理來說資訊應該會更準確、更豐富。

給掃描器的那組帳號,建議開一個專用的,權限夠用就好,不要直接把自己的管理員帳密填進去,掃完也記得那組密碼要收好,不然就disable掉吧。

再次強調只掃自己的機器。沒授權去掃別人,這就牽扯到法律問題,絕對不要在未經授權下去掃別人家的機器。


上一篇
# Day12|指令與Log
下一篇
# Day14|CVSS怎麼看
系列文
從桃子園灘頭到CySA+ 共 15 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言