前言
CPENT (Certified Penetration Testing Professional)為 EC-Council 取代在 2021 年 5 月退休的 (ECSA) EC-Council Certified Security Analyst v10 證照,從選擇題變成上機實務考試。
CPENT 考試滿分是 2500 分,成績達到 70%者 (1750分),方能取得 CPENT 證照,若考試成績超過 90%者 (2250分),將另外加發 LPT Master 證照。可以說是與挑戰 LPT 最近的距離呢,有機會一次考試,兩張證照帶回家。
詳細內容可以到 EC-Council 官網上,參考 CPENT 詳細資料。另外,打開官網可以看到,CPENT 課程內容包含 14 個 Main Course 章節及 11 個 Appendix 章節:
但實際考試是分為五大區域,分別為 AD、IOT&Binary、CTF、OT、Pivot,每個區域有若干個網段及若干台機器。這邊我想小小抱怨一下,紙本教材是沒有 Appendix 章節內容的,ASPEN 上的電子教材才有完整內容,而 AD 佔考試的五大區域之一,卻把內容放在 Appendix 裡面,看似不重要,其實很重要!
動機
目前 24y,一年多乙方工作經驗,工作內容主要偏向資安產品後續維運服務,解決客戶端的問題,+偶爾幫忙做做弱掃,0滲透實務經驗,一直把滲透當成遙不可及的未知領域。
在去年 7 月拿到 CEH 後,原以為不會再考資安證照,結果在去年年底參加CCoE 培訓課程中,我的隊友 Billy 大神一直推坑我去考 OSCP,他一直跟我說趁年輕把卡刷下去就會過了XD
(附上比利大神OSCP心得文)
在培訓課程的這段時間,自己也覺得缺一張進階的資安技術證照,一直在猶豫要不要衝一波 OSCP 的時候,發現恆逸有開 CPENT 的課程,由於我自認程度太爛了QQ,比起自己K書,更想靠上課的方式學習,然後在開課前找到 Kevin 大神陪我去上課,有伴可以一起相互砥礪成長,而且還有機會一箭雙雕拿到 LPT。在這麼多誘因的驅使下,就果斷報名 Vincent 老師 CPENT 的課程了。
準備
報名 CPENT 課程後,除了拿到一本厚厚的課本外,還有電子教材,與線上的 iLabs (180天)及 Practice Range (30天)。
準備上大致分為三個階段:
1. 3月底 - 5月初
我是報名假日班的課程,上課期間剛好遇到清明連假及五一勞動節連假,上完課時已經五月初了。作為 CEH 後續課程,不再是紙上談兵,在課程中,更深入了解每個手法背後的原因及原理,而不是當個只會使用的腳本小子。
關於考試範圍,基本上除了 CTF 區域外,其他對我來說都是蠻陌生的,尤其是 AD 跟 Binary 這兩部份,對 Mimikatz、Rubeus 和 GDB 等工具不熟悉甚至會害怕,在上課前完全不知道 Zerologon、Kerberoasting 在幹嘛,不知道 BOF 怎麼實作QQ。
這段時間主要是熟悉課本內容,還有練習 iLabs 每個章節 step-by-step 的教材。反覆實作老師上課所說的內容,搞懂原理,並加深自己的印象。iLabs 提供了已經建立好的環境,練習上減少很多建立環境的時間,但它是用網頁來操作 VM,會有延遲等問題,且很多章節與考試內容相關性不高,整體來說,還是利大於弊。
2. 5月初 - 5月底
因為工作的關係,平常也犯懶,上完課後,才開始花時間大量尋找資料,閱讀技術文章。然後在 TryHackMe 平台上尋找一些學習路徑,增加自己的基礎知識,並在 vulnhub 上尋找機器練習,順便確認指令跟工具是可以使用的,找到自己的攻擊思維跟手法。
基本上每台靶機,我都會盡量尋找兩種甚至三種以上的方法解題,比如說測試使用和不使用 Metasploit 的差異,還有測試使用不同工具或腳本的方法,並把這些流程跟筆記整理出來,讓自己在考試的時候,遇到卡關的題目,可以自然而來的切換方法解題。
3. 6約初 - 6月中
首先,先來介紹一下 Practice Range,他是一個模擬考試但多人使用的環境。跟考試一樣,在自己的機器上先透過 VPN 連線。這邊我想吐槽一下,可能因為多人使用的關係,問題還真不少,而且有人把機器重置,你剛剛辛苦解到一半的成果就付之一炬了,還有在 Pivot 的區域,除了 SSH port forwarding,我個人蠻喜歡用 Meterpreter (Session Routing) 還有 Chisel,但不管用哪種方式,一下子就會斷線 …。另外還有不少台機器壞掉,不然就是題目跟答案怪怪的,不過裡面有近 200 題的題目可以做練習,個人覺得難易度比考試還難,很適合拿來學習。
這段時間,我主要都在 Practice Range上練功,並持續更新筆記內容。跟前個月在 vulnhub 上練習一樣,嘗試透過多種手法來解題,並把流程一一記錄下來,AD 這區我比較不熟,花比較多時間在理解 DCSync、Kerberoasting 等,還有在上面練習 PtH 跟 PtT。
整理筆記很重要!整理筆記很重要!整理筆記很重要!尤其在考試的時候把指令複製貼上可以省掉很多時間呢。
考試
到 Proctoring portal 可以安排考試時間,只能選 3 天後的日期,而且時間只有星期一至四可以做選擇(台灣時間),考時開始時間分別為 12:00、12:45、13:30 三個時段,可以 email 至 info@examspecialists.com 更改其他考試時間,但需要合理的理由。
考試為總時間 24 小時的線上實機考試,可選擇 2 次 12 小時或 1 次 24 小時的方案,並且要在考試結束後 7 天內繳交滲透測試報告,順帶一堤,在 ASPEN 上確認完要考一次還兩次後,Exam Dashboard 就會開始倒數 30 天,從預約到考試到結束交報告,要在 30 天內完成。我是選擇考兩次 12 小時,一方面覺得自己實力不夠,中間有時間可以調整思路及準備,另一方面第一次參加線上監考的考試,難免有點緊張。
我第一次考試在 6/23,監考軟體是使用 GoToMeeting (不用事先下載),一開始監考官先在聊天室的地方問我要用講話還是打字的方式溝通,有鑑於我英文不優,怕漏聽到什麼重要資訊,所以英文不好的可以不用擔心監考的問題,看不懂的內容丟去 Google 翻譯就對了。接著花約 20 分鐘的時間,在身分確認+講解規則+用鏡頭環視房間及桌面+建置環境+測試 VPN 連線後,就開始 Session 1的考試了,考試中全程都要打開鏡頭與麥克風。
我大概花費 10 小時 25 分鐘完成全部題目,題目比想像中來的容易,我考試的 VM 是使用 Parrot4.1,(延續去年 CEH 上課時安裝的 Parrot 虛擬機,從 CEH v11 後,EC-Council 把 Kali 改為 Parrot,在 CPENT 的 iLabs 上,攻擊機也是使用 Parrot)。個人認為難易度排序為:Binary > OT > AD > CTF > Pivot > IOT (我把IOT跟Binary分開來看)。考試是可以 Open Book 的,像是有一題題目,是我練習中沒遇到的狀況,嘗試想像中的解法也沒有成功,我就直接打開 Google 查找資料了。
因為工作的關係,在 7/5 才考第二次,報告在 7/5 當天上傳,跟第一次一樣,先完成那約 20 分鐘的流程,才開始考試。主要是補第一次遺漏的截圖畫面,還有確認每題答案有沒有選錯,及報告裡的內容與截圖是否完整,花費時間約 45 分鐘。當結束考試把答案送出後,成績就會顯示出來 (要在 7 天內上傳滲透報告)。上傳報告後,如果有通過,就會拿到證照了🎉~ 所以成績沒達到 70% (1750分),報告就可以不用上傳,準備再戰一次。
後續
上傳完報告後,等了 7 天一直都沒有收到結果,好想拿到香香的 LPT 啊啊啊!查看 CPENT EXAM STATUS 的地方,一直顯示 Exam is in Progress,我就直接寄信到 practicals@eccouncil.org 去客訴催證照。(我是奧客XD)
等了一天,想說連 practicals@eccouncil.org 的回覆都沒有收到,我就跑到考試儀表版右下角的 SUPPORT (如下圖所示) 去抱怨一下。
接著就陸續收到 EC-Council Support 及 EC-Council Practicals 的回信,兩邊回復的內容是一樣的。看來 SUPPORT 還是有點用處的 XD
既然官方都回復了,那我也只好等等了,就這樣等阿等,終於在 7/14 晚上收到 mail 通知說 Report Approved,看來一切都是我太心急了。
總結
基本上,上課跟著老師的節奏,重點有記起來,筆記有整理,該練習的都有練習,要拿到 CPENT 不是難事,至於 LPT 的話,運氣佔了更多一點成分,題目可能有出錯會怪怪的,有時候會需要通靈一下。考試內容雖廣,但不會太刁難,很多考題都有替代方案可以解題,所以還是建議練習的時候,多學習各種手法。
感謝被我拉來陪我上課的 Kevin 大大,原本只是抱持學習的心態去上課,連能不能拿到 CPENT 都懷疑我自己的能力?!畢竟課程內容對我來說都蠻陌生的。原本對我來說,滲透是有興趣但遙不可及,在工作上一直沒機會接觸也不知道怎麼開始的領域。這一路走來,感謝各路大神的協助與幫忙,我也順利從 EC-Council 的紅隊技術證照畢業了!
最後附上兩張證照~