Skip to content

CTF (Capture The Flag) คืออะไร

Updated: Jul 1

Capture The Flag

CTF นั้นย่อมาจาก Capture The Flag คือ การแข่งหาธง (Flag) ที่ซ่อนอยู่ในโจทย์ต่าง ๆ มาให้ได้ ดังนั้น ผู้เข้าแข่งขันต้องดำเนินการหาธงที่ซ่อนอยู่ออกมาจากไฟล์ โปรแกรม หรือชุดข้อมูล ด้วยวิธีการต่าง ๆ เช่น Crack Password, Reverse engineering, Web Application Hacking หรืออะไรก็ตามแล้วส่งให้กรรมการตรวจสอบความถูกต้อง

ตัวอย่าง Wargame จากเว็บ root-me.org

ทำไมต้องหัดเล่น CTF

การเล่น CTF ถือเป็นวิธีที่ดีที่สุดวิธีหนึ่งในการเรียนรู้เพื่อเพิ่มทักษะ ความรู้ ความเข้าใจ ด้านความมั่นคงปลอดภัย ซึ่งสามารถแบ่งเป็นหมวดต่าง ๆ ได้ดังนี้

  1. Cryptography

เป็นหมวดที่เกี่ยวกับการโจมตีการเข้ารหัสข้อมูลลับต่าง ๆ เพื่ออ่านหรือแก้ไขข้อความที่ถูกเข้ารหัสอยู่ ซึ่งอาจให้เป็นโค้ดโปรแกรม หรือแอปพลิเคชัน ที่มีการเข้ารหัสที่ไม่ปลอดภัยเพียงพอมาให้ทำการวิเคราะห์เพื่อหาคำตอบ

  1. Web/Mobile Exploitation

เป็นหมวดที่เกี่ยวกับการโจมตีช่องโหว่ต่าง ๆ บนเว็บแอปพลิเคชัน เช่น SQL Injection เพื่อเข้าไปอ่าน Flag ที่อยู่ภายในฐานข้อมูลที่เชื่อมต่อกับเว็บแอปพลิเคชัน

  1. Reverse Engineering

เป็นหมวดที่เกี่ยวข้องกับการทำวิศวกรรมย้อนกลับ เพื่อทำการวิเคราะห์ ค้นหา จุดอ่อนหรือช่องโหว่จากไฟล์ Binary (.exe, .so, .dll, .dylib, ELF) ที่ผ่านการ Compile มาแล้ว ซึ่งอาจจะเป็นโปรแกรมที่มีกระบวนการเข้ารหัส หรือมีกลไกการทำงานที่มีจุดเชื่อมต่อไปยังข้อเท็จจริงบางอย่างที่เป็นคำตอบ

  1. Binary Exploitation (Pwn)

เป็นหมวดที่ต้องทำการโจมตีโปรแกรม Binary ด้วยวิธีการต่างๆให้สามารถ Exec Command ในเครื่องของเป้าหมายได้ ตัวอย่างช่องโหว่เช่น Buffer Overflow, Format String และ Use-After-Free

  1. Forensics

เป็นหมวดที่เกี่ยวกับการวิเคราะห์ทางด้านเครือข่าย จากไฟล์ประเภทต่างๆ เช่น Pcap ที่ได้จาก Wireshark หรือ การวิเคราะห์ Memory ของระบบปฏิบัติการ OS/Linux จากไฟล์ Memory Dump หรือการวิเคราะห์ไฟล์ Partition ของ Hard Disk เป็นต้น โดยปกติแล้ว หมวด Forensics มีวัตถุประสงค์เพื่อสืบค้น หาหลักฐานภัยคุกคามต่าง ๆ จากข้อมูลที่โจทย์ให้มา เพื่อป้องกันภัยคุกคามความมั่นคงปลอดภัยบนระบบสารสนเทศ

  1. Programming

เป็นหมวดที่ต้องใช้ความรู้ความเข้าใจทางด้านการเขียนโปรแกรม ตามความถนัดของแต่ละภาษาของคนๆนั้น เช่น Perl, Python, PHP มาใช้ในการแก้ปัญหา ของโจทย์ต่างๆ เป็นต้น

  1. Miscellaneous

เป็นหมวดอื่น ๆ เป็นหมวดที่เกิดจากการรวมหลายๆหมวดเข้าไว้ด้วยกัน อาจไม่เกี่ยวข้องกับหมวดด้านบน หรืออาจเกี่ยวข้องก็ได้ ก็ขึ้นอยู่กับโจทย์ในแต่ละโจทย์ที่ได้มา เช่น การตามหาข้อมูลอะไรบางอย่างที่คนออกโจทย์ไปซ่อนไว้ในโลกออนไลน์จากคำใบ้ที่กำหนดให้

ในการเล่น CTF จะทำให้เราได้พบกับความท้าทายในการทดสอบเจาะระบบในรูปแบบต่างๆและได้รู้จักกับคนที่มีความสนใจในด้านความมั่นคงปลอดภัยบนระบบสารสนเทศเหมือนๆกัน

Capture the Flag and eSports

https://adam.shostack.org/blog/2019/09/capture-the-flag-events-and-esports/

การเล่น CTF มีประโยชน์อย่างไร

  • ได้ความบันเทิง เล่นเพื่อความสนุก สำหรับคนที่มีความสนใจเรื่องความมั่นคงปลอดภัยบนระบบสารสนเทศแล้ว การเล่น CTF เหมือนการเล่นเกม ที่ต้องใช้ความรู้ทางด้าน Cybersecurity ในการผ่านด่าน ใช้ความสามารถในการเขียนโค้ดโจมตีระบบ (Exploit) เพื่อฆ่าบอสแต่ละตัว แล้วแต่ละโจทย์ก็จะมีความยากง่ายที่ท้าทายแตกต่างกันไป ทำให้เล่นได้ไม่เบื่อ
  • ได้เรียนรู้ โจทย์ CTF จำเป็นต้องใช้ความรู้เกี่ยวกับ Cybersecurity ในการแก้โจทย์ต่างๆ โดยแต่ละ ข้อเป็นการสร้างโจทย์ให้เสมือนสถานการณ์จริง แต่ทำให้ง่ายกว่าเพื่อให้ง่ายต่อการทำความเข้าใจและสามารถทำการโจมตี หรือวิเคราะห์ได้ภายในเวลาที่กำหนดได้
  • ได้ชื่อเสียงและโอกาสในการได้งาน การเล่น CTF เป็นวิธีหนึ่งในการเข้าสู่สายงานทางด้าน Cybersecurity โดยสามารถเริ่มศึกษาและลองเล่นขณะกำลังเรียนมัธยมหรือมหาวิทยาลัยได้ ในการสมัครงานของหลาย ๆ บริษัททางด้าน Cybersecurity ในประเทศไทย หากผู้สมัครมีประสบการณ์หรือชนะการแข่งขัน CTF จะได้รับการพิจารณาเป็นพิเศษ

 

สามารถเข้าไปฝึกเล่น CTF ได้ตาม Link ด้านล่างนี้

  1. https://www.root-me.org/en/Challenges
  2. https://portswigger.net/web-security/all-labs
  3. https://overthewire.org/wargames
  4. https://cryptohack.org
  5. https://cryptopals.com
  6. https://www.hackthebox.eu
  7. https://www.vulnhub.com
  8. https://microcorruption.com
  9. https://github.com/vulhub/vulhub
 

Ref:

https://www.catcyfence.com/it-security/article/empower-your-itsecurity-team-with-capture-the-flag/