เจาะลึก ‘Dripping Blues’: ถอดรหัสการเจาะระบบในโลกไซเบอร์

เจาะลึก ‘Dripping Blues’: ถอดรหัสการเจาะระบบในโลกไซเบอร์

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

Hacking ขั้นตอนที่ 1: สอดแนมและค้นหาจุดอ่อน

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

ในการสำรวจ Dripping Blues พบว่ามีบริการหลายอย่างเปิดใช้งานอยู่ เช่น พอร์ต 21 (FTP), พอร์ต 80 (HTTP) สำหรับเว็บเซิร์ฟเวอร์, พอร์ต 139/445 (SMB) สำหรับการแชร์ไฟล์, และ พอร์ต 3306 (MySQL) สำหรับฐานข้อมูล

สิ่งที่น่าสนใจคือ FTP อนุญาตให้เข้าสู่ระบบแบบไม่ระบุตัวตน (Anonymous Login) และภายในนั้นพบไฟล์ชื่อ note.txt ซึ่งเป็นเหมือนจิ๊กซอว์ชิ้นแรกของปริศนา เมื่อถอดรหัสออกมาก็ได้คำว่า “dpsec” นี่อาจเป็นชื่อผู้ใช้หรือเบาะแสสำคัญบางอย่าง

ส่วนบริการ SMB ก็ไม่น้อยหน้า มีการแชร์ข้อมูลที่สำคัญ รวมถึงไฟล์ dump.sql ซึ่งมักจะเป็นการสำรองข้อมูลของ ฐานข้อมูล และไฟล์ backup.zip ที่อาจซ่อนความลับบางอย่างไว้

เมื่อตรวจสอบ พอร์ต 80 (HTTP) พบว่าระบบกำลังใช้งาน WordPress ซึ่งเป็นแพลตฟอร์มเว็บไซต์ยอดนิยม การสำรวจเพิ่มเติมเผยให้เห็นว่ามีการใช้ ปลั๊กอิน Ultimate Member และมีผู้ใช้งานชื่อ “dpsec” ตรงกับเบาะแสที่ได้จาก FTP พอดี นี่เป็นสัญญาณว่าเรากำลังมาถูกทาง

Hacking ขั้นตอนที่ 2: เจาะระบบและเข้าถึงเบื้องต้น

จากข้อมูลที่ได้มา ปลั๊กอิน Ultimate Member ใน WordPress มีชื่อเสียงในด้าน ช่องโหว่ หนึ่งที่รู้จักกันดีคือ ช่องโหว่ CVE-2023-3460 ซึ่งอนุญาตให้ผู้โจมตีสามารถ อัปโหลดไฟล์อันตราย เข้าไปในเซิร์ฟเวอร์ได้

เมื่อทราบดังนั้น จึงใช้ประโยชน์จาก ช่องโหว่อัปโหลดไฟล์ นี้ เพื่อส่ง เว็บเชลล์ (Web Shell) หรือโค้ด PHP เล็กๆ ที่ทำหน้าที่เป็นประตูหลังเข้าไปยังเซิร์ฟเวอร์ เมื่ออัปโหลดและเรียกใช้งานสำเร็จ ก็สามารถสร้าง รีเวิร์สเชลล์ (Reverse Shell) เพื่อเชื่อมต่อกลับมายังเครื่องของแฮกเกอร์ ทำให้ได้สิทธิ์ในการเข้าถึงและสั่งงานเครื่องเป้าหมายในระดับผู้ใช้งานทั่วไป

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

Hacking ขั้นตอนที่ 3: ยกระดับสิทธิ์สู่การควบคุมสูงสุด

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

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

เมื่อเข้าสู่ระบบด้วย SSH ได้แล้ว การตรวจสอบคำสั่ง sudo -l ก็เผยความลับอีกอย่างหนึ่ง ผู้ใช้งาน “dpsec” ได้รับอนุญาตให้ใช้คำสั่ง cp (copy) ในฐานะ root ได้โดยไม่ต้องใส่รหัสผ่าน

นี่คือ ช่องโหว่ ที่ร้ายแรงมาก เพราะหมายความว่าเราสามารถคัดลอกไฟล์ /bin/bash ซึ่งเป็นเชลล์หลักของระบบ ไปยังไดเร็กทอรีชั่วคราว แล้วตั้งค่า SUID bit ให้กับมันได้ เมื่อไฟล์ใดมี SUID bit และเป็นของ root เมื่อเราเรียกใช้งานไฟล์นั้น มันจะทำงานด้วยสิทธิ์ของ root ทันที

ด้วยเทคนิคนี้ เราจึงสามารถเรียกใช้ /tmp/shell -p เพื่อรับสิทธิ์ Root และเข้าควบคุมเครื่อง Dripping Blues ได้อย่างสมบูรณ์ กลายเป็น ผู้ดูแลระบบ สูงสุดของเครื่อง

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