4 minutes
OSCP Certification Review
Preface
บล็อกนี้จะเล่าถึงประสบการณ์การสอบ OSCP ของผม ถ้าต้องการอ่านแนวทางการเตรียมตัวสอบ OSCP เข้าไปดูได้ตามลิงก์ครับ
ผมเพิ่งผ่านการสอบ OSCP เมื่อ 4-5 วันก่อน โดยได้รับทุนจากโครงการ Road to OSCP ของ สกมช. เลยมาจดบันทึกประสบการณ์ไว้เผื่อเป็นประโยชน์กับคนที่กำลังเตรียมตัวสอบ

OSCP Course Overview
คอร์สที่ผมเรียนจะเป็น bootcamp 5 วัน สอนโดย Authorized OffSec Instructor จาก Secure D โดยมาพร้อม subscription คอร์ส PEN-200: Penetration Testing with Kali Linux ที่เป็น Course + Cert Bundle มีเวลาเรียน 90 วันหลังจาก activate และต้องลงทะเบียนสอบภายใน 120 วัน หลังจากคอร์สหมดอายุ
เนื้อหาหลักสูตร PEN-200 มีทั้งหมด 31 โมดูล สอนเรื่องการทดสอบเจาะระบบขั้นพื้นฐาน และมี Challenge Labs ให้เล่น 11 แล็บ ถ้าเรียนครบ 80% (คือเรียนจบทุกโมดูล ยกเว้นที่เกี่ยวกับ AWS) สามารถขอ course completion letter ไปเคลม CPE ได้ 40 CPE
ถ้าพูดถึงภาพรวมของคอร์สก็จะสอนการทำ network penetration testing ทั้งกระบวนการ ตั้งแต่การทำ enumeration, web attack, application/service/API attack, privilege escalation, pivoting, Active Directory attack รวมไปถึงวิธีการเขียน penetration testing report แบบ professional
OSCP Exam Overview
รูปแบบการสอบของ OSCP จะเป็นการทำ network penetration testing พร้อมเขียนรายงานส่ง โดยแบ่งโจทย์ออกเป็นสองส่วนใหญ่ๆ
- Standalone Machine 3 เครื่อง คะแนนรวม 60 คะแนน
- Active Directory Set 3 เครื่อง คะแนนรวม 40 คะแนน
รวมเป็นคะแนนเต็ม 100 คะแนน โดยต้องได้คะแนนอย่างน้อย 70/100 ถึงจะสอบผ่าน
การสอบ OSCP ต้องจองวันและเวลาสอบล่วงหน้า เป็นการสอบแบบมี proctor โดยต้องแชร์หน้าจอของเครื่องที่ใช้สอบ รวมถึงเปิด webcam เพื่อให้ proctor คอยสังเกตการณ์ระหว่างการสอบตลอดเวลา
ก่อนสอบต้องยืนยันตัวตน แชร์หน้าจอ เปิดกล้อง แล้วพา proctor เดินดูบริเวณรอบๆ (room tour) จากนั้นต้องรันสคริปต์ที่ทาง OffSec กำหนด เพื่อตรวจสอบซอฟต์แวร์ที่ติดตั้งอยู่ในเครื่องที่ใช้สอบ กระบวนการทั้งหมดใช้เวลาประมาณ 15 นาที
หลังจากนั้นเราจะมีเวลาทดสอบเจาะระบบ 23 ชั่วโมง 45 นาที และมีเวลาให้ทำรายงานอีก 24 ชั่วโมงหลังจากหมดเวลาสอบ รวมแล้วมีเวลาทั้งหมด 48 ชั่วโมง
My Exam Experience
ตอนแรกผมจองสอบไว้เป็นวันที่ 10 พ.ค. ตอนเที่ยง แต่พอประมาณต้นเดือน เม.ย. ก็รู้สึกว่าตั้งวันไว้ไกลไปหน่อย กลัวจะ burn out ซะก่อน เลยตัดสินใจเลื่อนมาเป็นวันที่ 17 เม.ย. แต่พอใกล้ๆ ถึงกำหนดก็พบว่าไม่ค่อยสะดวก สุดท้ายเลยเลื่อนอีกรอบเป็น 22 เม.ย. ตอน 10 โมงเช้า ใช้โควต้า exam reschedule ครบพอดี 😅
ผมนั่งสอบที่คอนโด เพราะคิดว่าไว้ใจอินเทอร์เน็ตของตัวเองที่สุด ก่อนสอบก็ rearrange เฟอร์นิเจอร์ใหม่ให้เหมาะกับการเป็นห้องสอบ และเลือกมุมตั้ง webcam ให้ proctor ดูได้กว้างๆ และไม่เกะกะหรือรบกวนสมาธิตัวเอง
เรื่องการบริหารเวลา ผมใช้ Pomodoro Technique แบบที่คิดว่าเหมาะกับตัวเอง คือนั่งสอบ 50 นาที พัก 10 นาที และทุกๆ 4 ชั่วโมง จะพักยาว 30 นาที โดยตั้งใจว่าถึงจะกำลังทดสอบเจาะระบบติดพันอยู่ ก็ต้องลุกออกมาพัก เพื่อไม่ให้สมองกับร่างกายล้าจนเกินไป (แก่แล้วก็งี้ 😖)
ผมวางแผนสอบโดยเริ่มจาก Active Directory Set เพราะอย่างน้อยต้องได้ 10 คะแนนจาก AD ถึงจะสอบผ่าน และถ้าสามารถ compromise AD ได้ทั้ง set จะได้คะแนนทั้งหมด 40 คะแนน ซึ่งถ้าได้ตรงนี้ เราจะมีทางเลือกในการโจมตีเครื่อง standalone ได้หลายแบบ เพื่อให้ได้คะแนนรวม 70 คะแนน เช่น
| Standalone 1 | Standalone 2 | Standalone 3 |
|---|---|---|
local.txt | local.txt | local.txt |
local.txtproof.txt | local.txt | |
local.txtproof.txt | local.txt | |
| … | … | … |
ในทางกลับกัน ถ้าเราทำคะแนน Active Directory Set ได้น้อย ก็จะต้อง compromise เครื่อง standalone ให้ได้เกือบทั้งหมด จึงจะได้คะแนนถึงเกณฑ์ผ่าน รายละเอียดดูได้ใน OSCP+ Exam Guide
Timeline ประสบการณ์การสอบของผมโดยสรุปเป็นดังนี้
| Date | Time | Description | Points |
|---|---|---|---|
| Apr 22, 2026 | 10:00 | เริ่มสอบ | |
| 11:40 | ได้ proof.txt บนเครื่องแรกใน AD Set | 10 | |
| 14:05 | ได้ proof.txt บนเครื่องที่สองใน AD Set | 20 | |
| 14:40 | ได้ proof.txt บน Domain Controller | 40 | |
| 14:50 | ได้ local.txt บน standalone เครื่องแรก | 50 | |
| 15:15 | ได้ proof.txt บน standalone เครื่องแรก | 60 | |
| 19:05 | ได้ local.txt บน standalone เครื่องที่สอง | 70 |
ถึงตรงนี้ใช้เวลาไปประมาณ 9 ชั่วโมง และได้คะแนนถึงเกณฑ์ผ่านแล้ว ผมเลยเริ่มเขียนรายงาน นั่งเขียนไปเรื่อยๆ จนถึงประมาณสี่ทุ่มกว่าๆ ก็คุยกับตัวเองว่า นี่เราทำเต็มที่แล้วจริงๆ ใช่ไหม พอใจแล้วใช่ไหม
เท่านั้นแหละได้เรื่อง! 🤪 ผมหยุดเขียนรายงาน แล้วมานั่งสอบในส่วนที่เหลือต่อ… ผลลัพธ์คือผมใช้เวลาไปอีกหลายชั่วโมง โดยที่ทำคะแนนเพิ่มไม่ได้เลย (และไม่ได้เว้นช่วงพักตามที่ตั้ง Pomodoro ไว้ด้วย) สุดท้ายเลยยอมแพ้ตอนตีสามกว่าๆ เกือบตีสี่ 😞 บอก proctor ว่าขอไปนอนก่อนนะ เดี๋ยวมาใหม่
ถ้าถามว่าสิ่งที่ผมติดอยู่มันเป็น rabbit hole หรือเปล่า? ในตอนนั้นผมคิดว่าไม่ใช่ เพราะจากการทำ enumeration (และจาก intuition) ทำให้ผมค่อนข้างมั่นใจว่า ช่องทางการโจมตีมันคือตรงนี้แหละ แต่ผมยังขาด jigsaw บางชิ้น (knowledge / skills / tactics / tools) ที่จะทำให้โจมตีได้สำเร็จ
ถึงตั้งใจว่าจะไปนอน แต่ก็นอนไม่ค่อยหลับเท่าไหร่ ในใจลึกๆ ก็หวังว่าสมองจะทำหน้าที่ของมันในการคิดหา solution ให้ผมระหว่างนอนได้ 🙃
ตื่นมาอีกทีเพราะตั้งนาฬิกาปลุกไว้ตอน 7 โมงเช้า สะลึมสะลือมานั่งสอบต่อ ได้ไอเดียการโจมตีระหว่างนอนมาอีก 2-3 แบบ แต่พบว่าไม่เวิร์ก… จนกระทั่งประมาณชั่วโมงสุดท้ายก่อนหมดเวลา ผมก็ google ไปเจอ jigsaw ตัวที่ขาดไปจนได้ 😭
| Date | Time | Description | Points |
|---|---|---|---|
| Apr 23, 2026 | 09:10 | ได้ local.txt บน standalone เครื่องที่สาม | 80 |
| 09:20 | ได้ proof.txt บน standalone เครื่องที่สาม | 90 |
แน่นอนว่าจังหวะนั้นคือมือไม้สั่น รีบเก็บ screenshot เป็นหลักฐาน กรอก flag ทั้งหมดใส่ Exam Control Panel แล้วรีวิวโน้ตและ screenshot ทั้งหมดอีกรอบ ก่อนบอก proctor ว่าขอจบการสอบ ตอนนั้นน่าจะเหลือเวลาประมาณ 15 นาที
สรุปว่าใช้เวลาไปเกือบครบโควต้า ได้คะแนนรวม 90/100
หลังจากนั้นก็พักประมาณ 2 ชั่วโมง แล้วเริ่มเขียนรายงานต่อ กะว่าค่ำๆ น่าจะทำเสร็จ แต่ก็ลากยาวไปจนเกือบเที่ยงคืน เลยได้ส่งรายงานตอนเที่ยงคืนกว่าๆ ของวันที่ 24 เม.ย. รวมเวลาที่ใช้ทำรายงาน ประมาณ 12 ชั่วโมง
The Result
หลังจากส่งรายงานแล้ว วันต่อมาผมก็ไปทำงานตามปกติ แต่นั่ง refresh หน้า portal ของคอร์ส PEN-200 แทบจะทุกชั่วโมง 😆 จนประมาณบ่ายสามโมงกว่าๆ ก็มีอัปเดตว่า congratulations คุณสอบผ่านแล้วนะ
ส่วนอีเมลที่แจ้งว่าผ่านแบบเป็นทางการจะมาหลังจากนั้น โดยผมได้เมล confirm ตอนเที่ยงคืนกว่าๆ ของอีกวัน ถ้านับจากตอนส่งรายงาน ก็ประมาณ 24 ชั่วโมงพอดี
หลังจากข้อมูลใน portal อัปเดต เราจะสามารถเข้าไปเคลม badge กับ certificate ได้เลย โดยจะได้ certificate มา 2 ใบ หน้าตาประมาณนี้

Lessons Learned
- Take a lot of breaks จากการสังเกต ช่วงเวลาที่ผมสามารถ breakthrough และไปต่อได้ ส่วนใหญ่จะเกิดหลังจากการพัก
- Don’t make assumption ถ้าดู timeline จะเห็นช่วงประมาณ 15:00–19:00 ที่ผมติดอยู่นาน ส่วนหนึ่งเป็นเพราะผมมี assumption ว่าระบบที่กำลังพยายามเจาะอยู่ มันต้องเป็นแบบนี้แน่เลย และลืม enumerate ให้ครบ
- Trust your intuition อาจจะดูย้อนแย้งกับข้อก่อนหน้า แต่มันจะมีความแตกต่างระหว่าง intuition กับ assumption อยู่ สำหรับผมมองว่า intuition เกิดจากประสบการณ์ แต่ assumption เกิดจาก bias หรือ ignorance ของเราเอง
- KISS (Keep It Simple, Stupid) ลองท่าง่ายๆ ก่อน ค่อยไปท่า advanced หรือที่หลายๆ คนอาจจะเรียกว่า low-hanging fruit
- Google is your friend ถ้าหาทางไปไม่ถูก แต่รู้สึกว่ามันต้องทำอะไรกับตรงนี้แหละ ให้ลอง google ดูเยอะๆ เพราะเราไม่ใช่คนแรกที่ค้นพบวิธีโจมตีระบบนั้นแน่ๆ ถ้าค้นหาด้วยรายละเอียดที่เฉพาะเจาะจงได้มากเท่าไหร่ ก็จะได้ผลลัพธ์ที่ตรงกับความต้องการของเรามากเท่านั้น
- Enumeration is key ถ้าจะหาช่องทางการโจมตีช่องโหว่ หรือ misconfiguration หรือต้องการคิดหา keyword ที่จะเอาไป google ให้ได้ผลลัพธ์ที่ต้องการ เราต้องเห็นและเข้าใจภาพรวมของระบบที่เราจะโจมตีให้มากที่สุด
- Connect the dots เป็นสิ่งที่ผมคิดว่าคล้ายๆ intuition อยู่เหมือนกัน บางคนอาจจะเรียกว่า vulnerability chaining แต่ผมคิดว่ามันคือการเอา “ข้อมูล” (ที่อาจจะไม่ใช่ช่องโหว่) ที่เรามีเกี่ยวกับระบบนั้นๆ (ได้จากการทำ enumeration) มาวิเคราะห์และหาความเชื่อมโยงที่จะทำให้เราสามารถโจมตีมันได้
Summary
ผมรู้สึกว่า OSCP Exam เป็น certification ที่ดี สำหรับใช้วัดความรู้ ทักษะ รวมไปถึง mindset ในการทำงานด้านการทดสอบเจาะระบบเบื้องต้น และมีความน่าเชื่อถือในแง่ที่มีการยืนยันตัวตนก่อนสอบ และมี proctor คอยเฝ้าดูตลอดระยะเวลาการสอบด้วย
ส่วนในแง่ความคุ้มค่าของคอร์สและค่าสอบ น่าจะขึ้นอยู่กับวัตถุประสงค์ของเราเป็นหลัก หากต้องการ certificate ที่ช่วยให้ผ่าน HR screening หรือว่ามีคนออกค่าใช้จ่ายในการเรียนและสอบให้ (ขอบคุณ สกมช. ครับ 🙏) หรือถ้าการถือ OSCP เป็นหนึ่งในเป้าหมายการทำงานด้าน cybersecurity ของเรา ก็น่าจะเป็นการลงทุนที่คุ้มค่าครับ
สำหรับผมเอง OSCP ก็เป็นหนึ่งใน certification ของฝั่ง red team ที่อยู่ในเป้าหมายการพัฒนาตัวเอง และคิดว่าควรจะมีตั้งแต่ 5 ปีที่แล้ว และตอนนี้ก็สามารถพูดได้เต็มปากว่า…
I TRIED HARDER ✌️
rant offsec certified professional oscp offsec certification penetration testing cybersecurity
665 Words
2026-04-28 19:15 (Last updated: 2026-05-11 19:03)
8dae5b0 @ 2026-05-11