滲透測試簡介
今天來跟各位介紹一下,什麼是滲透測試。滲透測試(Penetration Test),簡稱 Pentest (筆測試)、PT,是公司、機構希望尋找以駭客的思維試圖入侵自己的系統,嘗試尋找出其設備之中的弱點。
攻擊方可稱為紅隊,紅隊會嘗試透過各種方式,掃描與試圖入侵公司的設備。除了網頁之外,包含任何軟硬體都可以是滲透測試的目標。為什麼一間公司會需要做滲透測試呢?難道透過足夠高級的防火牆、防毒等防護設備不夠嗎?事實上,滲透測試主要針對的與處理的對象,是在嘗試找出機構內的軟硬體是否有設計上的缺陷,或年久失修等。
滲透測試與弱點掃描
許多人可能會聽過另外一個名詞:弱點掃描,弱點掃描可以是滲透測試的一環,但弱點掃描並不能完全地等於滲透測試。通常的弱點掃描都是透過現有的程式,針對系統做全自動化的掃瞄。相對於滲透測試而言,其成本較低,但效果也較差,因為比較無法針對特定的對象進行客製化的服務,而滲透測試則是可以針對指定的對象,給予最適合的需求與服務。
滲透測試相關指引
滲透測試與各種資安技能一樣,都有許多相關的規範可以參考,但大多數的規範也都可以拿來參考使用,常見的規範與資源有以下幾項。
- OWASP Testing Guide
- OWSAS 全名 Open Web Application Security Project®,直接的翻譯為「開放網路安全計畫」,相信各位對 OWASP 應該都不陌生, OWASP 除了最著名的 Web Top 10 之外,還有非常多其他的資源可以取用。
- OSSTMM
- OSSTMM 全名是 The Open Source Security Testing Methodology ,是 The Institute for Security and Open Methodologies (ISECOM) 提出的。
- PTES
- PETS 是
寵物Penetration Testing Execution Standard。
- PETS 是
滲透測試與 CTF
剛開始學習資安的新手,如果是以攻擊者為角度的資安,通常都會從 CTF 入手,CTF 面臨的通常都是以特定的漏洞包裝的題目,訓練大家有自行挖掘漏洞的能力。而通常簡易的滲透測試,除了挖掘漏洞之外,我們更常會運用現有的資源來進行攻擊與測試,例如已經公開 Exploit 的 CVE 漏洞等。
在 CTF 中,通常比較不會出現一些枚舉,暴力破解等相關的技術;因為往往這對於純研究資安技術的領域而言是一件滿無聊的事情,只要字典檔夠充足、時間足夠的狀況下就可以暴力破解、搜尋出來。但是現實生活中的場域就非常不一樣了,現實生活中常常因為使用者的疏漏,使用各種的弱密碼;忘記刪除某些測試的檔案。這種以「人」為主的弱點,以技術的角度來說,通常都會比 CTF 簡單滿多,也都是 PT 需要進行考量的部分。
滲透測試的流程
在滲透測試開始之前,最最最最重要的事情是請於滲透測試前,取得對方的同意,定義好滲透測試的目標,千萬要保護好自己,也要保護好客戶。
由於滲透測試通常會基於駭客的思維進行攻擊,因此我們也可以參考 APT 攻擊的流程來執行滲透測試,例如 APT 的 7 個 Stage。
- Reconnaissance (偵查)
- 調查目標的背景等資訊
- Weaponized (武裝)
- 利用偵查階段所調查到的弱點,進行準備的動作。
- Deliver (傳遞)
- 將各種準備好的武器,試圖傳遞、放置於被害者的電腦之中。
- Exploit (觸發)
- 嘗試執行相關的入侵指令,可能是利用程式弱點等方式。
- Control (控制)
- 透過觸發的入侵指令控制整台的電腦伺服器。
- Execute (執行)
- 在惡意的 APT 攻擊狀況下,這個階段通常會進行竊取資料、破壞系統等,但滲透測試的角度我們需要盡量的對系統影響最小。通常我們可能會藉由蒐集資料,進行更進一步的橫向移動。
- Maintain (維護)
- 對於被駭的目標持續地給予不同的監控與後門程式,防止被發現等。
圖片來源 : 臺灣大學計算機及資訊網路中心
這邊的 7 個階段僅是很粗略的劃分,大多數時候我們也不太會完全照著順序來進行,時常會一邊地進行偵查,一邊的嘗試 Exploit 等。而比較詳細的攻擊方式與流程,我也很推薦大家可以參考 MITRE ATT&CK,以紅隊的角度而言,上面的資訊可以算是攻擊者的軍火庫,可以當作一個完整的參考表格。
總結
滲透測試就是透過駭客的思維嘗試入侵機構的系統,在進行滲透測試前請先取得對方的同意我們可以運用許多網路上的資源加速我們的滲透流程!比起全新的漏洞挖掘,以初學者的角度而言,更重要的是現有的已知漏洞靈活運用。
好的,今天的文章差不多就到這邊,預計明天會跟各位介紹常見的滲透測試工具等。