NodeCordRAT惡意軟體
網路安全分析師發現了三個惡意 npm 軟體包,它們旨在傳播一種先前未被記錄的遠端存取木馬 (RAT),該木馬現已被追蹤為 NodeCordRAT。這些軟體包已於 2025 年 11 月從 npm 註冊表中移除,並且全部由名為「wenmoonx」的帳戶發布。
已識別的惡意軟體包:
- bitcoin-main-lib(約 2,300 次下載)
- bitcoin-lib-js(約193次下載)
- bip40(約970次下載)
攻擊者故意選擇與知名 bitcoinjs 生態系統中的合法儲存庫非常相似的名稱,這顯然是為了誤導開發者,增加意外安裝的可能性。
目錄
感染鍊和有效載荷傳遞
當安裝 bitcoin-main-lib 或 bitcoin-lib-js 時,攻擊就開始了。這兩個軟體包都包含一個精心建構的 package.json 文件,其中定義了一個 postinstall.cjs 腳本。腳本會在背景靜默安裝 bip40,而 bip40 正是惡意程式碼的載體。
一旦執行,bip40 就會部署最終有效載荷:NodeCordRAT,這是一個功能齊全的遠端存取木馬,內建資料收集功能。
什麼是NodeCordRAT?
NodeCordRAT 的名稱源自於其兩個核心設計選擇:使用 npm 作為傳播機制,以及使用 Discord 作為指令與控制 (C2) 平台。安裝後,該惡意軟體會對受感染的系統進行指紋識別,從而在 Windows、Linux 和 macOS 主機上產生唯一的識別碼。
此木馬程式能夠竊取敏感訊息,包括:
- Google Chrome 憑證
- API令牌
- 加密貨幣錢包金鑰,例如 MetaMask 資料和助記詞
所有收集到的資料都會透過 Discord 的基礎設施傳回攻擊者。
基於 Discord 的指令與控制
NodeCordRAT 不依賴傳統的 C2 伺服器,而是使用硬編碼的 Discord 伺服器和令牌來建立隱藏的通訊通道。透過該通道,攻擊者可以發出指令並接收竊取的資料。
支援的攻擊者命令包括:
- !run – 透過 Node.js 的 exec 函數執行任意 shell 指令
- !screenshot – 截取完整的桌面螢幕截圖並將其匯出為 PNG 文件
- !sendfile – 將指定的本機檔案上傳到 Discord 頻道
透過 Discord API 進行資料洩露
資料外洩完全透過 Discord 的 REST API 進行。惡意軟體利用嵌入的令牌,將竊取的內容直接發佈到私有頻道,並透過該端點附加檔案:
/channels/{id}/messages
這種方法允許威脅行為者將惡意流量與合法的 Discord 活動混合在一起,使得在允許使用 Discord 的環境中偵測變得更加困難。
安全隱患
這次攻擊活動凸顯了開源生態系統和可信任協作平台持續遭受濫用的現象。攻擊者偽裝成常見的比特幣相關庫,並利用安裝後腳本,構建了一條便捷的感染路徑,能夠傳播跨平台遠端存取木馬(RAT),該木馬專注於竊取憑證和遠端控制。
對於開發團隊和安全專業人員來說,這起事件強調了嚴格審查依賴項、監控安裝時腳本以及對 Discord 等消費者平台的出站流量進行異常檢測的重要性。