สวัสดีครับจากบทความก่อนหน้าในปี 2022 ที่แล้ว พี่ตั้นได้เขียนบทความรีวิวถึงการสอบ OSCP หรือ Offensive Security Certified Professional มาแล้ว ซึ่งมาถึงตอนนี้ตัวผมเองได้มีโอกาสไปสอบ OSCP ในปี 2023 และสามารถผ่านไปได้ด้วยดีแบบไม่ต้องอดหลับอดนอน วันนี้ผมเลยจะมาแนะนำวิธีการเตรียมตัวสอบในแบบฉบับของผมครับ
ก่อนอื่นมาเกริ่นกันถึงเรื่อง OSCP กันก่อนครับ สำหรับคนที่ไม่รู้ว่าคืออะไร ??
OSCP คือ Certificate ของค่าย Offensive Security ที่เหมาะสำหรับการฝึกที่เน้นการลงมือทำ (Hands-On Labs) เพื่อเตรียมตัวในการทำงานในสายงานเจาะระบบ (Penetration Test) และถ้าเราเข้าไปใน Website ของ Offensive Security เราก็จะเห็นคอร์สที่มีชื่อว่า “PEN-200” หรือ Penetration Testing with Kali Linux (PWK) นั่นเอง
OSCP 2023
สำหรับในปี 2023 เป้าหมายในการสอบยังคงเป็นเหมือนเดิม คือยึดเครื่องให้ได้ และยกระดับสิทธิ์ให้ได้ สุดท้ายคือเขียนรีพอร์ตให้ได้ ซึ่งคะแนนสำหรับการผ่าน OSCP คือ 70/100 โดยโจทย์ของการสอบแบ่งเป็น
- Active Directory (AD) จำนวน 1 เซต (ประกอบไปด้วย 3 เครื่อง): 40 คะแนน
— Domain Controller (DC) 1 เครื่อง
— Client 2 เครื่อง
- Standard Alone (STD) จำนวน 3 เครื่อง: เครื่องละ 20 คะแนน รวม 60 คะแนน
— User Privilege 10 คะแนน
— Administrator/Root Privilege 10 คะแนน
สามารถดูรายละเอียดเพิ่มเติมได้ที่ : https://help.offensive-security.com/hc/en-us/articles/4412170923924
แนะนำการเตรียมตัวสอบ
ในขั้นตอนการเตรียมตัวสอบที่ผมอยากแนะนำ คือ
- เก็บเรื่องพื้นฐานของการโจมตี เครื่อง ทั้ง Windows / Linux การยกสิทธิ์ (Privilege escalation) / เรื่องการโจมตี Active Directory แบบต่าง ๆ / การ Pivoting Network / ให้ครบเสียก่อน โดยที่ผมศึกษาคือจากแพลตฟอร์ม TryHackMe เป็นส่วนใหญ่
- เก็บประสบการณ์จากการทำแล็บของเครื่องต่าง ๆ ไม่ว่าจะเป็น Linux หรือ Windows เองก็ตาม ซึ่งภายในแพลตฟอร์ม TryHackMe โดยผมจะแนะนำให้ศึกษา Learning Path Offensive Pentesting ทุก ๆ เครื่องใน Path นี้ โดยที่ผมเองจะทำซ้ำเป็นอย่างต่ำ 2 รอบ รอบแรกคือสามารถดู Write Up ได้แต่อย่าเยอะ 55555+ เพราะแรก ๆ เราจะยังไม่รู้วิธีการโจมตีหรือท่าโจมตีมากนัก ส่วนรอบที่ 2 ห้ามดู Write Up หรือสปอยด์ใด ๆ เพราะเราเคยทำมาแล้ว ซึ่งช่วงเวลาที่เหมาะกับการทำซ้ำในรอบที่ 2 คือให้ผ่านไปสัก 1–2 อาทิตย์ เป็นอย่างต่ำ นอกจากภายใน Learning Path นี้ก็จะมีเครื่องอื่น ๆ ก็ให้ลองเล่นดูไม่เสียหายครับ
- ฝึกการโจมตีช่องโหว่ Buffer Overflow จาก Learning Path Offensive Pentesting พร้อมทั้งเก็บและบันทึก Exploit Script ที่เราแก้ไข/ดัดแปลง ให้ใช้ง่าย ๆ ด้วย (Buffer Overflow นี้เป็นข้อที่เรียกว่ามีโอกาสที่จะเจอก็ว่าได้ ถ้าเราโชคดีก็จะเจออยู่ 1 เครื่อง ที่ฝั่ง Stand Alone)
- จบไปแล้วกับ TryHackMe ต่อมาไปลองของกับ HACKTHEBOX แต่ค่อนข้างออกไปแนว CTF มากกว่าและโจทย์ค่อนข้างยาก โดยผมเล่นเครื่องในส่วนที่ Updated Boxed For October 2022
โดยอ้างอิงเครื่องที่เล่นจาก NetSecFocus Trophy Room
https://docs.google.com/spreadsheets/u/1/d/1dwSMIAPIam0PuRBkCiDI88pU3yzrqqHkDtBngUHNCw8/htmlview#
- หากเล่นถึงตรงนี้แล้วซื้อคอร์สเราจะมีเวลาเรียนได้ 3 เดือน แต่อย่าเพิ่งสอบเลย (55555+) เพราะผมบอกเลยว่ายังไม่พอแน่ ๆ ต่อมาไล่เนื้อหาตามหัวข้อ Course Syllabus ของคอร์ส PEN-200 (OSCP) ดูว่าข้อไหนที่เราไม่รู้หรือยังไม่ค่อยแม่นให้ไปศึกษาเพิ่มเติม และในการสอบ OSCP จะมีคะแนนเสริมฟรี 10 คะแนน เมื่อเราทำ Exercise เกิน 80 % + PWK labs ของคอร์สได้ครบตามเงื่อนไข ตรงนี้ทำให้ครบด้วยแต่ถ้าใครขี้เกียจผมขอแนะนำให้ทำ เพราะจะทำให้เราอุ่นใจขึ้นเพิ่มกำลังใจในการสอบไปอีกก
- PWK labs ของ Course PEN-200 ค่อนข้างเก่า แต่เราก็ต้องทำให้ครบ 30 เครื่องขึ้นไป เพื่อจะรับคะแนนเสริม 10 คะแนน ตรงนี้เป็นการฝึกเพื่อให้เราสามารถใช้เครื่องมือต่าง ๆ เพื่อหางช่องโหว่ หรือหาช่องทางในการเข้ายึดเครื่องให้คล่องแคล่วมากยิ่งขึ้น
- ทำเสร็จแล้วให้มาไล่เล่นเครื่องจาก Lab Proving Grounds Practice ในทุก ๆ เครื่องเรียงตามลิสต์ของ https://docs.google.com/spreadsheets/u/1/d/1dwSMIAPIam0PuRBkCiDI88pU3yzrqqHkDtBngUHNCw8/htmlview# ผมเล่นทุก ๆ เครื่อง อย่างละ 2 รอบเช่นเดิม ตรงนี้ Proving Grounds lab มีฟังก์ชันที่เราสามารถกด Hints ได้ หากข้อไหนเราทำไม่เป็นหรือไม่รู้แนวทางสามารถกด Hints ได้เขาก็จะใบ้มาเล็ก ๆ น้อย ๆ จริง ๆ พยายามอย่าดู Write Up
Proving Grounds Practice เป็นแล็บที่เราสามารถซื้อได้จาก Website ของ offensive Security โดยมีราคาประมาณ 700 บาท/เดือน
ประเมินตนเองวัดความพร้อม
หลังจากเสร็จสิ้นการเตรียมตัวในขั้นตอนที่ผ่าน ๆ มาแล้วลองประเมินตนเองว่าตัวเองมีความพร้อมหรือไม่
- สามารถดูผลจาก Port ที่เครื่องเป้าหมาย ๆ นั้น ๆ เปิดอยู่แล้วรู้ว่า แต่ละ Port สามารถโจมตีอย่างไร ไม่ใช่ว่าเห็น Service แล้วหา Exploit จากเวอร์ชันเพียงอย่างเดียว แต่สามารถรวมรวบข้อมูลของแต่ละ Port ได้เพื่อนำไปใช้เป็นข้อมูล เพื่อโจมตีต่อไปได้ ไม่มี Writeup mindset
- สามารถใช้และรู้ถึงการใช้งาน Tools ต่าง ๆ ในการ Enumerate ข้อมูล / Pivoting / Privilege Escalation / Manual Enumeration / อ่านผล Linpeas&Winpeas&PowerUp ได้รู้จุดที่สำคัญ สุดท้ายคือมีการบันทึก Command ต่าง ๆ ไว้เป็นของตัวเอง จะได้หยิบใช้ได้อย่างว่องไว
- มีท่าสำรองในการใช้ Tools & Privilege Escalation & Exploit เสมอ เช่น ถ้าเราเจอเหตุการที่เครื่องเป้าหมายไม่สามารถดาวน์โหลดไฟล์ได้จาก Wget เราสามารถใช้อะไรแทนได้บ้างเป็นต้น
- ทำทุกอย่างให้ง่าย ๆ เช่น จะแก้ไข Script อย่างไรให้ใช้งานง่ายที่สุด ได้รับ Shell ไวที่สุด ไม่ยุ่งยากหลายขั้นตอน หรือ จะ Privilege อย่างไรให้สั้นที่สุดไม่ยุ่งยาก เพราะสุดท้ายแล้วการสอบมีเวลาแค่ 24 ชม. เราต้องทำข้อสอบแข่งกับเวลา
- สำคัญมากเวลาเห็นผล Port ของเครื่องเป้าหมายแล้วไม่อึ้ง ไม่ blank ว่าต้องทำอะไรก่อน เริ่มตรงไหนก่อน จงมีสติอยู่กับตัว
- สุดท้ายคือ เสริมดวงชะตาด้วยการเลือกวันเวลาสอบ ที่ฤกษ์ดี ๆ เพิ่มกำลังใจในการสอบ
สุดท้ายนี้ผมหวังว่าบทความนี้คงจะมีประโยชน์กับใครที่อ่านมาถึงตรงนี้ ผมขอให้โชคดีในการเตรียมตัวและการสอบนะครับ ขอให้ทุกคน Try harder ตามสโลแกนของ Offensive Security นะครับ ขอบคุณครับ