
近期,npm注冊表中出現10款模仿合法軟件項目的惡意包,它們會下載一款信息竊取組件,從Windows、Linux和macOS系統中收集敏感數據。
這些惡意包于7月4日被上傳至npm平臺,因采用多層混淆技術躲過標準靜態分析機制,長期未被發現。據網絡安全公司Socket的研究人員透露,這10款惡意包的下載量已接近1萬次,能夠竊取系統密鑰環、瀏覽器及身份驗證服務中的憑證信息。
截至本文撰寫時,盡管Socket已向npm平臺報告相關情況,但以下惡意包仍可獲取:
1. typescriptjs
2. deezcord.js
3. dizcordjs
4. dezcord.js
5. etherdjs
6. ethesjs
7. ethetsjs
8. nodemonjs
9. react-router-dom.js
10. zustand.js
Socket研究人員表示,這些惡意包通過虛假驗證碼驗證偽裝成合法程序,進而下載一款以PyInstaller打包的24MB信息竊取器。
攻擊者為誘騙用戶下載,采用了“拼寫劫持”(typosquatting)手段——利用多款知名軟件的名稱拼寫錯誤或變體命名惡意包。涉及的合法軟件包括TypeScript(JavaScript的類型化超集)、discord.js(Discord機器人開發庫)、ethers.js(以太坊JavaScript開發庫)、nodemon(Node應用自動重啟工具)、react-router-dom(React瀏覽器路由工具)及zustand(輕量React狀態管理工具)。
開發者在npm平臺搜索這些合法包時,可能因拼寫失誤或直接選擇搜索結果中的惡意包而中招。惡意包安裝后,會自動觸發“postinstall”腳本,生成一個與主機檢測到的操作系統匹配的新終端。該腳本在可見的安裝日志之外執行“app.js”文件,并立即清空窗口以規避檢測。
“app.js”文件是惡意軟件加載器,采用四層混淆技術:自解碼eval包裝器、動態生成密鑰的XOR解密、URL編碼載荷以及深度控制流混淆。
腳本會通過ASCII碼在終端顯示虛假驗證碼,為安裝過程制造合法假象。
![]()
虛假的 ASCII 驗證碼步驟
隨后,它會將受害者的地理位置和系統指紋信息發送至攻擊者的命令與控制(C2)服務器。獲取這些信息后,惡意軟件會從外部來源下載并自動啟動特定于平臺的二進制文件,該文件是一款以PyInstaller打包的24MB可執行程序。
這款信息竊取器的攻擊目標包括各類系統密鑰環(如Windows憑據管理器、macOS鑰匙串、Linux SecretService、libsecret及KWallet),以及基于Chromium內核的瀏覽器和Firefox瀏覽器中存儲的數據(包括用戶配置文件、保存的密碼和會話Cookie)。
此外,它還會在常見目錄中搜索SSH密鑰,并嘗試查找和竊取OAuth令牌、JWT令牌及其他API令牌。
被盜取的信息會被打包成壓縮文件,先臨時存儲在/var/tmp或/usr/tmp目錄,隨后被竊取至攻擊者的服務器(IP地址:195[.]133[.]79[.]43)。
建議曾下載過上述任何一款惡意包的開發者立即清理感染文件,并輪換所有訪問令牌和密碼,因為這些憑證極有可能已被泄露。
從npm或其他開源索引獲取包時,建議仔細核對名稱是否存在拼寫錯誤,并確保所有包均來自可靠的發布者和官方倉庫。
參考及來源:https://www.bleepingcomputer.com/news/security/malicious-npm-packages-fetch-infostealer-for-windows-linux-macos/
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.