OSCP 2025 認證準備與心得分享

終於在2025年初成功取得OSCP/OSCP+。我的考試是訂在1/4,然後1/6收到通過的通知。這也是為什麼我的2024年回顧文章會晚發的原因,就在等這一張XD

與OSCP的恩怨情仇

踏入資安圈之後,因為自學許多技術都是看國外的Youtube頻道,常看的Youtube也有推薦可以考OSCP,當時是2019年。所以當時台灣還在OSCP比較冷門的時候(說冷門其實也還好,但比較像是小圈子知名),它就已經是我的目標與期待了。

那個時候因為沒有同事願意和我一起挑戰OSCP,所以選擇團報了ECSA的課程(也是很棒的課程)。接著陸陸續續許多緣故,包含OSCP改版考試著重AD、漲價、又漲價(種種原因,反正我就不爽XD),還有也加上自己取得了LPT/CPENT,到了甲方的緣故。總之OSCP已經漸漸不再對我來說是這麼重要的目標與挑戰。

後來就如同大家所知道的,OSCP在各家廠商與大神推廣之下,變得相當有名,雖然我覺得知名度上可能沒有CEH或CISSP上來得這個廣為人知,但已經資安認證當中具有名氣的認證了。我自己也回歸到乙方工作,所以這次考試的原因有部分是當年的期望、部分是技術挑戰,但更大的原因可說是因為公司接案的關係XD

關於OSCP的小提醒

OSCP(Offensive Security Certified Professional)是一個滲透測試專家認證,是Offsec PEN-200課程的考試認證,其實內容來說也可以算滲透測試以及紅隊演練的項目,Offensive就是「攻擊」、「進攻」的意思,可以當成是攻擊面技術的認證。

對於OSCP的介紹在這篇我就不多說了,也不會去比較它和CPENT、CRTO、CRTP、PNPT其他攻擊面認證相關的差異。只能說大家彼此都有不同的規格與範圍,所有很難去比較,都有各自的優劣與不同認證的價值。

我自己曾經考過以及有規劃要考的,或是曾看過的認證,許許多多的資安認證當中,我必須說,OSCP可以說是心得文最多的認證之一建議大家考前可以多翻翻幾篇心得準備文,透過別人的經驗分享,來規劃接下來要準備考試的安排,還有一些注意跟提醒事項。例如規劃要準備多久?要打哪些靶機?要撰寫好哪些的筆記或是用別人的公開筆記做為參考?

另外,這邊想先提醒大家,OSCP從出現至今,是已經歷經過了幾次的變動。每一次的變化其實都可能或多或少的影響考試的準備,例如過往必考的Buffer Overflow現在已經不考了,還有2024年改版後的AD題組計分方式不同。

所以把握兩個原則

  • 第一,一定要先看官方考試規則,一切以這個為主 OSCP Exam Guide
    https://help.offsec.com/hc/en-us/articles/360040165632-OSCP-Exam-Guide-Newly-Updated
  • 第二個,可以多看一下心得準備文(但也不用花太多時間在這上面啦…,還是要自己去練靶機跟準備技術才是最務實的)。可是要注意心得文發佈時間,不能說舊的就沒有用,但時間越新的通常越有參考價值。

OSCP準備

準備時間

我報名的是原廠的Learn One課程,訂閱時間是一年。大約花費 1 個月半完成所有課程以及完成滿足bonus points的challenge labs flag數量。但現在已經沒有bonus points這種東西了。

準備時間的話,我覺得自己的準備時間其實沒甚麼參考價值。但根據自己的經驗以及朋友網路各種說法,如果是有一些技術跟滲透經驗的,2~3個月每天認真準備的話應該是足夠。(足夠達到OSCP的程度,但能不能考過是另一回事XD)

沒經驗的話,就不太好說了,根據不同人大家所需要時間也很難說。如果擔心的話,也可以先從TryHackMe、Hack The Box等開始先熟悉。

如果是過去有過滲透測試經驗的,一台靶機可以抓了兩個小時左右吧,可以估算一下你想完成多少靶機來推估你需要的準備時間;或是反過來說你可以看自己要準備多久,來列出來自己想完成的靶機。如果之前沒經驗的,一開始一台可能會花比較久,也許斷斷續續一周才完成一台也可能,不用太擔心,前期先好好能夠完成了解每個步驟原理跟用意,後續一定會越打越上手順利的。

準備方式

準備方式的話,可以先爬文看一下大家心得文(但真的再次強調,不要花太多時間)。然後開始認真看課程內容,把課程提到的原理、手法、工具搞清楚,練習過一遍。接著就是開始打靶機以及整理自己筆記,同時可能也會一邊看許多網路上的教學影片跟文章。

我通過OSCP前的主要準備資源

建議準備的時候,其實有三個方向要搞清楚差別,以及都要搞懂,分別是:

(1) Methodology / Attack Path / 策略

(2) Knowledge / 方法 / 技術

(3) Cheat Sheet / 工具 / 指令

第一個的策略,是指你內心中要有個想法,知道你目前要達到的目標是甚麼,從現在的位置到達你的目標可能會有甚麼樣的路徑,可以採取哪些手段。舉個例子來說:

透過Port Scan發現在8081 Port開啟了一個Web服務,是一個特定的CMS,透過列舉這個Web找到一個Directory listing的頁面,裡面有Backup.zip檔案,下載後透過離線密碼暴力破解找到密碼,解壓縮後發現裡面有credentials的洩漏,然後我們找到這個CMS版本存在一個Auth的RCE exploit,我們透過剛剛取得的credentials成功利用該exploit執行RCE,取得初期入侵成功。

上面從頭到尾這樣一連串的步驟,就是一種策略,如果你沒有這樣一個策略或是攻擊路徑想法,你肯定是走不到最後一步,或是走得顛簸。另一方面來說,策略也是你在每一個位置,要思考目前可以做的有哪些?

例如我們剛剛發現了一個Web,它是一個特定CMS,腦海中就要有想法說可以嘗試做些甚麼?

-例如該CMS可能會有的路徑
-預設密碼
-使用透定CMS Scanner掃描
-行目錄列舉
-檔案上傳漏洞
-搜尋已知的CVE exploit
-文章內的資訊洩漏
-config檔案的設定

當然這樣的策略,你也可以整理成一個checklist的筆記。

那第二個技術,前面策略裡面我們提到了很多的手段跟技術,第二個其實就是你要「真正的」了解該技術的原理跟用意。假設我今天跟你說這個網站你可以用Upload overwrite htaccess取得user權限,你就要知道這個手法要怎麼操作。或是剛剛上面例子中的離線密碼暴力破解Zip,你要知道怎麼破解。或是大家都會遇到AD,裡面的AS-REP Roasting或Kerberoasting,要去試著了解他到底是甚麼?甚麼前提可以執行,甚麼情況需要嘗試,執行目的是甚麼?

了解技術是非常重要的環節,因為很多人真的會失焦在Cheat Sheet或是工具上面,當然有整理好的Cheat Sheet或是好用的工具幫助非常大,但你沒有了解這個技術肯定是沒有用的。舉個例子,Evil-winrm、xfreerdp都是好用的工具,但你知道它們的原理是走哪個Port嗎,如果你根本不知道,結果目標主機根本就沒開相對應的服務跟Port,然後就在那邊亂try,就是你沒了解技術。

第三個就是接續的Cheat Sheet以及工具,考試前應該還是要有好的筆記跟準備好工具,才不會讓考試時光是找指令或工具就花費很多時間,或是幫環境跟工具Debug浪費時間。

因為自己的筆記內容不方便分享,但可以說一下我的筆記有幾個XD

我是用notion筆記Cheat Sheet,主要分成下列幾個:

  • Cheat Sheet
  • AD Cheat Sheet
  • Linux 提權
  • Windows 提權
  • Checklist

邏輯是這樣,前面四個都算是指令跟方法的Cheat Sheet。第一個是泛用的,也就是考試全範圍,任何機器跟階段都可能會用到的指令。這個你在網路上搜尋OSCP Github或OSCP Cheat Sheet也會有許多類似的參考。

AD Cheat Sheet則是紀錄只有AD會遇到的東西,打standalone一定不會用到的。Linux 、Windows 提權更單純,就是提權階段才會用到的。第五個比較特別,第五個不是指令,比較像是卡關時可以看的。

然後準備OSCP,沒意外的話大家通常都會打很多靶機。網路上也有很多靶機的walkthrough / write-up。其實靶機解不出來去看解答看write-up並不可恥,可恥的是你以為看完就當成學會了。

真的一定要動手去實作練習,如果是看著write-up去跟著解出來取得flag,也要反省為何自己無法解出該題目。是因為你看不懂exploit程式碼、是列舉的不夠、是找錯方向、還從來沒想個還有這一招,確保自己下次遇到同樣漏洞時,是可以「識別」以及成功「利用」。

而自己做靶機的時候,也是建議要筆記,我自己在做任何平台的靶機,其實也都有滿詳細的筆記在整個notion當中。所以遇到一些關鍵字,可以透過搜尋來找到可能的一些攻擊路徑和手法。

也有一些可以透過關鍵字可以找到相關靶機的網站,也推薦給大家:

  • IPPSEC
    https://ippsec.rocks/?#
  • S4vitar Machine’s Resolutions
    https://htbmachines.github.io/

考試期間

考試前記得整理好桌面環境跟地板附近,因為會需要用鏡頭環繞一圈,確認沒有甚麼手機、筆電之類的電子設備。考試時必要準備的就是護照,也強烈建議要準備一張護照照片放在電腦中,我自己鏡頭事都拍不清楚護照,所以每次都是先簡單展示一下模糊的實體護照,然後打開電腦上的護照照片給他看。

考試期間可以吃東西、睡覺、看各種網路文章跟影片都沒問題。我自己在動腦時覺得很消耗糖分,所以考試時我就瘋狂吃東西,吃了兩盒新貴派、其他餅乾、洋芋片、還有超商微波食品,一直吃,跟吃播沒兩樣。然後睡覺休息也是跟監考官說一下就好。過程中對話都是用訊息,不是用講話的,不用太擔心,也都可以用google翻譯之類的協助。

因為最後製作報告也是要放佐證截圖,所以考試期間截圖當然也是可以的,建議大家盡量截圖,這樣才不會做報告的時候有甚麼遺漏,或是錯過甚麼地方要回頭再截圖也麻煩。

我自己的考試所有紀錄都是紀錄再notion上面。然後最後報告是直接下載官方的Microsoft Word報告模板,自己去大改這個版,把notion上面的紀錄慢慢寫過來。沒有用甚麼網路上Github或是其他的Template或是製作工具。因為自己還算滿熟悉寫報告的,就這樣自己花大概 4 ~ 5個小時寫完。我自己是覺得我的報告很厲害啦,有把原本的方法論修改,也都有寫摘要、修補建議,這也有可能是我交完報告隔天就拿到認證通過的原因XD。

各種注意事項與提醒

  • 考試前務必詳閱官方Exam Guide
  • 可以多看看網路心得文(無論中英文),建議看新一點的,因為OSCP有改版,考試的內容以及計分結構都有變化
  • 第N次再次強調,雖然建議看心得準備文,但絕對還是多練習最重要!不要花費一大堆時間一直看文章,結果根本沒有動手做
  • 考試強烈建議至少提前一個月以前先預定好時間,通常一個月內是訂不到甚麼好時間的。然後因為有兩次的更動考試時間機會,真的很建議先預訂好,真的覺得需要改時間再更動就好。
  • 你的筆記會很大幅度的影響你是否能夠通過考試,或是你是否可以有效率地通過考試,建議好好準備自己的筆記
  • 至少多準備一台虛擬機,以免在過程中由於環境造成無法順利進行考試,需要切換到另一台可用的Kali Linux。(我自己是只有額外多準備一台,並且與考試的機器算是不同環境的。我另外準備的一台機器,是有安裝一些我在考試機上無法成功安裝的套件djvulibre-bin)
  • 雖然許多rabbit hole是確實可能存在的,但不管是在練習時,或是考試時,如果一個漏洞或是exploit你無法成功利用,但你是有高度把握應該成功的,請不要猶豫的盡情Revert機器(甚至是多次revert它)
  • 網路上有靶機可以練習的環境非常的,PEN-200課程可以視為最優先,再來的話我推薦多打PG(Proving Grounds Practice),其他的HTB、Vulnhub、TryHackMe我認為有多餘的計畫安排再去做就好
  • 不要害怕windows,不要害怕AD,你會害怕只是因為不熟悉,你越害怕只會越不熟悉
  • 如果你看到有東西像帳號或密碼,但你不確定,沒關係,就直接把它當成帳號密碼試試看。多嘗試總比沒有嘗試來得好。
  • 除了網路文章,也可以多參考或翻翻reddit上面的OSCP討論串
  • 考試難不難?不好說。但考試確實不是那麼好過,如果沒考過,也不要太氣餒,好好整理心情重新再出發。
  • 考試不能用AI唷,也就是ChatGPT之類的是禁止使用的
  • 自己也看了reddit上許多討論,有一些傳言說Offsec在2023年底提升了他們的AD難度。而當時,你AD過不了的唯一選擇,就是三台獨立機都一定要打下來。所以大家基本上策略都一定還是先打AD。不過目前新版規則又改了,AD的分數不是全拿或零分。總之,目前新版的計分,自己可以好好思考考試時的策略。
  • 還有一項個人小提醒,考試不要拖太久,因為現在工具跟環境許多東西更新越來越快速,有可能會發生你前面準備的工具或方式,過了半年之後已經不太適用也說不定。我自己的情況是python,原本準備時都是使用pip直接在本機安裝,後來有一些變化,所以考試期間所有python eploit我都是改成使用python venv。

最後,恭喜已經取得OSCP的人,以及向OSCP挑戰過的人,「努力過的人都是戰士」。也祝接下來要考試或是要準備的人,大家都可以順利成功!

還有要曬一下自己的兩張認證~

備註:

過陣子還會再發2~3篇的技術文章,內容雖然不是只針對OSCP,但可以說是對於實務滲透與紅隊、任何的技術認證都很有幫助。有興趣的人可以再繼續關注我的網站以及臉書。

發佈留言