ไขรหัสความปลอดภัย: บทเรียนจากการเจาะระบบแบบ “ง่าย” ที่ใครก็พลาดได้

ไขรหัสความปลอดภัย: บทเรียนจากการเจาะระบบแบบ “ง่าย” ที่ใครก็พลาดได้

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

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

การสำรวจเบื้องต้น: กุญแจสู่การเปิดประตู

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

จากการสำรวจพบว่ามีพอร์ต HTTP และ SSH เปิดใช้งานอยู่ นอกจากนี้ยังเจอไฟล์ที่น่าสนใจอย่าง mini.php ซึ่งเป็นส่วนหนึ่งของ Zerion Mini ซึ่งเป็น web shell ที่มักจะถูกติดตั้งไว้ และยังพบหน้า phpmyadmin ที่เป็นเครื่องมือจัดการฐานข้อมูลอีกด้วย การเจอสิ่งเหล่านี้เป็นสัญญาณที่ดีว่าอาจมีช่องโหว่รออยู่

เจาะลึก Web Shell: รอยโหว่ที่ถูกละเลย

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

การใช้ชื่อผู้ใช้และรหัสผ่านเริ่มต้นที่คาดเดาได้ง่าย เช่น “admin:zerion” หรือคล้ายกัน ทำให้สามารถเข้าถึง web shell ได้ทันที เมื่อเข้ามาได้แล้ว การควบคุมระบบก็เริ่มขึ้น สามารถเรียกใช้คำสั่งเพื่อสำรวจไฟล์ต่างๆ และค้นพบ config.php ที่เก็บข้อมูลสำคัญ

ไฟล์ config.php นี้มักจะบรรจุ ข้อมูลรับรองฐานข้อมูล ซึ่งเป็นกุญแจสำคัญต่อไปในการเข้าถึงส่วนอื่นๆ ของระบบ ในหลายกรณี ข้อมูลตรงนี้ก็ยังคงใช้รหัสผ่านเริ่มต้นหรือรหัสผ่านที่อ่อนแอเช่นกัน

เชื่อมโยงช่องโหว่: จากฐานข้อมูลสู่สิทธิ์ผู้ใช้งาน

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

พบว่าข้อมูลรับรองที่ได้จาก config.php สามารถใช้เข้าสู่ระบบ SSH ในฐานะผู้ใช้งานปกติได้สำเร็จ นี่คือตัวอย่างคลาสสิกของภัยคุกคามที่เกิดจาก การใช้รหัสผ่านซ้ำ หรือการตั้งรหัสผ่านที่อ่อนแอสำหรับหลายบริการ การที่ผู้ใช้คนหนึ่งมีรหัสผ่าน “root” หรือรหัสผ่านที่เดาง่ายสำหรับบัญชีผู้ใช้งานทั่วไป ถือเป็นความเสี่ยงที่ร้ายแรงมาก

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

ยกระดับสิทธิ์สู่สูงสุด: เมื่อ MySQL กลายเป็นอาวุธ

หลังจากเข้าถึงในฐานะผู้ใช้งานปกติ สิ่งที่ต้องทำคือการตรวจสอบว่าผู้ใช้นั้นมีสิทธิ์พิเศษอะไรบ้าง หนึ่งในคำสั่งที่สำคัญคือ sudo -l ซึ่งจะแสดงรายการคำสั่งที่ผู้ใช้งานสามารถรันด้วยสิทธิ์ root ได้โดยไม่ต้องใส่รหัสผ่าน

ในกรณีนี้ พบว่าผู้ใช้งานสามารถรันคำสั่ง mysql ด้วยสิทธิ์ root ได้โดยไม่ต้องใช้รหัสผ่าน (NOPASSWD) นี่คือช่องโหว่ร้ายแรงที่สามารถนำไปสู่การยกระดับสิทธิ์ได้อย่างง่ายดาย

ด้วยความช่วยเหลือจาก GTFOBins ซึ่งเป็นแหล่งรวมวิธีการยกระดับสิทธิ์ผ่านไบนารีของระบบต่างๆ เราพบวิธีที่จะใช้คำสั่ง mysql ที่รันด้วย sudo เพื่อเรียกใช้ shell ด้วยสิทธิ์ root ได้ทันที เพียงแค่ป้อนคำสั่งที่ถูกต้อง ระบบก็จะเปิดประตูให้เข้าถึงในฐานะ root หรือผู้ดูแลสูงสุดของระบบได้สำเร็จ

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