NPM官方倉庫遭遇coa等惡意包投毒攻擊
概述
今天,騰訊洋蔥入侵檢測系統發現開源軟件沙箱主機出現異常行為,跟進發現npm官方倉庫的coa、rc被投毒攻擊,已經在騰訊軟件源緊急攔截相關版本。目前npm官方倉庫已將相應版本的惡意包刪除,但由于國內開源鏡像站均同步npm官方倉庫且存在緩存,所以惡意包還可能通過各個開源鏡像站影響廣大用戶。
騰訊安全應急響應中心(TSRC)秉承共建安全生態的原則,在此建議大家自查處理,確保安全風險得到消除。
事件描述
11月4日,npm倉庫中非常流行的coa、rc軟件包被攻擊者劫持,更新了數個版本,并在其中注入了惡意代碼,該惡意代碼只針對Windows服務器,且軟件包的攻擊手法相同,推測屬于同一團伙所為。coa和rc軟件包的周下載量接近千萬級別,并被數百萬開源項目所依賴,其中就包括著名前端框架react,因此影響范圍非常廣。
據宙斯盾流量團隊的數據,惡意域名11月3日注冊,4日凌晨開始有請求,被曝光后相信很快就會被遏制。

簡要分析
在安裝coa和rc軟件包時,會執行start /B node compile.js & node compile.js命令

其中 compile.js是一個混淆的腳本,該腳本會執行包當前目錄下的compile.bat腳本。
compile.bat 通過變量擴展的方式對代碼內容進行了混淆,難以閱讀。還原之后的bat腳本如下,會下載惡意的DLL文件。

該DLL加載后會根據不同參數執行竊取chrome/Firefox/Opera等瀏覽器的密碼、鍵盤記錄等功能,目前已經被各大殺軟查殺。
另外,npm上的bento-modern、nlkfvbdfl包也是同樣手法,但是代碼很簡單,推測是攻擊者在測試代碼混淆功能。ua-parser-js是10月23日上傳,24日被洋蔥發現。
受影響版本
coa:2.0.3, 2.0.4, 2.1.1, 2.1.3, 3.0.1 and 3.1.3
rc:1.2.9, 1.3.9, 2.3.9
攻擊代碼只能在Windows平臺下運行
IOC
域名:
pastorcryptograph.at
MD5:
a92e05e98957d6623d4b37e77f097631
其他
1、官方已經刪除惡意包,但是因為鏡像站有緩存機制,官方刪除的包鏡像站并沒有及時同步刪除,所以仍然有用戶受到影響。這里的緩存同步刪除也是各鏡像站需要加強的地方。
2、騰訊云主機安全產品“云鏡”集成了騰訊自研HIDS洋蔥的安全能力,能夠第一時間應對各種安全問題,歡迎大家體驗。
3、此次事件在我們內部最早由業務線的測試開發同事發現,這得益于我們在公司內開展的“尋找鵝廠最強黑客”系列安全劇本殺比賽,提升了非安全專業人員的安全意識和能力,真正實踐落地DevSecOps的“安全靠大家”的理念。劇透一下,類似比賽即將通過TSRC對外開啟,敬請期待