滲透測試的目標就是替組織偵測出可改善的資安差距,由於公司環境裡的網路、設備以及軟體時常更新以及汰換,使得滲透測試屬於一種定期的活動,畢竟公司內部攻擊層面就經常出現最新種軟體漏洞、錯誤設定,或者IT硬體設備更換時可能有疏忽的沒有設定好的區段導致破口出現
另外就是公司新進員工、新產品上架、部署新設備、擴充舊有的關鍵基礎建設以及新網站上線等等都有可能擴展攻擊邊界,這些行為在上線前或部署後需要經常地進行評估
所以從客戶端的攻擊層面學習被動式與主動式資訊搜集技術取得的資料可以利用在整個滲透測試生命週期,為了讓組織內的安全意識盡可能地保持最新,我們應該經常性的建構滲透測試找出公司內可改善的結構,一般的滲透測試目的包含:
- 定義邊界
- 資訊搜集
- 漏洞偵測
- 初始化入侵點
- 提升權限
- 橫向移動
- 分析並撰寫報告
- 案例學習並修補
每一項階段都仰賴於最早的資訊搜集品質,因為有了良好的資料便可以規劃出適當的攻擊範圍,其中基本滲透測試需要知道目標的預定IP範圍、主機名稱以及可執行的應用服務,超過原先預定之外的不能去測試,這也是紅隊人員在進行滲透測試最基本的職業道德
一但預定的範圍以及排定好的服務確定下來之後,就先實施資訊搜集的動作,目的是盡可能的搜集目標所有可用的資訊,在開始搜集行動之前要執行偵察(Reconnaissance)行為把目標組織內的基礎建設、資產以及個人資料盡可能詳細的探索出來
通常分成靜態跟動態兩種做法,靜態是沒有跟目標機器進行互動而進行資料的搜集,動態則是要與基礎設備互動取得資料,動態搜集可以更多機會獲得攻擊者的攻擊足跡,所以通常我們能做動態就做動態,從而避免靜態的方法來搜集資訊
另外一項很重要的原則是資訊搜集(或有時候我們稱作枚舉)並不是第一次偵查時就結束了,在滲透測試的流程中也必須持續搜集資料,為了在進入新的測試階段或者在目標機器內橫向移動時,取得新的資訊來建立更完整的攻擊者層面資料庫