開源惡意程式研究網站OpenSourceMalware 揭露 ,有一波攻擊行動於NPM與RubyGems投放至少56個惡意套件,包括40個NPM套件及16個RubyGems套件。攻擊者刻意使用與熱門套件相近的名稱,誘使開發者誤裝,之後在Windows電腦執行竊密程式,目標包括瀏覽器密碼、登入狀態、支付卡資料、加密貨幣錢包、助記詞及Telegram資料。
NPM與RubyGems都是開發者取得程式套件的公開平台,此次NPM惡意套件仿冒chalk、commander、lodash、typescript、react及axios等常用套件,40個套件在8月16日約8分鐘內集中發布,分散在5個帳號,之後陸續遭NPM移除。RubyGems方面則有16個惡意套件,仿冒bundler、i18n、rake及activesupport等常見相依套件。
兩邊使用的感染方式略有不同,RubyGems版本利用安裝時會執行的extconf.rb腳本啟動惡意程式,NPM版本則利用安裝完成後自動執行的postinstall.js腳本。使用者只要安裝惡意套件,相關程式就可能自動執行,不需要另外開啟檔案。
攻擊發動後,兩種版本都會從同一個GitHub位置下載約22 MB的Windows載入器,載入器本身已藏有另一個Go語言撰寫的竊密程式,執行時直接在記憶體中解密,因此不必再從網路下載第二個惡意執行檔。研究團隊比對後確認,NPM與RubyGems取得的載入器及竊密程式雜湊值相同,也就是説,兩批套件屬於同一波攻擊。
竊密程式主要鎖定Chromium系列瀏覽器,可蒐集儲存的帳號密碼、Cookie、登入工作階段及支付卡資料,也會尋找電腦中的加密貨幣錢包、助記詞與Telegram Desktop資料。RubyGems樣本還包含額外元件,可取得Chromium應用程式綁定加密保護的金鑰,進一步解開新版瀏覽器儲存的敏感資料。
遭竊資料會先打包後上傳至Gofile,接著把下載連結與受害電腦資訊送往攻擊者控制的回傳端點。原始分析並未發現長期常駐機制,攻擊目的主要是在套件安裝後快速蒐集並帶走資料。