
แกะรอยความลับ: เจาะระบบหาทางเข้าสู่ใจกลางข้อมูล
การเดินทางในโลกไซเบอร์มักเต็มไปด้วยความท้าทายและการค้นพบที่ไม่คาดฝัน การเจาะระบบอย่างมีจริยธรรม หรือ Penetration Testing เป็นเหมือนการไขปริศนาที่ต้องอาศัยทั้งทักษะและความคิดสร้างสรรค์ เพื่อค้นหาช่องโหว่และเสริมความแข็งแกร่งให้กับระบบ วันนี้จะพาไปสำรวจเส้นทางอันน่าตื่นเต้นของการเข้าถึงระบบเป้าหมาย ตั้งแต่การสำรวจพื้นฐานไปจนถึงการยกระดับสิทธิ์ เพื่อให้เข้าใจถึงกระบวนการคิดและเทคนิคที่ใช้ในการทำงานจริง
เริ่มต้นด้วยการสำรวจข้อมูลพื้นฐาน
ทุกการโจมตีหรือการประเมินระบบที่ดี เริ่มต้นจากการทำความรู้จักกับเป้าหมายให้มากที่สุดก่อน เหมือนการสแกนหาจุดอ่อนรอบๆ บ้านก่อนเข้าไปข้างใน
\
\
ใช้เครื่องมืออย่าง Nmap เพื่อสแกนพอร์ตและบริการที่เปิดอยู่บนเครื่องเป้าหมาย สิ่งที่ตรวจพบได้แก่ พอร์ต 21 สำหรับ FTP (File Transfer Protocol), พอร์ต 22 สำหรับ SSH และพอร์ต 80 สำหรับบริการเว็บ HTTP การพบ FTP ที่อนุญาตการเข้าถึงแบบไม่ระบุตัวตน (anonymous login) เป็นสัญญาณที่ดีที่ควรตรวจสอบต่อ
\
\
ภายใน FTP มักมีข้อมูลที่น่าสนใจซ่อนอยู่ สามารถพบไฟล์ flag1.txt ซึ่งเป็นหนึ่งในเป้าหมาย และไฟล์ important.png ที่น่าสงสัย ไฟล์ภาพนี้อาจมีการซ่อนข้อมูลด้วยเทคนิค Steganography การลองใช้เครื่องมือและรหัสผ่านพื้นฐานบางอย่างเพื่อถอดรหัส ก็เผยให้เห็นข้อมูลสำคัญที่ซ่อนอยู่ภายในรูปภาพ
เจาะลึกเว็บไซต์และค้นพบช่องโหว่
เมื่อพบว่ามีบริการเว็บทำงานอยู่บนพอร์ต 80 ก็ถึงเวลาสำรวจเส้นทางนี้ การเข้าถึงหน้าเว็บแรกอาจไม่ให้ข้อมูลอะไรมากนัก แต่การสแกนหาไดเรกทอรีและไฟล์ที่ซ่อนอยู่เป็นขั้นตอนสำคัญ
\
\
เครื่องมืออย่าง Gobuster ช่วยในการค้นหาไดเรกทอรีที่ไม่ได้แสดงต่อสาธารณะ พบเส้นทางอย่าง /secret, /admin, และ /panel ซึ่งบ่งชี้ถึงหน้าสำหรับผู้ดูแลระบบ หรือส่วนที่จำกัดการเข้าถึง หน้า /panel มีฟอร์มล็อกอินที่ต้องการชื่อผู้ใช้และรหัสผ่าน
\
\
การทดลองใช้เทคนิค Command Injection ในช่องชื่อผู้ใช้ โดยการเพิ่มคำสั่ง Linux พื้นฐานต่อท้ายชื่อผู้ใช้ (เช่น admin; ls -la) ทำให้เว็บไซต์ประมวลผลคำสั่งเหล่านั้น สิ่งนี้ยืนยันว่าช่องโหว่ Command Injection มีอยู่จริง และเปิดโอกาสให้ดึงไฟล์สำคัญอย่าง credentials.txt ออกมาได้ ซึ่งเป็นกุญแจสำคัญสู่การล็อกอินในฐานะผู้ดูแลระบบ
สร้างทางเข้าและควบคุมระบบเบื้องต้น
เมื่อได้ข้อมูลล็อกอินสำหรับผู้ดูแลระบบ ก็สามารถเข้าสู่หน้า /panel ได้สำเร็จ ภายในหน้า Admin นี้ มักมีฟังก์ชันการทำงานที่ทรงพลัง หนึ่งในนั้นคือฟังก์ชันอัปโหลดไฟล์ ซึ่งเป็นช่องทางยอดนิยมในการแทรกซึมระบบ
\
\
แม้ระบบจะพยายามจำกัดการอัปโหลดเฉพาะไฟล์รูปภาพ (JPEG, PNG) แต่ก็สามารถหลีกเลี่ยงข้อจำกัดนี้ได้ด้วยการใช้ Burp Suite หรือเครื่องมืออื่น ๆ เพื่อแก้ไข HTTP Request ในระหว่างการอัปโหลด สามารถเปลี่ยนชื่อไฟล์จาก .jpeg หรือ .png กลับเป็น .php และกำหนด Content-Type ให้เป็น image/jpeg เพื่อหลอกระบบได้สำเร็จ
\
\
เมื่ออัปโหลดสคริปต์ Reverse Shell ที่แปลงเป็นไฟล์ PHP ได้แล้ว ขั้นตอนต่อไปคือการตั้งค่า Netcat listener บนเครื่องโจมตี เพื่อรอการเชื่อมต่อกลับมา จากนั้นเมื่อเรียกดูไฟล์ PHP ที่อัปโหลดบนเซิร์ฟเวอร์ ระบบเป้าหมายจะเปิดการเชื่อมต่อไปยังเครื่องโจมตี ทำให้ได้ Reverse Shell ที่ควบคุมระบบได้ในระดับผู้ใช้ทั่วไป (เช่น www-data)
ยกระดับสิทธิ์เพื่อเข้าถึงสูงสุด
การได้มาซึ่ง Reverse Shell คือก้าวแรก แต่เป้าหมายสูงสุดคือการได้ Root Access หรือสิทธิ์สูงสุดบนระบบเป้าหมาย ซึ่งเป็นกระบวนการที่เรียกว่า Privilege Escalation
\
\
เริ่มจากการตรวจสอบหาไฟล์ที่มีบิต SUID (Set User ID) ที่ถูกตั้งค่าไว้ ไฟล์เหล่านี้จะทำงานภายใต้สิทธิ์ของผู้เป็นเจ้าของไฟล์ แม้ว่าผู้ใช้งานปัจจุบันจะมีสิทธิ์ต่ำกว่าก็ตาม การค้นพบว่า python3 มีบิต SUID เป็นตัวบ่งชี้ถึงช่องโหว่ที่อาจเกิดขึ้น
\
\
อีกหนึ่งช่องทางคือการตรวจสอบคำสั่งที่ผู้ใช้ปัจจุบันสามารถรันด้วยสิทธิ์ sudo ได้โดยไม่ต้องใช้รหัสผ่าน การพบว่าสามารถรัน python3 ด้วย sudo โดยไม่ต้องใส่รหัสผ่าน เป็นโอกาสทองในการยกระดับสิทธิ์ สามารถใช้ Python เพื่อเรียกใช้ shell ด้วยสิทธิ์ root ได้ทันที เมื่อได้ Root Access แล้ว ก็สามารถเข้าถึงไฟล์ root.txt ซึ่งเป็นเป้าหมายสุดท้ายของภารกิจนี้
\
\
การเดินทางครั้งนี้แสดงให้เห็นว่าการเข้าใจระบบและใช้เทคนิคที่เหมาะสม สามารถนำไปสู่การควบคุมระบบได้อย่างสมบูรณ์ แต่สิ่งสำคัญที่สุดคือการใช้ความรู้นี้ในทางที่ถูกที่ควร เพื่อสร้างความมั่นคงปลอดภัยให้กับโลกไซเบอร์