[資安證照] 002 給完全新手的 OSCP+ 入門指南:從考試結構、常用工具到學習流程一次搞懂

不只是考一張證照,這篇是給完全新手的 OSCP(OSCP+)入門指南。

很多人聽過 OSCP,卻只知道一句話:「很硬。」
但如果你完全是新手,只會覺得:

「我連 Kali 是什麼都不太懂,OSCP 跟我有什麼關係?」

這篇文章,就是寫給 剛踏入資安、對滲透測試有興趣,但還不太懂自己在幹嘛 的你。

我會用「學東西」的角度,而不是「背規定」的角度,幫你拆解:

  1. OSCP+ 考試到底在考什麼?
  2. 你實際會練到哪些技能?
  3. 官方允許的工具,到底是在做什麼?什麼時候用?怎麼看結果?下一步怎麼接?

一、先釐清:OSCP / OSCP+ 是在證明什麼能力?

官方說法很長,但可以簡化成一句話:

OSCP+ 要證明的是:你真的能「從 0 開始打進去一個小公司內網,拿到管理者權限,然後寫出一份專業報告」。

裡面包含幾個關鍵能力:

  • 看懂網路服務、知道哪些點可能有洞
  • 自己動手做資訊蒐集(recon / enum)
  • 找到可以利用的弱點(漏洞 / 錯誤設定)
  • 寫或改 exploit、取得 shell
  • 把普通帳號提權成 Administrator / root
  • 把整個過程寫成 滲透測試報告

也就是說,OSCP 考的不是「你會背幾個指令」,而是:

你能不能從亂糟糟的真實環境中,整理出一條可以攻破系統的路線。


二、OSCP+ 考試長什麼樣子?(新手版解釋)

1. 考試形式

  • 你在家用電腦,開一台 Kali 虛擬機
  • OpenVPN 連進 OffSec 的考場實驗室
  • 考場是一個小網段,裡面有幾台機器等你打
  • 全程有 線上監考(Proctored),會看到你畫面跟鏡頭

2. 考試時間

  • 技術操作:23 小時 45 分
  • 考完後再給你 24 小時寫報告、上傳

可以把它想成:

第一天:拼命打機器
第二天:冷靜回顧 + 寫報告

3. 考題結構(超簡化版)

  • 3 台獨立主機(共 60 分)
    • 每台最高 20 分:

    • 10 分:拿到 local.txt(普通帳號)

    • 10 分:拿到 proof.txt(最高權限)
  • 1 組 Active Directory(AD)網域(共 40 分)

    • 一開始就給你一組 AD 帳號密碼(模擬已被某帳號入侵)
    • 你要從這個起點,想辦法橫向移動、提權、拿更多機器
  • 滿分:100 分

  • 及格門檻:70 分

你不一定要把所有機器打穿才會過,但必須靠 AD + 幾台獨立主機 湊滿 70 分。


三、考試裡最容易被忽略:工具規定與心態

你在考試中,不能亂用工具
簡單分成三類:

  1. 完全禁止(踩到就掰)
  • 各種 AI / Chatbot:ChatGPT、OffSec KAI、Claude、Gemini、DeepSeek…
  • 大型自動化掃描:Nessus、OpenVAS、Canvas、Core Impact…
  • 自動化 Exploit 工具、各種「一鍵打爆」類工具
  • 商業版工具:Metasploit Pro、Burp Pro…
  1. 有條件限制
  • Metasploit / Meterpreter:
    • 只准選 一台機器 使用(包含 auxexploitpost、Meterpreter payload)
    • 選下去就不能換機,不可以多台「試試看」
  1. 可以用(重點是你怎麼用)
  • 像 Nmap、Burp Free、gobuster、BloodHound、Mimikatz、Impacket…
  • 這些工具不會幫你決定戰術,只會幫你做:掃描、收集資訊、轉換格式

接下來這一段,就是給新手看的「工具導覽」,讓你知道:

  • 每個工具是在做什麼
  • 什麼時候輪到它上場
  • 基本操作步驟是什麼
  • 結果要怎麼解讀
  • 下一步可以做什麼

四、OSCP 常見工具入門:不是背名詞,而是串流程

建議你一邊看這段,一邊在腦中想像一條流程線:
發現服務 → 枚舉細節 → 嘗試利用 → 提權 → 橫向移動

我會用同一套架構介紹每個工具:

  • 它在做什麼?
  • 什麼時候輪到它上場?
  • 最基本的使用步驟?
  • 結果應該看什麼?
  • 下一步可以做什麼?

1. Nmap(含 NSE Script)

在做什麼?

  • 幫你掃主機有哪些 Port 開啟、跑什麼服務、版本大概是什麼
  • 用 NSE Script 可以做進一步 probing(例如:簡單漏洞偵測)

什麼時候用?

  • 一連進考場、拿到 IP 範圍後,第一件事 幾乎都是跑 Nmap
  • 中途也會針對單一主機,做更細的掃描

基本使用步驟(示意)

# 快速掃描常見 port
nmap -sV -sC 10.10.10.10

# 全 port 深度掃描
nmap -p- -sV 10.10.10.10

# 使用某些 NSE script,例如 http-enum
nmap --script http-enum -p80 10.10.10.10

結果要看什麼?

  • 每一個 Open port + Service 名稱 + Version
    • 80/tcp http Apache 2.4.29
    • 445/tcp microsoft-ds Windows 10 Pro
    • 3389/tcp ms-wbt-server (RDP)
  • 這些資訊會告訴你:
    • 有沒有 Web 要用 Burp / gobuster 深挖
    • 有沒有 SMB(445)可以用 smbclient / CrackMapExec
    • 有沒有 RDP 可以後面用來登入

下一步可以做什麼?

  • 有 Web → 用 Nikto / gobuster / Burp 繼續挖
  • 有 SMB → 用 Impacket / CrackMapExec 枚舉
  • 有奇怪服務(自訂 Port)→ 用 netcat / 自己寫腳本測試

2. Nikto

在做什麼?

  • 專打 Web server 的 已知弱點掃描器(偏老派,但在 OSCP 很常用)
  • 會幫你測試:
    • 常見 misconfig
    • 預設檔案 / 預設頁面
    • 老舊版本的已知 CVE

什麼時候用?

  • 你確定一台機器有 HTTP / HTTPS(例如 80 / 443 / 8080)時
  • 想快速看它有沒有「大紅旗」式的弱點

基本使用步驟

nikto -h http://10.10.10.10

結果要看什麼?

  • 有沒有顯示:
    • 已知漏洞(CVE…)
    • 有趣的路徑:/admin//phpinfo.php/backup/
    • 危險設定:列目錄、語法錯誤、舊版本

下一步可以做什麼?

  • 拿到有趣路徑 → 用 瀏覽器 / Burp 進去看、測 payload
  • 拿到版本資訊 → 去搜尋是否有已知 exploit

3. DirBuster / gobuster / ffuf(目錄/檔案爆破工具)

在做什麼?

  • 幫你對 Web 站台打一串字典,找出 隱藏的路徑或檔案
    • /admin/
    • /backup.zip
    • /test.php
    • /hidden/

什麼時候用?

  • Nmap / Nikto 告訴你有 Web 服務,但是看起來很「乾」時
  • 想找出管理後台、備份檔、API endpoint

基本使用步驟(以 gobuster 為例)

gobuster dir -u http://10.10.10.10 -w /usr/share/wordlists/dirb/common.txt

結果要看什麼?

  • 狀態碼:200301403 特別有價值
  • 路徑名稱:看起來像後台、備份、config、upload 的特別重要

下一步可以做什麼?

  • 進入這些路徑,用瀏覽器 + Burp 去觀察功能
  • 若有檔案(zip / sql / bak)→ 下載來看,可能藏帳號密碼

4. Burp Suite Free

在做什麼?

  • 充當 瀏覽器與網站中間的攔截代理
  • 讓你可以:
    • 看到每一個 HTTP Request / Response
    • 修改參數重新送出(測試 SQLi、XSS、RCE 等)
    • 重放請求、做簡單爆破(例如登入表單)

什麼時候用?

  • 任何 Web 題目,只要不只是 read-only,都會用到它
  • 尤其是有登入框、檔案上傳、搜尋功能時

基本使用步驟

  1. 設定瀏覽器代理到 Burp(通常是 127.0.0.1:8080)
  2. 打開 Burp → 開啟 Proxy → 勾選 Intercept On
  3. 在瀏覽器操作網站 → 請求會被攔截
  4. 在 Burp 裡觀察 / 修改 → Forward 送出

結果要看什麼?

  • Request:
    • URL、參數、Cookie、Header
  • Response:
    • 錯誤訊息(SQL 錯誤、堆疊…)
    • 回傳內容中是否顯示敏感資料

下一步可以做什麼?

  • 將有趣 request 送到 Repeater / Intruder 做 fuzz / 爆破
  • 結合你對漏洞類型的理解,試 sql injection、path traversal 等

5. BloodHound(搭配 SharpHound)

從這個工具開始就偏向 Active Directory(AD)世界 了。

在做什麼?

  • BloodHound 是一個 視覺化 AD 權限關係圖 工具
  • SharpHound 是用來 收集 AD 資訊 的小程式(在 Windows 裡跑)
  • 兩者配合,可以幫你找到:
    • 哪個帳號可以做什麼事
    • 從 A 帳號走到 Domain Admin 的最短路線

什麼時候用?

  • OSCP+ 考試中的 AD 題目:
    當你有某個 AD 帳號 / shell 時,就可以用它來看整體權限地圖。

基本使用步驟(概念)

  1. 在受害機器上執行 SharpHound:
  • 收集 AD 中的帳號、群組、主機、關係
    1. 把產生出來的資料 zip 檔下載到 Kali
    2. 在 Kali 上用 BloodHound 把資料匯入
    3. 用內建 Query 看:
  • 「我這個帳號可以升級到哪裡?」

結果要看什麼?

  • 圖上的節點(使用者 / 主機 / 群組)
  • 線條代表的關係(例如:可以 RDP、可以 DCSync…)

下一步可以做什麼?

  • 根據圖上的路徑,決定:
    • 下一台要攻擊哪一台
    • 要使用什麼技術(例如 pass-the-hash、假票據)

6. PowerView

在做什麼?

  • PowerShell 寫成的 AD 枚舉工具
  • 讓你在 Windows shell 裡查:
    • 有哪些電腦、使用者、群組
    • 某個帳號權限隸屬於哪些群組

什麼時候用?

  • 你已經在 AD 內某台 Windows 機器拿到 PowerShell shell
  • 想要 純文字方式 了解 AD 結構

基本使用步驟(概念)

  1. 把 PowerView script 丟進受害機器
  2. 在 PowerShell 內 Import
  3. 使用指令例如:
  • Get-DomainUser
  • Get-DomainComputer
  • Get-DomainGroupMember

結果要看什麼?

  • 哪些帳號看起來是管理員 / 服務帳號
  • 哪些機器屬於重要群組

下一步可以做什麼?

  • 配合 BloodHound / Rubeus / Mimikatz
    做更深入的憑證竊取、橫向移動

7. evil-winrm

在做什麼?

  • 在 OSCP 世界裡很常見的 Windows 遠端管理 shell 工具
  • 使用 WinRM(Windows Remote Management)協定
  • 只要你有帳號+密碼 / hash,就可以拿到一個互動式 PowerShell

什麼時候用?

  • 你已經拿到某個 Windows 帳號密碼或 hash
  • 想要「穩定、好用的 shell」,而不是某個不穩的 exploit shell

基本使用步驟

evil-winrm -i 10.10.10.10 -u user -p 'Passw0rd!'

結果要看什麼?

  • 有沒有成功登入
  • 你現在是在什麼權限(whoamiwhoami /groups

下一步可以做什麼?

  • 用它來上傳工具(PowerView、Mimikatz…)
  • 做檔案操作、執行 PowerShell 腳本、進一步提權

8. CrackMapExec(CME)

在做什麼?

  • 幫你在整個內網中「批量測試」帳號密碼 / hash
  • 對多台 Windows / SMB 主機:
    • 嘗試登入
    • 收集資訊(例如 OS 版本、是否有 Local Admin 權限)

什麼時候用?

  • 你有一組可疑帳號 / 密碼
  • 想知道這組帳號在整個網段裡哪幾台可以登入

基本使用步驟(簡化)

crackmapexec smb 10.10.10.0/24 -u user -p 'Passw0rd!'

結果要看什麼?

  • 哪些主機顯示 Pwned!AdminSuccess
  • 哪些主機拒絕或無法登入

下一步可以做什麼?

  • 對那些成功登入的主機:
    • 用 evil-winrm 開 shell
    • 用其它工具進一步提權與橫向移動

9. Mimikatz

在做什麼?

  • Windows 上的 憑證竊取神器
  • 可以在記憶體中拉出:
    • 明碼密碼(某些情況下)
    • NTLM hash
    • Kerberos ticket

什麼時候用?

  • 你已經擁有 Windows 上的高權限(Local Admin / SYSTEM)
  • 想要從這台機器「挖更多帳號」出來,用於橫向移動

基本使用步驟(概念)

  1. 以管理員權限執行 Mimikatz
  2. 用常見指令如:
  • sekurlsa::logonpasswords
  • lsadump::lsa /patch

結果要看什麼?

  • 取得的帳號、domain、密碼 / hash
  • 特別注意 Domain Admin / 服務帳號

下一步可以做什麼?

  • 用取得的 hash 做 pass-the-hash / RDP / evil-winrm
  • 配合 CrackMapExec 在整個網段試登入

10. Impacket 工具集(如 psexec.py、wmiexec.py、secretsdump.py)

在做什麼?

  • 一整組 Python 寫的網路協定工具
  • 在 AD / Windows 關卡常用的幾個例子:
    • psexec.py:用帳號 hash 在遠端主機執行指令並拿 shell
    • wmiexec.py:透過 WMI 拿 Semi-interactive shell
    • secretsdump.py:從機器或 AD dump 出 hash

什麼時候用?

  • 你已經拿到某個帳號的 hash
  • 想要 remote 執行,或 dump 更多憑證

基本使用步驟(簡化)

# 用 hash 拿 shell
psexec.py domain/[email protected] -hashes :NTLM_HASH

結果要看什麼?

  • 是否成功拿到 shell
  • secretsdump.py 跑完後有沒有拿到重要帳號 hash

下一步可以做什麼?

  • 把更多 hash 再餵回 CrackMapExec / psexec / evil-winrm
    → 建立一條「從一個帳號到整個域的滲透鏈」

11. Rubeus

在做什麼?

  • 萬用 Kerberos 工具(C# 寫的)
  • 可以做:
    • 票據列舉(Kerberoasting)
    • 請票 / 偽造票據
    • 票據匯出與匯入

什麼時候用?

  • 你已經在 AD 內部,有某個 domain 帳號 shell
  • 想利用 Kerberos 特性來取得更多 hash / 服務帳號

基本使用步驟(概念)

  1. 將 Rubeus 丟到受害機器
  2. 執行指令(如 Kerberoast 功能)
  3. 把產生的 hash 拿回 Kali 用 hashcat / john 破

結果要看什麼?

  • 產出的 hash 列表(常是服務帳號)
  • 哪些帳號看起來值得破解

下一步可以做什麼?

  • 破出密碼後 → 再拿新帳號去登入其他機器 / 提權

12. PrintSpoofer

在做什麼?

  • Windows 本機提權 exploit,用來從 普通使用者 → SYSTEM
  • 利用 Print Spooler / 特定權限設定的漏洞

什麼時候用?

  • 你在某台 Windows 機器已經有一個低權限 shell
  • 想要拿到 SYSTEM(以取得 proof.txt 或 dump Credentials)

基本使用步驟(概念)

  1. 把 PrintSpoofer 丟到受害機器
  2. 以目前使用者執行
  3. 成功後會幫你開一個 SYSTEM 權限的 shell / 指令

結果要看什麼?

  • 有沒有看到 NT AUTHORITY\SYSTEM
  • 能不能讀取 C:\Users\Administrator\Desktop\proof.txt

下一步可以做什麼?

  • 以 SYSTEM 身份:
    • 取 flag
    • 執行 Mimikatz / secretsdump 等工具

五、對新手來說:OSCP 應該怎麼看?

很多新手一開始看 OSCP,只看到:

  • 很多英文名詞
  • 一堆工具名字
  • 一堆規定

但如果你換一個角度看:

OSCP 其實是在要求你:
學會一套「有步驟、有紀錄、有報告」的攻防流程。

你可以這樣把它拆開學:

  1. 先練流程,不要先想證照
  • 用 Hack The Box / TryHackMe / OffSec Lab
    一台一台打,練:Nmap → gobuster → Burp → exploit → 提權 → 寫紀錄
  1. 工具先會「用」、再慢慢理解「為什麼」
  • 一開始你可以只記:
    • Nmap 找門
    • gobuster 找隱藏房間
    • Burp 把「你按的每個按鈕」拆開看
  • 等你比較熟,再回頭學協定細節
  1. 平常寫「自己的小報告」
  • 每打完一台機器,就寫一份 mini report:
    • 目標敘述
    • 探測流程
    • 利用方式
    • 提權方式
    • 可以怎麼修補
  • 考試時的正式報告,只是這些練習的「放大版」。
飛飛
飛飛

講師學歷:臺科資工所、逢甲資工系畢業。
技術專長:OSINT、滲透測試、網站開發、專業易懂教育訓練。
證照書籍:OSCP、OSCE³、著《資安這條路:領航新手的 Web Security 指南》。
教學經驗:60+ 企業教學經驗、指導過上百位學員。
教學特色:新手友善、耐心指導、擅長圖解(流程圖、心智圖)引導學習。
社群經驗:目前經營全臺資安社群 CURA,曾任臺科資安社社長、逢甲黑客社社長。
社群交流:LINE 社群《飛飛的資安大圈圈》,即時分享經驗、鼓勵交流。
社群分享:FB 粉專《資安這條路,飛飛來領路》,分享文章與圖卡整理。
個人網站:feifei.tw 分享資安技術文章;pbtw.tw 分享 AI 相關應用;ssdlc.feifei.tw 分享軟體安全開發流程文章。