在 Rest-client 和其他 10 個 Ruby 套件中偵測到惡意程式碼

採用流行的寶石包 休息客戶端,總下載量為 113 億次, 已確定 取代下載可執行指令並向外部主機傳送訊息的惡意程式碼 (CVE-2019-15224)。 這次攻擊是透過 妥協 rubygems.org 儲存庫中的開發者帳戶rest-client,之後攻擊者於 13 月 14 日和 1.6.10 日發布了版本 1.6.13-XNUMX,其中包含惡意變更。 在惡意版本被封鎖之前,大約有一千名用戶成功下載了它們(攻擊者發布了舊版的更新,以免引起注意)。

惡意變更會覆寫類別中的“#authenticate”方法
身份,之後每個方法呼叫都會將身份驗證嘗試期間發送的電子郵件和密碼傳送到攻擊者的主機。 這樣,使用Identity類別並安裝有漏洞版本的rest-client庫的服務使用者的登入參數就會被攔截,從而 精選 作為許多流行 Ruby 軟體包的依賴項,包括 ast(64 萬次下載)、oauth(32 萬次)、fastlane(18 萬次)和 kubeclient(3.7 萬次)。

此外,程式碼中還新增了後門,允許透過 eval 函數執行任意 Ruby 程式碼。 此程式碼透過攻擊者金鑰認證的 Cookie 進行傳輸。 為了通知攻擊者在外部主機上安裝了惡意軟體包,系統會發送受害者係統的 URL 以及有關環境的一系列訊息,例如 DBMS 和雲端服務的保存密碼。 記錄了使用上述惡意程式碼下載加密貨幣挖礦腳本的嘗試。

研究惡意程式碼後發現 透露類似的變化也存在於 10包 在 Ruby Gems 中,它們沒有被捕獲,而是由攻擊者基於其他具有相似名稱的流行庫專門準備的,其中破折號被替換為下劃線,反之亦然(例如,基於 cron 解析器 創建了一個惡意包 cron_parser,並基於 狗狗幣 doge-coin 惡意包)。 問題包:

該清單中的第一個惡意軟體包於 12 月 2500 日發布,但大多數出現在 XNUMX 月。 這些軟體包總共被下載了大約 XNUMX 次。

來源: opennet.ru

添加評論