เจาะลึกการแฮก CTF: เส้นทางสู่การยึดระบบแบบมืออาชีพ

เจาะลึกการแฮก CTF: เส้นทางสู่การยึดระบบแบบมืออาชีพ

การแข่งขัน Capture The Flag หรือ CTF คือสนามประลองทักษะด้านความปลอดภัยทางไซเบอร์ที่จำลองสถานการณ์จริง

ผู้เล่นจะได้ทดลองเจาะระบบเสมือน เพื่อค้นหา “ธง” ที่ซ่อนอยู่

บทความนี้จะพาคุณไปสำรวจเส้นทางสู่การพิชิตเครื่องเป้าหมาย ในแบบฉบับที่นักเจาะระบบมืออาชีพใช้กัน

เรียนรู้ขั้นตอนสำคัญตั้งแต่การสำรวจ ไปจนถึงการยึดครองสิทธิ์สูงสุดของระบบ

สำรวจระบบเบื้องต้น: ก้าวแรกสู่การโจมตี

ก่อนจะเริ่มโจมตีสิ่งใด การทำความรู้จักเป้าหมายเป็นสิ่งสำคัญที่สุด

เริ่มจากการใช้เครื่องมืออย่าง Nmap เพื่อสแกนหาพอร์ตที่เปิดอยู่และบริการที่กำลังทำงานบนเครื่องเป้าหมาย

การค้นพบ พอร์ต 80 (HTTP) ชี้ให้เห็นว่ามีเว็บเซิร์ฟเวอร์ทำงานอยู่ และ พอร์ต 22 (SSH) บ่งบอกว่าสามารถเข้าถึงผ่าน Secure Shell ได้

หลังจากนั้น เครื่องมืออย่าง Gobuster หรือ Dirb จะเข้ามามีบทบาทในการสแกนหาไดเรกทอรีและไฟล์ที่ซ่อนอยู่บนเว็บเซิร์ฟเวอร์

สิ่งเหล่านี้อาจนำไปสู่หน้า ล็อกอิน ที่ไม่ปรากฏต่อสาธารณะ /admin หรือแม้กระทั่งไฟล์ robots.txt ที่อาจเปิดเผยเส้นทางลับบางอย่างของเว็บไซต์

ข้อมูลเหล่านี้เปรียบเสมือนแผนที่ที่ช่วยนำทางไปสู่ช่องโหว่แรกของระบบ

เจาะช่องโหว่บนเว็บไซต์: มุ่งเป้า WordPress

เมื่อพบว่ามีเว็บเซิร์ฟเวอร์ทำงานอยู่ การสำรวจเพิ่มเติมบนเว็บไซต์จะเผยให้เห็นว่าระบบกำลังใช้ WordPress

สังเกตได้จากการเจอหน้า /wp-admin หรือโครงสร้างไฟล์ที่คุ้นเคย

จากนั้น ใช้เครื่องมือเฉพาะทางสำหรับ WordPress อย่าง WPSCAN เพื่อสแกนหาข้อมูลเชิงลึก

WPSCAN สามารถช่วยค้นหา ชื่อผู้ใช้งาน ที่เป็นไปได้ ปลั๊กอิน และธีมที่มีช่องโหว่

การระบุ ชื่อผู้ใช้งาน ที่ถูกต้อง เช่น “admin” ถือเป็นก้าวสำคัญ

จากนั้น เครื่องมือนี้ยังสามารถใช้ในการ Bruteforce หรือเดารหัสผ่านโดยใช้รายการคำศัพท์ (Wordlist)

หากโชคดีและมีการตั้งรหัสผ่านที่คาดเดาได้ง่าย ระบบก็จะถูกเจาะเข้าสู่หน้าควบคุม WordPress Admin Panel ได้สำเร็จ

ยึดครองระบบด้วย Reverse Shell: สร้าง Backdoor

เมื่อเข้าถึง WordPress Admin Panel ได้แล้ว เป้าหมายต่อไปคือการได้ Shell หรือสิทธิ์ในการรันคำสั่งบนเครื่องเป้าหมาย

วิธีหนึ่งคือการอัปโหลด Reverse Shell

โดยเข้าไปที่ส่วน Theme Editor ใน Appearance ของ WordPress

เลือกแก้ไขไฟล์ธีมใดธีมหนึ่ง เช่น 404.php แล้วแทรกโค้ด PHP Reverse Shell เข้าไป

ก่อนที่จะรันโค้ดนี้ จำเป็นต้องตั้งค่า Netcat Listener บนเครื่องของตนเอง เพื่อรอรับการเชื่อมต่อที่กำลังจะมาถึง

เมื่อมีการเข้าถึงหน้าเว็บไซต์ที่ใช้ไฟล์ 404.php หรือไฟล์ที่แก้ไขไปแล้ว โค้ด Reverse Shell จะทำงาน

มันจะเชื่อมต่อกลับมายังเครื่องของผู้โจมตี ทำให้ได้รับ Shell ที่มีสิทธิ์ใช้งานในระดับต่ำ ซึ่งมักจะเป็นสิทธิ์ของเว็บเซิร์ฟเวอร์ เช่น www-data

ไต่ระดับสิทธิ์: สู่สถานะ Root

การได้ Shell ด้วยสิทธิ์ www-data ยังไม่เพียงพอต่อการควบคุมระบบทั้งหมด

การยึดสิทธิ์สูงสุดหรือ Root เป็นสิ่งจำเป็น

ขั้นตอนนี้เรียกว่า Privilege Escalation

เริ่มจากการค้นหาไฟล์ที่มี SUID Bit กำหนดไว้ หรือตรวจสอบสิทธิ์การใช้งาน sudo

การค้นพบว่า sudo อนุญาตให้เรียกใช้โปรแกรมบางอย่าง เช่น python3 โดยไม่ต้องใส่รหัสผ่าน ถือเป็นช่องโหว่สำคัญ

สามารถใช้ Python เพื่อเรียกใช้งาน Shell ที่มีสิทธิ์เป็น Root ได้ทันที ด้วยคำสั่งง่าย ๆ เช่น sudo python3 -c 'import os; os.system("/bin/bash")'

เพียงเท่านี้ ก็จะได้สิทธิ์ในการควบคุมเครื่องเป้าหมายได้อย่างสมบูรณ์

เก็บเกี่ยวธงแห่งชัยชนะ: ภารกิจสำเร็จ

เมื่อได้สิทธิ์ Root แล้ว ขั้นตอนสุดท้ายคือการค้นหาและเก็บธง

โดยทั่วไปแล้ว ธงผู้ใช้งาน (User Flag) จะอยู่ในไดเรกทอรีบ้านของบัญชีผู้ใช้ เช่น /home/user/user.txt

ส่วน ธง Root (Root Flag) ซึ่งเป็นธงที่แสดงถึงการยึดครองระบบได้อย่างสมบูรณ์ จะอยู่ในไดเรกทอรี /root/root.txt

การค้นพบธงเหล่านี้คือการประกาศว่าภารกิจสำเร็จลุล่วง

การเดินทางในโลกของ CTF สอนให้รู้จักคิดวิเคราะห์ ค้นหาช่องโหว่ และหาวิธีแก้ปัญหาอย่างสร้างสรรค์ มันเป็นการฝึกฝนทักษะที่จำเป็นอย่างยิ่งสำหรับผู้ที่ต้องการเป็นผู้เชี่ยวชาญด้านความปลอดภัยทางไซเบอร์