เจาะระบบ IoT ด้วยกลเม็ด USB: แกะรอยความลับ Mirai

เจาะระบบ IoT ด้วยกลเม็ด USB: แกะรอยความลับ Mirai

ล่าขุมทรัพย์ดิจิทัล: สำรวจเบื้องต้น

ในยุคที่อุปกรณ์ IoT หรืออินเทอร์เน็ตในทุกสิ่ง กำลังเข้ามามีบทบาทในชีวิตประจำวันมากขึ้นเรื่อย ๆ ความปลอดภัยของอุปกรณ์เหล่านี้ก็กลายเป็นเรื่องที่ละเลยไม่ได้ การเจาะระบบ Mirai ซึ่งเป็นสถานการณ์จำลองการโจมตีทางไซเบอร์ ได้เปิดเผยให้เห็นถึงช่องโหว่ที่น่าสนใจ โดยเฉพาะการใช้ประโยชน์จากคุณสมบัติเฉพาะของระบบปฏิบัติการ Linux ที่เกี่ยวข้องกับการจัดการอุปกรณ์ USB

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

เบื้องหลังเว็บเซิร์ฟเวอร์: ร่องรอยแรก

เมื่อเข้าไปยังพอร์ต 8000 ก็พบกับรายการไฟล์ที่น่าสนใจหลายอย่าง ซึ่งแต่ละไฟล์ล้วนเป็นเบาะแสสำคัญในการคลี่คลายปริศนา มีไฟล์ชื่อ id_rsa.pub ซึ่งเป็น public key ที่มักใช้สำหรับการเข้าถึงแบบ SSH รวมถึงไฟล์ usb.rules ที่บ่งบอกถึงกฎเกณฑ์การจัดการอุปกรณ์ USB ของระบบ นอกจากนี้ยังพบไดเรกทอรี backup ที่ซ่อนไฟล์ log.txt ไว้ ซึ่งกลายเป็นกุญแจสำคัญในการทำความเข้าใจพฤติกรรมของระบบ

ไฟล์ log.txt นี้เผยให้เห็นว่า ผู้ดูแลระบบ หรือผู้ใช้งาน (ซึ่งสันนิษฐานว่าเป็นผู้ใช้งานชื่อ “pi”) มีการตรวจสอบอุปกรณ์ USB อยู่บ่อยครั้ง ด้วยคำสั่งอย่าง lsblk และ fdisk -l ที่ใช้ในการดูข้อมูลดิสก์และพาร์ติชัน นี่เป็นสัญญาณที่ชัดเจนว่า USB drive มีบทบาทสำคัญและเป็นจุดที่ต้องให้ความสนใจเป็นพิเศษในระบบนี้

กฎทองคำของ USB: udev rules

ไฟล์ usb.rules คือหัวใจสำคัญของกลไกการโจมตีนี้ กฎที่ระบุไว้ในไฟล์นี้มีความสำคัญอย่างยิ่ง มันบอกว่าเมื่อระบบตรวจพบอุปกรณ์ USB ที่มี UUID (Universally Unique Identifier) เฉพาะเจาะจง จะทำการ mount หรือเชื่อมต่ออุปกรณ์นั้นเข้ากับระบบโดยอัตโนมัติไปยังตำแหน่งที่กำหนด ตัวอย่างเช่น KERNEL=="sda", SUBSYSTEM=="block", ENV{ID_FS_UUID}=="d6b2c6b4-4b92-411a-8c7c-482d8a59f511", RUN+="/bin/mount /dev/sda /media/usb" กฎนี้คือช่องโหว่ที่เราจะใช้ประโยชน์

แนวคิดคือการ ปลอมแปลง USB drive ของเราให้มี UUID เดียวกันกับที่ระบุในกฎนี้ หากทำสำเร็จ ระบบ Mirai ก็จะมองว่า USB ของเราเป็นอุปกรณ์ที่น่าเชื่อถือ และเชื่อมต่อมันเข้ามาโดยไม่ทันระแวง

สร้าง USB ปลอม: กุญแจสู่การเข้าถึง

การสร้าง USB ปลอมนี้ไม่ใช่เรื่องยาก แต่ต้องอาศัยขั้นตอนที่แม่นยำ เริ่มจากการสร้างไฟล์ภาพดิสก์เปล่าๆ ขึ้นมา จากนั้นใช้เครื่องมือจัดการดิสก์ใน Linux เพื่อกำหนด UUID ให้ตรงกับเป้าหมายทุกประการ เหมือนกับการสร้างบัตรผ่านปลอมที่มีรหัสผ่านที่ถูกต้อง พอสร้างเสร็จ ก็ใส่ SSH private key ที่เราได้มาจากการสำรวจเบื้องต้นลงไปใน USB ปลอมนี้

เมื่อ USB ปลอมที่มี UUID ตรงตามเงื่อนไขถูก “เชื่อมต่อ” เข้ากับระบบ Mirai ระบบก็จะทำการ mount มันโดยอัตโนมัติ และด้วยการตั้งค่าที่ระบุว่าผู้ใช้งาน “pi” มีการตรวจสอบ USB อยู่เสมอ และมี public key ของ “pi” อยู่ในระบบก่อนหน้าแล้ว การที่ระบบสามารถเข้าถึง private key ที่ตรงกันได้จาก USB ที่เราปลอมขึ้นมา ก็ทำให้สามารถเข้าสู่ระบบในฐานะผู้ใช้งาน “pi” ได้สำเร็จ

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