写点什么

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:002352

评论

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

android音频面试题,android组件化开发框架

android 程序员 移动开发

flutterpageview嵌套,阿里P8亲自讲解

android 程序员 移动开发

flutter下拉刷新背景,学Android看这就完事了

android 程序员 移动开发

深圳企业办理等保业务,应该怎么办理?选择哪款堡垒机好?

行云管家

网络安全 等保 等级保护 等保测评

flutter调试技巧,惊喜

android 程序员 移动开发

推荐电脑手机都能用的youtube视频下载神器,包括苹果手机也能使用

So...

油管视频下载 youtube

android网络开发技术答案,retrofit原理

android 程序员 移动开发

Android面试题集锦在这里,Android开发面试基础

android 程序员 移动开发

普通本科毕业一年,刷完这1000道JAVA面试题,成功逆袭上岸

Java 程序员 架构 面试 后端

QCon 全球软件开发大会 | 大型团队研发效率持续改进实践

万事ONES

研发管理 研发效能 ONES

android项目开发实战入门百度网盘,【面试总结】

android 程序员 移动开发

html5移动开发即学即用网盘,面经解析

android 程序员 移动开发

Android高级工程师每日面试题精选,重要概念一网打尽

android 程序员 移动开发

flutter跳转原生,零基础也能看得懂

android 程序员 移动开发

html5移动端开发2020,跳槽大厂必看

android 程序员 移动开发

android算法面试题,附超全教程文档

android 程序员 移动开发

android音视频何俊林,音视频开发进阶指南

android 程序员 移动开发

flutter教程gitbook,走进Android架构

android 程序员 移动开发

浅谈工作量证明对于区块链系统的必要性

CECBC

GTLC 全球技术领导力峰会 | 渐进式的研发管理改进之路

万事ONES

研发管理 研发效能 ONES

fluttertextfield光标,想跳槽涨薪的必看

android 程序员 移动开发

另一只眼看软件研发效能提升,软件研发效能的“人性”与“物性”

博文视点Broadview

flutter中文教程,程序员必看

android 程序员 移动开发

博文视点“阿里云全系列技术图书”隆重亮相2021云栖大会

博文视点Broadview

flutter页面跳转数据,直面春招

android 程序员 移动开发

game+defi系统开发需求(公司)

android音视频面试,小程序开发教程

android 程序员 移动开发

BAT这种大厂履历意味着什么,字节跳动资深面试官亲述

android 程序员 移动开发

html5移动开发即学即用网盘,差点无缘Offer

android 程序员 移动开发

android面试题及答案2019,rxjava原理面试

android 程序员 移动开发

flutter瀑布流组件,腾讯T3面试官透露

android 程序员 移动开发

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