ถอดรหัส PS Eclipse: เจาะลึกเส้นทางสู่การควบคุมระบบ

ถอดรหัส PS Eclipse: เจาะลึกเส้นทางสู่การควบคุมระบบ

การทำ Penetration Testing หรือการทดสอบเจาะระบบ เป็นกระบวนการสำคัญในการค้นหาและทำความเข้าใจจุดอ่อนด้านความปลอดภัย

บทความนี้จะพาไปสำรวจการเจาะระบบจำลอง “PS Eclipse” ซึ่งถูกออกแบบมาเพื่อฝึกฝนทักษะการค้นหาช่องโหว่และการยกระดับสิทธิ์ โดยจะเน้นที่เทคนิคและขั้นตอนในการเข้าควบคุมระบบตั้งแต่เริ่มต้นจนถึงระดับสูงสุด

ได้เรียนรู้แนวคิดหลักของการรักษาความปลอดภัยไซเบอร์ผ่านสถานการณ์จำลองนี้

สำรวจเบื้องต้น: รวบรวมข้อมูลสำคัญ

เริ่มต้นด้วยการ สำรวจข้อมูล (Enumeration) เพื่อค้นหาพอร์ตที่เปิดอยู่และบริการที่กำลังทำงาน

ใช้เครื่องมืออย่าง Nmap ในการสแกนเป้าหมาย การสแกนเผยให้เห็นพอร์ตสำคัญหลายพอร์ตที่เปิดอยู่ ได้แก่ พอร์ต 22 สำหรับ SSH, พอร์ต 80 สำหรับ HTTP (เว็บเซิร์ฟเวอร์ Apache) และพอร์ต 139 กับ 445 สำหรับบริการ SMB

ข้อมูลจาก Nmap เป็นแผนที่แรกที่บ่งบอกถึงช่องทางที่อาจใช้ในการเข้าถึง ช่วยให้สามารถวางแผนขั้นตอนต่อไปได้อย่างมีประสิทธิภาพ

ค้นหาเบาะแส: เจาะลึก SMB และเว็บเซิร์ฟเวอร์

เมื่อทราบถึงบริการที่เปิดอยู่ ก็ถึงเวลาเจาะลึก เริ่มที่บริการ SMB Share

มีการค้นพบแชร์ชื่อ anonymous ที่เข้าถึงได้โดยไม่ต้องใช้รหัสผ่าน ภายในแชร์นี้ พบไฟล์ confidential.txt ที่เปิดเผยรหัสผ่านเก่าว่า eclipse2022

จากนั้นสำรวจพอร์ต 80 ซึ่งเป็นเว็บเซิร์ฟเวอร์ การใช้เครื่องมือสแกนไดเรกทอรี พบไดเรกทอรี /backup ซึ่งภายในมีไฟล์ backup.zip ซ่อนอยู่

ไฟล์ backup.zip สามารถแตกออกได้ด้วยรหัสผ่าน eclipse2022 ภายในไฟล์ zip มีสคริปต์ VBScript ชื่อ eclipse.vbs ซึ่งบรรจุข้อมูลล็อกอินสำคัญ ประกอบด้วยชื่อผู้ใช้ smeagol และรหัสผ่าน p@ssw0rd!

เข้าสู่ระบบ: ก้าวแรกสู่การควบคุม

ด้วยข้อมูลล็อกอินที่ได้มาคือ smeagol และ p@ssw0rd! ตอนนี้มีกุญแจสำคัญในการเข้าสู่ระบบได้แล้ว

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

นี่คือการเข้าถึงเบื้องต้นที่ประสบความสำเร็จ แต่เป้าหมายคือการยกระดับสิทธิ์เป็น root

ยกระดับสิทธิ์: การพิชิตสูงสุด

เมื่ออยู่ในระบบในฐานะผู้ใช้ทั่วไป ขั้นตอนต่อไปคือการ ยกระดับสิทธิ์ (Privilege Escalation) เพื่อให้ได้สิทธิ์ควบคุมสูงสุดอย่าง root

เริ่มต้นด้วยการตรวจสอบคำสั่งที่ผู้ใช้ปัจจุบันสามารถรันด้วยสิทธิ์ sudo โดยไม่ต้องใส่รหัสผ่าน โดยใช้คำสั่ง sudo -l

การตรวจสอบนี้เผยให้เห็นช่องโหว่สำคัญ: ผู้ใช้ smeagol สามารถรันคำสั่ง /usr/bin/go ด้วยสิทธิ์ root โดยไม่จำเป็นต้องใช้รหัสผ่าน

สามารถใช้ประโยชน์จากความสามารถนี้โดยการเขียนโปรแกรมภาษา Go ง่ายๆ ที่สั่งให้ระบบเปิด Shell หรือหน้าต่างคำสั่งใหม่ เมื่อโปรแกรม Go ถูกรันด้วยคำสั่ง sudo /usr/bin/go run ด้วยสิทธิ์ root ก็จะได้รับ root shell และควบคุมระบบได้อย่างสมบูรณ์

การยกระดับสิทธิ์ที่สำเร็จนี้ตอกย้ำถึงอันตรายของการกำหนดค่าสิทธิ์ที่ไม่รัดกุม

บทเรียนจากการเจาะระบบ

เส้นทางผ่านระบบ PS Eclipse ได้เผยให้เห็นถึงขั้นตอนและเทคนิคสำคัญในการประเมินความปลอดภัย

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

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