千萬級月下載量的 NPM 包 ua-parser-js 被惡意劫持

2021 年10月22日,Npm 官方倉庫 ua-parser-js 被惡意劫持,多個版本被植入了挖礦指令碼。

什麼是 ua-parser-js

ua-parser-js 包是一個 JavaScript 庫,用於 從User-Agent 中解析出瀏覽器、引擎、作業系統、CPU 和裝置型別/模型等相關的裝置資訊,被廣泛應用於JavaScript開發。這個庫非常受歡迎,每週下載數百萬次,本月下載量超過 2400 萬次,被用於一千多個專案,包括 Facebook、微軟、亞馬遜、Instagram、谷歌、Slack、Mozilla、Discord、Elastic、Intuit、Reddit 等公司的專案。

攻擊過程

10 月 22 日,攻擊者劫持了 NPM 某位開發者的賬號,併發布了惡意版本的 ua-parser-js NPM 庫,這個庫會在 Linux 和 Windows 裝置上自動安裝礦工程式和盜取密碼的木馬。

受感染的軟體包安裝在使用者的裝置上時,preinstall。js 指令碼會檢查裝置上使用的作業系統型別,然後啟動 Linux shell 指令碼或 Windows 批次處理檔案。

如果軟體包在 Linux 裝置上,它將執行 preinstall。sh 指令碼,來檢查使用者是不是在俄羅斯、烏克蘭、白俄羅斯和哈薩克這幾個地方,不在的話就從

http://159。148。186。228/download/jsextension

下載

jsextension

程式來挖礦。jsextension 是一個

門羅幣挖礦程式,為了避免被及時偵測到,它只會佔用裝置

50%

CPU。

如果軟體包在 Windows 裝置上,它也會自動下載

jsextension.exe ,除了這個自動挖礦工具,它還會下載

sdd。dll 檔案,這個檔案會被命名為 create。dll 。這個 DLL 是一個盜號木馬,會嘗試偷取儲存在裝置上的密碼,包括 FTP 客戶端、VNC、聊天軟體、電子郵件客戶端和瀏覽器等等,DLL 還會執行 PowerShell 指令碼從 Windows 證書管理器中竊取密碼。

如何預防/補救?

建議所有使用 ua-parser-js 庫的使用者都檢查一下自己的專案有沒有被感染。

確認於2021 年 10 月 22 日 是否安裝或更新過 ua-parser-js 包。

確認是否有相關元件依賴於 ua-parser-js 包。

檢查裝置裡有沒有

jsextension.exe

(Windows) 或

jsextension

(Linux),並徹底刪除。

Windows 使用者請查詢

create.dll

檔案並徹底刪除。

已經受感染的 Linux 和 Windows 使用者,所有在被感染裝置登陸過的賬號,都要更改密碼!