ปลดล็อก Cricut Maker ถูกสั่งล็อก ด้วย RP2040 USB Proxy

Rescued Cricut Maker Machine with RP2040 USB Proxy Hardware Mod
เครื่องตัดสติ๊กเกอร์ Cricut Maker ที่ถูกเก็บมาจากกองขยะ e-Waste และคืนชีพด้วยบอร์ด Raspberry Pi RP2040 โดย xssfox

สวัสดีเพื่อนๆ ชาว Maker, สายช่างแกะ และสายฮาร์ดแวร์แฮกกิ้งทุกคนครับ! ✂️🔓 เคยเจอกระแสข่าวหรือเหตุการณ์ที่อุปกรณ์ฮาร์ดแวร์ที่เราซื้อมาอย่างถูกต้อง จู่ๆ วันหนึ่งกลับถูกค่ายผู้ผลิตสั่งล็อกการทำงานทางไกล (Remote Deactivation) จนกลายเป็นขยะอิเล็กทรอนิกส์ (e-Waste) วางทิ้งไว้เฉยๆ ไหมครับ?

คุณ **[xssfox]** นักวิจัยสายแฮกกิ้ง ได้ไปพบเครื่องตัดสติ๊กเกอร์ยอดฮิตอย่าง **Cricut Maker** สภาพยังใหม่วิบวับอยู่ในกองขยะอิเล็กทรอนิกส์ มีเพียงลูกกลิ้งยางที่เปื่อยตามกาลเวลา แต่เมื่อเอากลับมาเปลี่ยนลูกกลิ้งใหม่และเสียบสายเปิดเครื่อง ระบบกลับเด้งข้อความสุดแสบว่า **"Machine deactivated"** (เครื่องถูกสั่งล็อกการใช้งานจากคลาวด์) ซึ่งน่าจะเกิดจากการที่เจ้าของเดิมแจ้งเคลมประกันประกันหรือแลกซื้อรุ่นใหม่ แต่ xssfox ไม่ยอมแพ้! และได้ลงมือปลดล็อกคืนชีพเครื่องตัดราคาหลักหมื่นนี้ด้วยบอร์ดจิ๋ว **Raspberry Pi RP2040** ครับ!

การสืบหาช่องโหว่และโปรโตคอล USB CDC 🔍⚡

เมื่อเครื่องตัดถูกระบบคลาวด์ของ Cricut บล็อก Serial Number ไม่ให้ใช้งาน xssfox ได้ลองค้นหาวิธีปลดล็อกทีละขั้น:

  • แกะดูเมนบอร์ดหาชิป EEPROM: หวังจะแฟลชแก้ Serial Number ตรงๆ แต่กลับไม่พบชิป EEPROM บนบอร์ด และชิป MCU หลักก็ไม่มีเครื่องมือชิปดีบักเกอร์รองรับ
  • ดักจับการสื่อสารทางเน็ตเวิร์ก (Network Intercept): พยายามแก้แพ็กเกจส่งกลับบนคอมพิวเตอร์ แต่ติดระบบรักษาความปลอดภัย Certificate Pinning ที่ค่อนข้างซับซ้อน
  • ดักจับสัญญาณ USB ด้วย Wireshark: พอย้ายมาดักจับการสื่อสารผ่านพอร์ต USB ระหว่างเครื่อง Cricut กับคอมพิวเตอร์ พบว่าใช้โปรโตคอล **USB CDC** สื่อสารธรรมดา และส่งข้อความ Serial Number ออกมาตรงๆ **โดยไม่มีการเข้ารหัส (Crypto) และไม่มีระบบ Checksum เลย!**

💡 อยากลองต่อบอร์ดแฮกสัญญาณ USB หรือสั่งพิมพ์เคสยึดบอร์ด 3D Print?

ในการทำอุปกรณ์ฮาร์ดแวร์ดักจับสัญญาณ (Hardware Proxy) การออกแบบและสั่งพิมพ์เคสครอบบอร์ด RP2040 ด้วย **3D Printing** จะช่วยยึดขั้วสาย USB-A และ USB-C ให้แน่นหนา ป้องกันวงจรลัด และช่วยให้การติดตั้งบอร์ดแทรกเข้าไปในตัวเครื่องดูเรียบร้อยเป็นมืออาชีพครับ!

หากเพื่อนๆ กำลังมองหา **บอร์ด Raspberry Pi RP2040, สายสัญญาณ USB, เครื่องมือช่างอิเล็กทรอนิกส์** หรือต้องการสั่งทำเคสยึดบอร์ดผ่าน บริการรับปริ้นท์ชิ้นส่วน 3D (3D Printing Service) สามารถนำไฟล์ STL มาประเมินราคากับร้าน **Globalbyte Shop** ได้เลยครับ!

สร้าง RP2040 Hardware Proxy สลับ Serial Number กลางทาง 🛠️💻

เมื่อพบช่องโหว่ว่า Serial Number ถูกส่งผ่าน USB CDC สดๆ xssfox จึงเลือกใช้บอร์ด **Raspberry Pi RP2040** มาทำหน้าที่เป็น **USB Proxy (ตัวกลางดักสัญญาณ)** ขั้นกลางระหว่างเครื่อง Cricut กับคอมพิวเตอร์:

  1. ตั้งค่า RP2040 ให้เป็นทั้ง USB Host และ USB Client: ใช้ไลบรารี TinyUSB บน Arduino IDE ให้ขาฝั่งหนึ่งของ RP2040 เชื่อมต่อกับ Cricut (ทำหน้าที่เป็น Host) และอีกฝั่งเชื่อมต่อกับคอมพิวเตอร์ (ทำหน้าที่เป็น Client)
  2. โอเวอร์คล็อกสปีดไปที่ 240 MHz: เนื่องจากระบบ USB Host บน RP2040 ต้องการความเร็วสูงเพื่อให้รับ-ส่งแพ็กเกจข้อมูลได้ทันโดยสัญญาณไม่หลุด จึงทำการโอเวอร์คล็อกชิป RP2040 ไปที่ความเร็ว 240 MHz
  3. สลับแพ็กเกจ Serial Number กลางทาง: โค้ดบน RP2040 จะคอยเฝ้าสแกนแพ็กเกจ USB เมื่อเจอแพ็กเกจ Serial Number ดั้งเดิมของเครื่องที่ถูกล็อก มันจะทำการ **เขียนทับ (Rewrite) สลับเป็น Serial Number อื่น** ที่ไม่ได้ถูกสั่งล็อกส่งต่อไปให้โปรแกรมบนคอมพิวเตอร์ทันที!

ผลลัพธ์ที่ได้คือ ซอฟต์แวร์ Cricut บนคอมพิวเตอร์เข้าใจว่าเครื่องนี้คือเครื่อง Serial Number ใหม่ที่เปิดใช้งานได้ตามปกติ สามารถลงทะเบียนและสั่งงานตัดสติ๊กเกอร์ได้เนียนกริ๊บ 100% เหมือนเครื่องใหม่จากโรงงานเลยครับ!

สามารถศึกษาจุดเริ่มต้นและไอเดียทางเทคนิคเพิ่มเติมได้ที่บล็อกต้นฉบับ Cricut Unlock Article by xssfox และอ่านบทความความรู้เกี่ยวกับสัญญาณการสื่อสารบน Hackaday Spoofing Signal Article ครับ

⚠️ ข้อควรระวังในการซ่อมบำรุงและดัดแปลงสายไฟ!

การซ่อมเปลี่ยนยางลูกกลิ้งใหม่ เทคนิคที่ช่วยให้ใส่ง่ายคือการนำยางลูกกลิ้งใหม่ไปแช่ในน้ำร้อนเพื่อให้พลาสติกนิ่มลงก่อนใส่ และการต่อสายไฟดักสัญญาณ USB ควรใช้อุปกรณ์วัดแรงดันไฟ 5V เพื่อป้องกันไม่ให้ไฟเลี้ยงพอร์ต USB เกิดการช็อตเสียหายครับ!

🔗 ข้อมูลอ้างอิงและจุดวาร์ปอ่านต่อ:

สำหรับเพื่อนๆ ที่ต้องการศึกษาขั้นตอนการแฮกฮาร์ดแวร์เพิ่มเติม สามารถตามลิงก์ไปส่องต่อได้เลยครับ:

*Disclaimer (ข้อจำกัดความรับผิดชอบ): เนื้อหาบทความนี้ถูกเรียบเรียงและสรุปมาจากบล็อกวิจัยภาษาอังกฤษ การต่อวงจรอิเล็กทรอนิกส์และโปรโตคอล USB CDC ควรศึกษาขั้นตอนอย่างละเอียดจาก บล็อกคู่มือทางการของ xssfox ก่อนลงมือทำจริงทุกครั้งครับ!

แท็ก


Blog posts