
พลิกคมดาบ Katana: ถอดรหัสเส้นทางสู่การเป็นผู้เชี่ยวชาญด้านความปลอดภัย
สวัสดีนักล่าความท้าทายทุกคน วันนี้เราจะพาไปสำรวจเครื่อง Katana ใน Proving Grounds ซึ่งเป็นสนามฝึกชั้นยอดสำหรับใครที่กำลังเตรียมตัวสอบ OSCP หรืออยากลับคมทักษะด้านการเจาะระบบให้เฉียบคมยิ่งขึ้น
เครื่อง Katana ไม่ใช่แค่การรันคำสั่งตามตำรา แต่เป็นการกระตุ้นให้คิดวิเคราะห์ ตั้งแต่การสำรวจเบื้องต้นไปจนถึงการยกระดับสิทธิ์ บทความนี้จะแกะรอยทุกขั้นตอนสำคัญ เพื่อให้มองเห็นภาพรวมและเข้าใจแนวคิดเบื้องหลังการโจมตีอย่างเป็นระบบ
สแกนหาช่องทาง: การสำรวจเบื้องต้น
การเริ่มต้นทุกภารกิจมักเริ่มจากการทำความรู้จักเป้าหมายให้ดีที่สุด ด้วยการใช้ Nmap เพื่อสแกนหาพอร์ตที่เปิดอยู่ ทำให้ได้ข้อมูลว่าเครื่องเป้าหมายมีพอร์ต 22 (SSH), 80 (HTTP) และ 8080 (HTTP) เปิดให้บริการอยู่
การมีพอร์ต 80 และ 8080 ที่เป็นเว็บเซิร์ฟเวอร์บ่งชี้ว่านี่คือจุดเริ่มต้นที่ดีสำหรับการสำรวจหาช่องโหว่ต่อไป
เจาะลึกเว็บไซต์: ค้นหาจุดอ่อนที่ซ่อนอยู่
เมื่อรู้ว่ามีบริการเว็บเซิร์ฟเวอร์ ขั้นตอนถัดไปคือการสำรวจเนื้อหาภายใน
บนพอร์ต 80 พบหน้าเว็บ Apache มาตรฐาน ซึ่งดูเหมือนจะไม่มีอะไรน่าสนใจเป็นพิเศษ
แต่บนพอร์ต 8080 กลับพบกับ Apache Tomcat ที่มีหน้าจอเข้าสู่ระบบ และลิงก์ “Click here for files” ซึ่งเป็นจุดดึงดูดความสนใจอย่างมาก
การไล่สำรวจ ไดเรกทอรี อย่างละเอียด นำไปสู่การค้นพบ /Katana-0.1/upload.jsp ซึ่งเป็นหน้าสำหรับการอัปโหลดไฟล์
นี่คือ ช่องโหว่สำคัญ ที่จะเปิดประตูแรกสู่ระบบ
สร้างประตูหลัง: การเข้าถึงระบบเบื้องต้น
เมื่อพบหน้าอัปโหลดไฟล์แล้ว ขั้นตอนต่อไปคือการสร้าง Web Shell แบบย้อนกลับ (Reverse Shell)
โดยใช้ไฟล์ .jsp ที่ออกแบบมาเพื่อเชื่อมต่อกลับมายังเครื่องของนักเจาะระบบ
เมื่ออัปโหลดไฟล์ Web Shell เข้าไปในระบบ และเรียกใช้งานผ่านเบราว์เซอร์ เครื่องเป้าหมายจะทำการเชื่อมต่อกลับมายังเครื่องที่กำลังรอรับการเชื่อมต่ออยู่ (Listener) ทำให้ได้ สิทธิ์ในการเข้าถึงระบบ ในระดับผู้ใช้ tomcat
นี่คือและก้าวแรกที่สำคัญในการควบคุมเครื่องเป้าหมาย
ยกระดับสิทธิ์: ขึ้นสู่การเป็นผู้ดูแลระบบ
หลังจากได้สิทธิ์ผู้ใช้ tomcat สิ่งที่ต้องทำต่อไปคือการ ยกระดับสิทธิ์ (Privilege Escalation) เพื่อให้ได้สิทธิ์ผู้ดูแลระบบ (root)
เริ่มจากการสำรวจคำสั่ง sudo -l พบว่าผู้ใช้ tomcat สามารถรัน /usr/bin/go-exploit ได้โดยไม่ต้องใช้รหัสผ่าน
การตรวจสอบโปรแกรม go-exploit พบว่ามันเป็นโปรแกรมที่สามารถรันไฟล์ Go ได้ ซึ่งนี่คือ ช่องโหว่การฉีดคำสั่ง (Command Injection) ที่สามารถใช้ในการยกระดับสิทธิ์ได้
ด้วยการสร้างไฟล์ Go แบบพิเศษ ที่เมื่อถูกรันโดย go-exploit จะทำการตั้งค่า SUID bit ให้กับ /bin/bash
เมื่อ /bin/bash มี SUID bit ผู้ใช้สามารถรัน /bin/bash -p เพื่อเปิด Shell ในระดับ root ได้ทันที
บทเรียนจากคมดาบ Katana
การเจาะระบบเครื่อง Katana นี้ แสดงให้เห็นถึงความสำคัญของ การสำรวจระบบอย่างละเอียด ทั้งพอร์ตที่เปิด เว็บแอปพลิเคชัน และไฟล์ที่ซ่อนอยู่
ความสามารถในการมองหา ช่องโหว่การอัปโหลดไฟล์ และ ช่องโหว่การฉีดคำสั่ง ในโปรแกรมที่มีการกำหนดสิทธิ์ sudo ไว้ เป็นทักษะที่สำคัญอย่างยิ่ง
การทำความเข้าใจว่าแต่ละส่วนประกอบทำงานร่วมกันอย่างไร จะช่วยให้สามารถสร้างเส้นทางในการเจาะระบบได้อย่างมีประสิทธิภาพ ซึ่งเป็นหัวใจสำคัญของการทำงานด้านความปลอดภัยไซเบอร์