写点什么

NPM 移除 4 个恶意软件包:泄露用户数据已有数月,4 个包分工明确

  • 2020-10-24
  • 本文字数:1362 字

    阅读完需:约 4 分钟

NPM 移除 4 个恶意软件包:泄露用户数据已有数月,4 个包分工明确

近日,NPM 移除了多个托管在其仓库中的包,原因是这些包会向远程服务器建立连接并泄露用户数据。


这 4 个包在过去几个月中累计有超过 1000 次下载,直到 10 月 15 日被 NPM 移除。


这 4 个包是:


  1. plutov-slack-client- manifest 中的信息声称是一个“Node.JS Slack 客户端”。

  2. nodetest199- 没有描述。

  3. nodetest1010- 没有描述。

  4. npmpubman- manifest 中的信息声称是“一个关于 Linux shell 登录的简单实现”。

向攻击者的服务器建立一个反向 shell

尽管恶意软件已经被 NPM 曝光和移除,但我依然从 Sonatype 的自动恶意软件检测系统档案中获得了这些包的源代码,就像它曾经在 NPM 下载时一样。


前 3 个包 plutov-slack-client、nodetest1010 和 nodetest199 共享相同的代码。


这些包中包含的非常简单的代码能够在 Windows 和基于 Unix 的系统上运行。


用户安装了这些包之后,这些包的代码会向攻击者的服务器建立一个反向 shell,允许攻击者能够远程访问受害机器。



前 3 个包 (plutov-slack-client, nodetest1010, and nodetest199) 向攻击者的服务器建立了一个反向 shell

来源:BleepingComputer



在这里我发现了一个关键的点,那就是尽管这 3 个包共享相同的代码,但这 3 个包所包含的 manifest 文件(package.json)中关于作者介绍和他们的 GitHub 简介的元数据却完全不同。


很可能,packge.json 中的数据是恶意软件的作者伪造的,或者恶意软件使用属于不同受害开发者的 GitHub 和 npm 账号发布了这些恶意软件包。

向一个远程服务器上传用户数据

列表中的最后一个包 npmpubman 的代码结构和目标完全不同。


它从环境变量收集用户数据,并将这些信息发送到一个远程主机。


由 NodeJS process.env 提供的环境信息会暴露开发者环境的敏感信息,例如 PATH 变量、数据库服务器、端口、API 密钥等等。



恶意软件 NPM 包 npmpubman 向一个远程服务器泄露环境变量

来源: BleepingComputer



尽管 package.json 文件中提供的数据冲突,但很可能这 4 个软件包都是由相同的攻击者创建的。


在实际的场景中,npmpubman 可以被攻击者当作“侦查工具”来使用,收集系统信息,而其它包则是负责在攻击者和受害者的计算机之间建立一个直接连接。


正如 BleepingComputer 观察到的,与这 4 个包有关的不同的 NPM 作者账户已经被 npm 关闭了。然而,开发人员的 GitHub 仓库并没有显示最近托管包的痕迹,尽管 package.json 文件表明了这种可能性。


渗透到开源生态系统中的恶意软件案例一直在增加。就在上个月,我在博客上写了一篇关于 npm 恶意软件 的博文,这些恶意软件没有被发现,一直在公共 GitHub 页面上实时发布用户信息。


通过利用开源社区的信任,攻击者可以将其恶意代码“下流”到任何可能错误地将这些恶意软件包作为依赖包含在他们的应用程序中的开发人员或客户。


Sonatype 在他们的十月份恶意软件包清单中对这些包进行了说明,并追踪到 sonatype-2020-1013。


作者介绍:


Ax Sharma 是一名安全研究员、工程师和技术专栏作家。他的作品和专业分析经常被头部媒体发表,例如 Fortune、The Register、TechRepublic、CIO 等等。Ax 的专长在于漏洞研究、逆向工程、软件开发和 web 应用程序安全。他是 OWASP 基金会和英国记者协会(BAJ)的一名活跃社区成员。


原文链接:


https://www.bleepingcomputer.com/news/security/npm-nukes-nodejs-malware-opening-windows-linux-reverse-shells


2020-10-24 09:002438

评论

发布
暂无评论
发现更多内容

GitHub 润色框架,让你的GitHub不再索然无味

做梦都在改BUG

GitHub

“AI 上运动,直播更精彩” 百度智能云联手 Pixellot 创新中国大众体育传播新模式

Baidu AICLOUD

视频云 云导播

常用MQTT客户端库简介

EMQ映云科技

物联网 IoT mqtt 客户端 企业号 3 月 PK 榜

Copilot 用“粉紫色磨砂UI”和“啊啊啊BGM ”,梦境了这届网友

B Impact

CDN省钱大法!华为云开年采购季低价购,CDN0.03元/GB起,短信0.006元/条起

科技怪授

CDN 华为云

强!阿里P9限时开源的实战笔记:SpringBoot2精髓

做梦都在改BUG

Java 面试 微服务 Spring Boot 框架

如何通过优化图片、JS等资源加载项来提高网页的加载速度?

兴科Sinco

前端开发 CDN HTTP 网页加速

传统企业,如何构建性能测试技术体系

老张

技术 #性能测试

华为云视频直播,流量大放“价”,超好用!

科技怪授

YOWOv2:优秀的实时视频动作检测框架

Zilliz

计算机视觉 构建模型 Milvus

如何通过Java更改Word中的页面大小和页面方向

在下毛毛雨

Java word 页面布局

华为工单宝——为企业客户提供更强大的数字化现场作业解决方案

科技怪授

CDN 华为云

《中国奇谭》打动万千观众,一首歌道尽现代人心酸

曲多多(嗨翻屋)版权音乐

音乐 音乐播放

以“业财合一”构建业务财务体系,让财务更在行,让业务会经营

用友BIP

测试人社区——软件测试技术沙龙分享

测试人

人工智能 软件测试 精准测试 工程效能 ChatGPT

强大的录屏:Camtasia 2022 汉化激活版

真大的脸盆

Mac 软件 屏幕录制 录屏软件 录屏工具

国有企业财务数智化转型实践,用友BIP一路随行

用友BIP

财务数智化

这是我见过最好的JVM笔记,拿到阿里offer后我哭了

做梦都在改BUG

Java JVM 虚拟机 垃圾回收

代码开源!阿里妈妈展示广告Match底层技术架构最新进展

阿里技术

开源

《深入理解高并发编程:JDK核心技术》-冰河新书上市

冰河

并发编程 多线程 高并发 协程 异步编程

海泰方圆又双叒叕连获两项隐私计算专利

电子信息发烧客

携手共进丨九科信息入选信通院“铸基计划”高质量数字化转型产品及服务全景图,并受邀出席高质量数字转型创新大会

九科Ninetech

阿里表哥甩我一份Redis笔记,看完还进不了阿里让我卖豆腐去

做梦都在改BUG

Java 数据库 nosql redis 缓存

全网超火Blender零基础教程!从零上手的免费3D软件

Finovy Cloud

blender 3D软件

前端有边界,但低代码没有

引迈信息

前端 后端 低代码 ChatGPT

五大方面多管齐下,用友助力企业建设世界一流司库体系

用友BIP

面试官:String字符串的最大长度是多少?

做梦都在改BUG

Java

NPM 移除 4 个恶意软件包:泄露用户数据已有数月,4 个包分工明确_大前端_Ax Sharma_InfoQ精选文章