研究人员发现官方NPM库中的软件包可以从Chrome web浏览器窃取保存的密码。

NPM 是Node.js的包管理器,共有超过150万个包,每个月的下载量超过300亿次。研究人员分析发现,NPM中包含不同类型的可执行文件,包括PE、ELF、MachO等。

研究人员分析发现nodejs_net_server包的多个版本中都具有恶意行为。通过这些包的metadata数据分析发现该文件的原始名为a.exe,位于lib文件夹中。研究人员进一步分析发现a.exe是一个ChromePass工具,用来恢复Chrome web浏览器中保存的密码。

图1: ChromePass工具

该工具本身并不是恶意的,但是可以用于恶意目的。比如,该包使用它来执行恶意密码窃取和凭证窃取。虽然该密码恢复工具有图形用户接口,但是恶意软件作者好像更喜欢用命令行工具。

图2: nodejs_net_server NPM包

NPM的 nodejs_net_server包页面表明该包的最新版本为v1.1.2,大约6个月前发布。该包的URL主页指向一个GitHub地址。该包的开发者为chrunlee,是GitHub的活跃开发者,GitHub账号中含有一个web链接:hxxps://chrunlee.cn 。

图3: chrunlee的 github页面

NPM版本历史表明该包一共发布了12个版本,总下载次数为1283次。

表 1: nodejs_net_server版本

有意思的是发布的1.1.1和1.1.2版本中包含了测试ChromePass工具的结果。这些登录凭证信息保存在相同文件夹的a.txt文件中, 因为密码恢复工具名为a.exe。

文本文件中包含2020年3月到2020年12月创建的282个登录凭证信息。图4可以看出恶意软件作者并没有遵循密码的最佳安全实践。

图4: 恶意软件作者从浏览器中恢复的密码

另外,恶意软件作者还通过类似单词(typosquatting)诱使受害者执行恶意包。恶意软件作者使用与主流包类似名的包来诱使用目标安装包。本例中,恶意软件作者使用了不同的方式来滥用npm包的配置选项。

NPM包在package.json 配置文件中的bin 域来PATH路径安装一个或多个可执行文件。包安装后,NPM会将该文件软链到prefix/bin文件夹(全局安装)或./node_modules/.bin/ 文件夹(本地安装)。这些可执行文件可能会被分配给任意名,如果相同名字的模块存在,就会覆写和映射到恶意软件提供的脚本。

NPM下载数据表明该包已经被下载超过3.5万次数。该包在Node.js开发者社区也是非常流行的,在过去7天内下载量超过1000次。该包车位劫持目标的另外一个原因是测试执行时是以命令行形式而非JS文件模块的形式。

包安装和成功劫持后,恶意软件还会通过将 lib/test.js 脚本安装为Windows服务的形式来实现驻留。

图6: 驻留Windows服务安装

该服务会打开一个socket来监听7353端口的命令。支持的命令包括逆向host和端口配置、目录内容监听、文件查询、文件上传、shell命令执行、屏幕和摄像头录制。浏览器密码窃取是通过之前下面的ChromePass 工具的shell命令执行实现的。

该包的主页和GitHub仓库链接目前都指向不存在的web页面。查看恶意软件开发者chrunlee发布的其他NPM包发现了一个同样没有链接的包。该包名为tempdownloadtempfile,只在2019年6月发布过1个版本。其中只包含 package.json 和file/test.js文件。file/test.js文件实现了nodejs_net_server 包中实现的相同的远程shell功能,但该包并不执行劫持也没有驻留机制。
在这里友情提醒!!!
答应我
这种事不能能明目张胆的做,里面的饭不好吃!

这有正当的网安学习途径,白嫖资料

用每个月的下载量超过300亿次的NPM,窃取密码是一种什什么样的体验!相关推荐

  1. Secure-D揭示下载量达5亿次的可疑Android应用

    Upstream的安全平台阻止了由流行的Android视频下载器发起的1.3亿次可疑移动交易 VidMate劫持移动设备,吞噬数据,产生不必要的费用并收集个人用户信息,可能影响逾5亿用户 伦敦--(美 ...

  2. 下载量超 20 亿的 8 款 Android 应用涉广告欺诈,谁在“猎杀”猎豹移动?

    作为中国移动互联网公司出海领军者猎豹移动,于近日,被国外应用分析.归属公司 Kochava 发文直指涉嫌背着用户搞广告欺诈,涉及下载量超过 20 亿的 8 款流行 Android 应用,其中 7 款应 ...

  3. TensorFlow全球下载量破1亿,Jeff Dean激动不已,但网友却不给面子

    十三 发自 凹非寺 量子位 报道 | 公众号 QbitAI 4年半,全球下载量突破1个亿,仅过去1个月,便有超过1000万的下载. 这就是TensorFlow提交的最新成绩单. 谷歌AI负责人 Jef ...

  4. TensorFlow全球下载量破1亿,Jeff Dean激动不已

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作分享,不代表本公众号立场,侵权联系删除 转载于:量子位 AI博士笔记系列推荐 周志华<机器学习>手推 ...

  5. 广告屏蔽软件Adblock Plus下载量近10亿

    近日广告屏蔽扩展程序AdBlock和AdBlock Plus正式入驻微软Win10 Edge浏览器,不过当前仅限于Win10预览版用户使用.现在,AdBlock Plus应用开发商德国Eyeo公司联合 ...

  6. 云原生周报 | Fluent Bit下载量达到10亿次;对 Istio 1.11的支持已经结束

    业界要闻 1. Fluent Bit下载量达到10亿次 摘要:如何快速有效地从企业中跨分布式环境创建的大量日志和事件数据中获取情报.这一问题变得越来越困难,随着组织迅速采用分布式.动态.云原生服务,这 ...

  7. HABBY CEO王嗣恩:这个下载量近20亿的爆款,曾被我推翻重做两次

    <别踩白块儿>系列和<弓箭传说>都是近年来的超休闲爆款,在它们火爆全球的背后,HABBY CEO王嗣恩表示,有一种贯穿于制作过程的思想--用低成本的方法快速验证玩法. 8月1日 ...

  8. 自带浏览器_三星手机自带浏览器下载量突破 10 亿次

    近期,三星手机自带的浏览器应用"Samsung Internet Browser"显示在 Google Play 上下载(安装)量突破了 10 亿次.不过,这款浏览器可观的下载量显 ...

  9. Apache OpenOffice 下载量突破一亿次

    Apache软件基金会宣布, 开源办公软件Apache OpenOffice下载量突破了一亿次.OpenOffice的前身是StarDivision的StarOffice,Sun在收购 StarDiv ...

最新文章

  1. ROS系统——roslaunch发布4个realsense相机的4种方法
  2. 揭秘毕加索被隐藏千年的“画中画”,神经网络让它重新面世
  3. git回滚到历史版本,并且删除本地untracked file
  4. mysql 乐观锁 version_乐观锁-version的使用
  5. yum 安装mariadb
  6. 软件与硬件我该选哪个_MacBook Air 和 MacBook Pro 该选哪个……?
  7. python 文件指针及文件覆盖
  8. 用于创建此对象的程序是package_【ROS 学习笔记】CMakeLists.txt 与 package.xml
  9. 网易严选退出双十一:“抵制”鼓吹过度消费
  10. uni-app 登录功能(2)
  11. 读一个文本文件总是出现乱码怎么办
  12. React路由官方网站
  13. 光学载波网络(SONET OC)的网络带宽
  14. 顶尖量化交易公司 CEO 如何缔造量化金融王国?
  15. ShowWindow 隐藏、显示、最大化、最小化窗口
  16. UE4摄像机系统解析
  17. 模拟电子技术(五)放大电路中的反馈
  18. java项目的目录结构
  19. 工业通信的开源项目 HslCommunication 介绍
  20. Python3实现基于ARIMA模型来预测茅台股票价格趋势

热门文章

  1. ML之FE:对爬取的某平台二手房数据进行数据分析以及特征工程处理
  2. Python语言学习:创建/删除文件/文件夹、获取当前文件/文件夹路径(系统环境路径/目录)、获取当前文件夹下的所有子文件路径等代码(os系列用法)实现之详细攻略
  3. Dataset:(公交车、恐龙、大象、花朵、骏马)六类图片数据集(AutoKeras测试)的简介、下载、使用方法之详细攻略
  4. Algorithm:C++语言实现之字符串相关算法(字符串的循环左移、字符串的全排列、带有同个字符的全排列、串匹配问题的BF算法和KMP算法)
  5. Python + wordcloud + jieba 十分钟学会生成中文词云
  6. Python常用扩展包
  7. sklearn中各算法类的fit,fit_transform和transform函数
  8. C#常用类库(100多个)
  9. 数据库字段设置为非空默认值
  10. 对于DataSet中的问题真是郁闷啊