安全研究專家 Rasmus Moorats 近日揭露一項驚人的物聯網攻擊鏈:只要處在 Creative Sound Blaster Katana V2X 喇叭約 15 公尺範圍內,攻擊者無需實體接觸、無需配對,就能把這台售價不菲的 PC 喇叭改造成「遠端 Rubber Ducky 鍵盤注入器」兼「竊聽器」。更慘的是,Creative 在長達兩個月的通報流程後,正式回覆:「我們不認為這是漏洞,因為它不構成網路安全風險」。這則研究 6 月 3 日在 Hacker News 一舉衝上 411 分、74 則留言,被網友戲稱為「2026 年最毛骨悚然的外設漏洞」。
故事起點:只是想寫個 Linux 控制工具
Moorats 買了這台 USB 介面的 V2X 喇叭後,原本只是單純想寫個 Linux 工具跟喇叭溝通、調 DSP 跟 LED 設定。但他用 Wireshark 嗅探 USB 流量時,意外發現 Creative 用了一套自製通訊協定 CTP(Creative Transport Protocol)——所有指令開頭都是同一個 byte 0x5a。進一步逆向後,他發現:
- CTP 需要 challenge-response 認證,但密鑰是寫死在 Creative App 安裝包的 binary 裡的靜態值——任何人都能從公開的安裝包解出來
- 韌體更新也走 CTP,而且只驗一個附加在檔案尾巴的 SHA-256(CHK2),沒有任何簽章機制
- 把
WELCOME開機字串改掉重刷,喇叭完全接受——Moorats 把字串改成PATCHED驗證成功「駭客魂覺得這很棒,你買的裝置你做主;但資安魂覺得,連 bootloader 都不用解鎖就能刷任意 firmware,是很糟的設計。」他寫道。但真正的問題是——只要 USB 還插著,這個風險就只限於實體接觸。如果。
藍牙:讓攻擊從「實體」變「無線」的轉捩點
V2X 內建藍牙低功耗(BLE),而且永遠開啟,連睡眠模式也沒辦法關。Creative 還做了手機 App 讓你用手機控制 LED 跟音量。
Moorats 逆向韌體時發現,內部的 CTP 處理器被橋接到 USB 跟藍牙兩個介面。換句話說,本來只走 USB 的 CTP 指令,藍牙也能用。更關鍵的是 BLE 的設計:連線不需要配對。配對只是建立加密通道,純連線讀寫 GATT characteristic 不需要任何認證。他實測:
- 從筆電對 V2X 寫入
5a 09 01 02(CTP 讀取韌體版本的指令) - 從 characteristic
9e9daaeb-3a10-4fe8-b69f-7397aff77886讀回回應 - 直接拿到完整版本字串,無需任何認證
攻擊鏈:藍牙刷入自製韌體 → 喇叭變鍵盤既然任何人都能構造合法 firmware,又能從藍牙無需配對送 CTP 指令,攻擊鏈就完整了:
- 構造一個偽造韌體
- 透過藍牙緩慢上傳(BLE 頻寬很慢,整個過程要 約 10 分鐘)
- 喇叭重啟、套用偽造韌體
- 從此這台喇叭就是攻擊者的後門
Moorats 把這個概念做成 PoC,但真正的殺招在下一步。
把喇叭變成 Rubber Ducky
V2X 平常以 USB 介面連 PC,對作業系統來說是信任裝置。Moorats 觀察 kernel log 發現,V2X 早就把自己註冊成 Consumer Control 裝置(能調音量、播放/暫停),等於「半個 HID 裝置」。他把 USB descriptor 改造,多註冊一個鍵盤介面。又找到韌體裡現成的「送 HID 資料」副程式。最後在 FreeRTOS 的閒置診斷任務上覆寫成:
- 開機後等 20 秒(等 USB 子系統起來)
- 模擬鍵盤輸入「echo pwned」加 Enter,每鍵 20ms
- 任務結束,喇叭其他功能照舊
整個 patch 體積只有 185 byte(83 byte 給 USB descriptor、102 byte ARM/Thumb 組合語言、每個按鍵 2 byte)。攻擊場景推演:實戰中,攻擊者會輸入「開 PowerShell → 貼上惡意 one-liner → 執行」——PoC 用 echo pwned 證明概念就夠了。更狠的是,攻擊者可以順手把正常韌體更新流程整個關掉,讓受害者永遠沒辦法把惡意韌體清掉。
竊聽器模式
V2X 內建麥克風。攻擊者也能刷一個把喇叭變成遠端竊聽器的韌體,聲音透過藍牙回傳。
創意(Creative)的回應:兩個月後說「這不是漏洞」通報時間軸堪稱教科書級的失敗案例:
| 日期 | 事件 |
|---|---|
| 4/1 | 第一次透過客服表單嘗試聯繫(沒有 security contact) |
| 4/7 | 第二次嘗試客服表單 |
| 4/9 | 提交漏洞給新加坡 SingCERT 當中間人 |
| 4/16-4/20 | 與 SingCERT 多輪細節確認 |
| 5/8 | SingCERT 表示聯繫不上廠商 |
| 5/25 | SingCERT 終於收到 Creative 回應,廠商表示「已知悉」 |
| 6/3 | Creative 正式回覆:「我們不認為這構成網路安全風險」 |
Moorats 對此非常無奈:Creative 連一般的客服聯繫管道都沒有,更別提 security contact。
臨時解法:社群自製補丁因為官方不會修,Moorats 寫了一個 patcher 工具 (v2x-patcher),流程是:
- 從 Creative 官方伺服器下載原廠韌體
- 在記憶體裡 patch 掉 CTP-over-Bluetooth
- 透過 USB 刷回喇叭代價是 Creative 手機 App 會失效,但對安全優先的用戶來說,這是唯一選項。工具發布在 git.dog/xx/v2x-patcher,source code 完全公開。
為什麼這研究值得所有人關注
Hacker News 留言區最高票評論一語中的:
「其他周邊廠商是不是也都沒有資安團隊?這類漏洞一定還有更多只是還沒被挖出來。」也有網友補充:USB HID 攻擊的破壞力遠超想像——USB 裝置可以偽裝成網卡讓作業系統把所有流量繞過去、可以偽裝成 DisplayLink dongle 側錄螢幕內容、可以當 mouse jiggler 防止螢幕鎖定。更別提 V2X 喇叭「藍牙永遠開、無法關閉」這個設計缺陷。對企業資安而言,凡是擺在你桌上、插著 USB 線的裝置,都可能是攻擊者的灘頭堡。
研究方法後記
Moorats 在文中詳細分享了逆向過程的踩坑:
- FMAIN.bin 是 scatter-loaded(非單體映像),要用正確的記憶體布局載入 Ghidra 才不會看到滿屏反組譯垃圾
- ARM 字串 X-ref 需要手動 patch 大量
movw/movt對才能識別 - FreeRTOS 的 per-task watchdog 害他 debug 了好幾天——在 USB task context 裡呼叫
vTaskDelay累積超時,整台裝置直接重啟整篇研究附完整時間軸、攻擊鏈示意圖、PoC 原始碼、patcher 工具——展現了獨立研究者在硬體駭客領域的頂尖水準,也順手示範了當 vendor 不理你時,怎麼自救。
Reddit 熱門留言 (5)