3 minutes
OSCP Exam Preparation Review
Preface
บล็อกนี้จะเล่าถึงแนวทางการเตรียมตัวสอบ OSCP ของผม ถ้าต้องการอ่านประสบการณ์การสอบ OSCP ดูได้ตามลิงก์ครับ
PEN-200 Challenge Labs
สำหรับคอร์ส PEN-200 ของ OffSec ผมเรียนแบบผ่านๆ เน้นเก็บโมดูลให้ครบ เพราะมีพื้นฐานมาแล้วจากการเรียน Penetration Tester Job Role Path ของ HTB และช่วงที่อบรม OSCP Bootcamp 5 วัน ก็เหมือนเป็นการทบทวนไปในตัวด้วย
สิ่งที่ผมคิดว่าสำคัญที่สุดในคอร์ส PEN-200 คือ Challenge Labs ทั้ง 11 แล็บ ที่ช่วยให้เห็นสไตล์การออกโจทย์ของ OffSec โดยเฉพาะ OSCP A, B, C ที่เหมือนเป็นการจำลองการสอบ ถ้าทำทั้ง 3 แล็บนี้ได้ภายในเวลา 24 ชั่วโมง ก็พอจะมั่นใจได้ในระดับนึงว่ามีโอกาสที่จะสอบผ่านสูง
ผมเล่น Challenge Labs ไปเกือบทั้งหมด ยกเว้น Skylark ที่คิดว่าน่าจะใหญ่เกินไป แล็บท้ายๆ พวก Poseidon, Feast, Laser อาจจะต้องใช้ความรู้ / ทักษะนอก scope OSCP ไปเล็กน้อย แต่ผมว่าสามารถใช้ฝึกการทำ enumeration ในส่วน Active Directory ได้ดี
ผมเก็บแล็บ OSCP A, B, C ไว้เล่นทีหลังสุด ตอนใกล้ๆ คอร์สหมดอายุ เพื่อเป็นการวัดความพร้อมของตัวเองก่อนสอบ… โดยจะกันเวลาเอาไว้ 24 ชั่วโมงในแต่ละสัปดาห์ สำหรับเล่นแต่ละแล็บ และจำลองว่าเป็นการสอบจริง ตั้งนาฬิกาทำ Pomodoro โดยพักเป็นช่วงๆ ตามที่วางแผนไว้ (จริงจังไปไหน 555+ 🤪)
Practice Machine List
แพลตฟอร์มอื่นๆ ที่ผมใช้ฝึกเพิ่มเติมนอกจาก Challenge Labs จะมีอยู่ 2 ที่ คือ Proving Grounds และ Hack Smarter โดยรายการเครื่องที่ผมเล่นจะมาจาก 2 แหล่งคือ
- OSCP Machine เป็นไฟล์ Excel รายชื่อเครื่องที่ทางทีม Secure D คัดเลือกมาจาก NetSecFocus Trophy Room ของ TjNull อีกที
- LainKusanagi list of OSCP like machines
ผมเลือกเล่นเฉพาะเครื่องที่อยู่ใน Proving Grounds กับ Hack Smarter และไม่ได้เล่นเครื่องที่อยู่ใน HTB เลย เพราะรู้สึกว่าสไตล์โจทย์มันต่างจากของ OffSec ไปหน่อย 🤔
ทั้งสองลิสด์มีเครื่องที่ซ้ำกันอยู่พอสมควร รวมๆ แล้วผมน่าจะเล่นไปประมาณ 120 เครื่อง ในระหว่างที่ทำ Challenge Labs ไปด้วย (คืออยู่ในช่วง 90 วันก่อน PEN-200 หมดอายุ) โดยใช้เวลาช่วงกลางคืนหลังเลิกงาน รวมทั้งในวันหยุดเสาร์-อาทิตย์
ประโยชน์จากการเล่นเครื่องพวกนี้ คือการสร้าง methodology ในการทดสอบเจาะระบบของตัวเอง และการเรียนรู้ท่าใหม่ๆ ที่อาจจะไม่ได้มีสอนในคอร์ส PEN-200 รวมไปถึงฝึกความอดทนในการพยายามเจาะระบบ ที่อาจจะต้องใช้เวลาเครื่องละ 1-3 ชั่วโมง
ตอนเล่นเครื่องพวกนี้ช่วงแรกๆ ผมจะกังวลว่าจะเจาะเครื่องนี้ได้ไหม พยายามมองให้ออกว่าต้องเริ่มจาก port ไหน ระบบไหนที่ควรโจมตี และจะพยายามรีบหา CVE number หรือ exploit เพื่อให้ได้ flag เร็วที่สุด จะได้ไปติ๊กใน list ว่าผ่านแล้ว…
แต่ตอนเล่นช่วงหลังๆ ผมจะไม่ค่อยรู้สึกกังวลว่าจะเจาะเครื่องนี้ได้หรือไม่ได้อีกต่อไป ซึ่งไม่ได้แปลว่าผมเจาะระบบสำเร็จทุกครั้ง แต่เหมือน ยอมรับ / ปลงได้ กับความจริงที่ว่า
Sometimes you don’t know what you don’t know.
และจะเริ่มรู้สึกเหมือนอยู่ในโหมด autopilot 💀 พอถึงเวลาก็รัน VM ขึ้นมา ต่อ VPN แล้วทำตาม methodology ไปตามลำดับ เพื่อรวบรวมข้อมูลเกี่ยวกับเครื่องนั้นๆ ให้ได้มากที่สุด ก่อนพยายามโจมตีจริงๆ
ถ้าเจอ service / port / config อะไรแปลกๆ หรือไม่คุ้นเคย ก็ google เอา หรือลองหาใน HackTricks อะไรทำนองนี้ แต่ถ้าหาแล้วยังไปต่อไม่ถูก ก็ใช้ไม้ตาย เปิด walkthrough 😝 ดูแบบแง้มๆ ว่ามันไปต่อทางไหน แล้วก็ลองงมต่อเอง
นอกจาก Cheatsheet ที่รวมคำสั่งที่ต้องใช้ ผมจะมี note อีกแผ่นนึงชื่อ “When Stuck” ไว้จดว่าผมเคยติดตรงไหน แล้วทำยังไงถึงไปต่อได้ เอาไว้เปิดหาไอเดียวิธีโจมตีเวลาเล่นเครื่องต่อๆ ไป ถ้าติดอีกก็มาจดเพิ่มไปเรื่อยๆ
Mindset
อีกสิ่งหนึ่งที่ผมคิดว่าสำคัญไม่น้อยกว่า methodology, knowledge และ technical skills คือ mindset ที่ควรจะมีตอนสอบ OSCP
วิธีสร้าง mindset ของผมคือการอ่าน success/failure story ของคนสอบ OSCP หลายๆ คน รวมถึง comment ในโพสต์นั้นๆ โดยปกติจะมีคนมาเล่าใน Reddit r/oscp เกือบทุกวัน ถ้าเห็นคำเแนะนำอันไหนเข้าท่าก็จำไว้ เช่น
- OSCP is an enumeration exam
- Don’t overthink it
- You are usually just 3-4 commands away to get the flag
- Take a lot of breaks
- The exam is basically OSCP D Challenge Lab
- ฯลฯ
อีกเรื่องที่เกี่ยวกับ mindset น่าจะเป็นเรื่องของความ “พร้อมที่จะสอบ” สำหรับผมเองรู้สึกว่าค่อนข้างตรงกับประโยคนึงที่เหมือนพูดเล่นกันขำๆ ตอนเตรียมตัวสอบ CISSP
The strongest indicator for exam readiness is a change in mindset: boredom, frustration, and desire to see the exam whether pass or fail.
ถ้าอ่านโพสต์ก่อนหน้านี้ จะเห็นว่าผมเลื่อนกำหนดการสอบเข้ามา เหตุผลคือผมเริ่มรู้สึกว่า ถ้าไม่สอบซักที ก็จะไม่สามารถไป focus กับการทำงานตามปกติได้ และรู้สึกเหมือนตัวเองอาจจะ burn out เลยต้องรีบสอบให้มันรู้แล้วรู้รอดไป 😫
Kali Setup
ผมติดตั้ง Kali Linux แบบ minimal ที่สุด คือมีเฉพาะ Desktop Environment แล้วค่อยติดตั้ง tools ที่จะใช้เพิ่มเติมทีหลังเอง และพยายามอัปเดตทั้ง OS และ tools ต่างๆ ให้เป็น version ล่าสุดอยู่เสมอ และทำ snapshot เก็บไว้เป็นระยะๆ เผื่อเกิดปัญหาระหว่างสอบจะได้ restore snapshot มาใช้ได้
Recommended Tools
UV เป็น tool โคตรเทพในการทำงานกับ Python 🤩 ผมใช้ฟีเจอร์หลักๆ อยู่ 2 อย่าง คือ
- การติดตั้งและอัปเดต tools ที่พัฒนาด้วย Python เช่น NetExec, Impacket, BloodyAD, evil-winrm-py, ฯลฯ
- การจัดการ dependency และการรัน exploit script ที่เขียนด้วย Python
ดูตัวอย่างการใช้งาน uv สำหรับงานด้าน pentest ได้ที่บล็อกของ 0xdf
RustHound-CE เอาไว้ query ข้อมูลจาก Domain Controller เพื่อเอาไป import ใน BloodHound อีกที โดยปกติถ้ารัน SharpHound บนเครื่องเป้าหมายไม่ได้ ผมจะรัน RustHound-CE บน Kali เป็นตัวเลือกที่สอง
Ligolo-NG เครื่องมือทำ pivoting ไว้ใช้ตอนเจาะระบบ Active Directory Set ทำให้สามารถเข้าถึงเครื่องที่อยู่ใน internal network ได้โดยไม่ต้องใช้ proxychains และใช้งานง่ายกว่า Chisel มากๆ 😍
fzf เอาไว้ค้นหาคำสั่งที่เคยพิมพ์ไปแล้ว จริงๆ zsh ใน Kali ก็มี auto suggestion อยู่ แต่มันจะแนะนำแค่คำสั่งล่าสุดที่ใช้ ถ้าต้องการหาคำสั่งย้อนหลัง ผมว่า fzf ช่วยได้เยอะ สำหรับผมรู้สึกว่าเร็วกว่าไปเปิด cheatsheet พอสมควร 🙃
SysReptor เอาไว้เขียน penetration testing report ด้วย Markdown พร้อมสร้าง PDF หน้าตาสวยงาม ใช้แล้วชีวิตดีกว่าการนั่งพิมพ์ด้วย Microsoft Word… มีทั้งเวอร์ชันที่รันแบบ local หรือ on cloud และมี report design สำหรับ OffSec Exam เตรียมไว้ให้เรียบร้อย
SiYuan เอาไว้จดโน้ตทั้งตอนเรียน ตอนทำแล็บ และตอนสอบ แต่ก่อนผมใช้ Obsidian เป็นหลัก แต่รู้สึกว่ามันมีอะไรตะหงิดๆ อยู่ตลอดเวลา (ซึ่งก็อธิบายไม่ได้ว่าคืออะไร) เคยลองเปลี่ยนมาหลายยี่ห้อ สุดท้ายมาเจอ SiYuan รู้สึกว่าใช้แล้วคลิกกว่า Obsidian และรู้สึกสบายใจ เลยใช้ตัวนี้มาตลอด 😌
Summary
ทั้งหมดที่เล่ามา ก็เป็นแนวทางการเตรียมตัวสอบ OSCP ที่ผมใช้ เผื่อจะเป็น guideline ให้กับคนที่กำลังจะสอบ… แน่นอนว่าสุดท้ายแล้ว การหาแนวทางที่เหมาะกับตัวเองให้เจอ และการมีวินัยในการทำตามแผนที่วางไว้ เป็นสิ่งที่สำคัญที่สุดครับ
rant offsec certified professional oscp offsec certification penetration testing cybersecurity
536 Words
2026-05-01 21:50 (Last updated: 2026-05-11 14:20)
c77e2f2 @ 2026-05-11