恐怖如斯!發現有攻擊者使用 NPM 包從本機竊取 SSH 密鑰!
軟件威脅研究人員上月初(2024 年 1 月)發現有惡意 NPM 軟件包,會竊取電腦的 SSH 密鑰并上傳至 Github。
幸運的是 Github 在 1 月初發現后在沒有被大面積擴散之前已從 NPM 注冊表中刪除了兩個軟件包:warbeast2000 和 kodiak2k
詳細了解下它們做了什么?
warbeast2000
以下代碼不是很復雜,一旦將其包安裝到自己的電腦上后,會做以下幾件事:
- 啟動一個安裝后的腳本
- 讀取 home 目錄下的
/.ssh/id_rsa
文件(代碼 L10 行定義的路徑 filePath,代碼 L13 行使用 Node.js API 從本地文件系統獲取私鑰信息) - 對獲取到的密鑰 base64 編碼并上傳至攻擊者的 Github 倉庫
這段代碼看完,真是恐怖如斯!id_rsa
是 ssh-keygen
生成的 SSH 密鑰默認文件,在 Windows、MacOS、Linux、Unix 系統上是一個標準文件名了,開發者通常使用它訪問自己的私有倉庫,例如 Github、Gitlab 等。
要注意的是,除了 id_rsa 是默認的文件名,.ssh 這個文件夾也是可以訪問的,意味這該文件夾下的內容也是可以被全部竊取的。很顯然,“這個攻擊者的軟件包很可能還處于開發中...”
好在,該軟件包已于 1 月 3 日左右被報告給了 NPM 管理員,并且已被刪除。
kodiak2k
warbeast2000 被發現后的不久,1 月 5 日又發現一個類似的軟件包 kodiak2k,與上面代碼類似都會獲取本機 ssh 密鑰,不同的是該軟件似乎在攻擊一個具體的名為 meow
的用戶。
上次剛發現有人將 武林外傳 上傳至 NPM 倉庫,當免費網盤使用,這次竟有人惡意利用 NPM、Github 竊取用戶的 SSH 密鑰,幸運的是這次發現的早,影響范圍有限。warbeast2000 軟件包的下載量略低于 400
次,而 kodiak2k 的下載量約為 950
次。
從側面也反映出 NPM、Github 被濫用的行為正在擴大,不知不覺中也會影響到我們每個人。本次事件也應引起我們大家的注意,開發人員和開發組織在選擇一些 NPM 包時也需要進行安全評估。
這種事件并非 NPM 獨有,Python 的包管理 PyPI 也曾受到惡意包的困擾,參考 https://www.scmagazine.com/brief/info-crypto-stealing-python-packages-proliferate。
本文參考 https://www.reversinglabs.com/blog/gitgot-cybercriminals-using-github-to-store-stolen-data。