Hanwha Vision 安全攝影機韌體外洩:GitHub 管理員 Token 與美國國防部 IP 地址

Hanwha Vision 安全攝影機韌體外洩:GitHub 管理員 Token 與美國國防部 IP 地址

一名安全研究人員發現,Hanwha Vision 安全攝影機在出廠時,其登入頁面中嵌入了 GitHub 管理員 Token,這為該公司 GitHub 組織中的數百個儲存庫(repositories)提供了管理權限。此次外洩是因為使用 Vite 构建的攝影機 UI,錯誤地將 CI 環境中的整個 process.env 物件匯出到了正式版構建文件中。

透過構建流程外洩的 GitHub 管理員 Token

Hanwha Vision 在攝影機根檔案系統的約 30 個檔案中,意外暴露了一個高權限的 GitHub Token。此漏洞源於構建時的配置錯誤,導致 CI 作業的環境變數被直接寫入用戶端代碼中。

韌體中發現的外洩環境變數物件範例如下:

var W = {
  DATAPORT: "9090",
  GIT_LFS_SKIP_SMUDGE: "1",
  npm_command: "run-script",
  KUBERNETES_SERVICE_PORT_HTTPS: "443",
  GITHUB_NPM_TOKEN: "<snip>:ghp_…REDACTED…",
  npm_config_userconfig: "/home/docker/.npmrc",
  // etc
}

研究人員證實,該 Token 授予了 Hanwha GitHub 組織中數百個儲存庫的管理權限。在回報此問題後,Hanwha 在 12 小時內做出回應並撤銷了該 Token。

逆向工程韌體加密

存取根檔案系統需要繞過兩層加密。雖然之前的研究指出,加密方式是基於型號的簡單密碼(例如 HTW + 型號),但較新的韌體版本在 fwupgrader 二進位檔中使用了更複雜的混淆方法。

透過使用 Ghidra 和 AI 輔助分析(Claude Code)對 fwupgrader 二進位檔進行分析,研究人員發現 AES 密鑰是與一個靜態密鑰表進行 XOR 運算,並在運行時重新組裝。接著,fwupgrader 會執行 openssl CLI 來解密 rootfs。該產品線中使用的硬編碼憑證為:

  • KEY: dfa049bb922e63e2decc764af5628068e5b7a2662e479a615b14643e567579b0
  • IV: 53f9226801b81454a4f889c9a390db6e6

用於提取 rootfs 的解密命令為:

openssl enc -md sha256 -aes-256-cbc -d -K <KEY> -iv <IV> -in <INPUT> -out <OUTPUT>

發現美國國防部 IP 地址

除了 GitHub Token 之外,外洩的環境變數還包含了分配給美國國防部(DoD)的 IP 地址。這些地址是在 SWARM_MASTER_NFS_ADDRESSOTEL_ELASTIC_URLCIMIP 等變數中發現的。

識別出的特定 IP 包括:

  • 55.101.212.23
  • 55.101.212.21
  • 55.101.211.213

鑑於 Hanwha Vision 是 Hanwha 集團的子公司——該集團包括 Hanwha Aerospace 和 Hanwha Defense USA(K9 Thunder 自行擊毀砲的製造商)——研究人員推測,這些與國防部相關的項目可能是母公司內多家姊妹公司共用 CI 平台所導致的結果。

社群見解與安全影響

業界觀察人士和安全從業者強調了此次事件的幾個關鍵教訓:

  • AI 在逆向工程中的角色:分析混淆過的 fwupgrader 二進位檔的速度之快,凸顯了安全領域的轉變。正如一位評論者所言:「LLM 真正終結了混淆技術。以前混淆之所以有效,僅僅是因為它讓過程變得極其繁瑣,但 AI 並不在乎這些。」
  • IoT 網路隔離:此次事件強化了隔離 IoT 設備的必要性。專家建議將安全攝影機放置在沒有公共網路訪問權限的獨立 VLAN 中,以降低憑證外洩或未經授權訪問的風險。
  • 供應鏈風險:在商業韌體中發現與政府相關的 IP 地址,引發了對供應端攻擊的擔憂。一位社群成員表示,這種外洩可能是針對國防部進行定向攻擊的證據,而攻擊手段正是利用外洩的 GitHub Token。

Sources