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

2020 年 10 月 26 日 InfoQ
作者 | Ax Sharma
译者 | 张健欣
策划 | 田晓旭

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

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

这 4 个包是:

  1. plutov-slack-client- manifest 中的信息声称是一个“Node.JS Slack 客户端”。
  2. nodetest199- 没有描述。
  3. nodetest1010- 没有描述。
  4. npmpubman- manifest 中的信息声称是“一个关于 Linux shell 登录的简单实现”。
1 向攻击者的服务器建立一个反向 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 账号发布了这些恶意软件包。

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

列表中的最后一个包 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


InfoQ 写作平台欢迎所有热爱技术、热爱创作、热爱分享的内容创作者入驻!

还有更多超值活动等你来!

扫描下方二维码

填写申请,成为作者

开启你的创作之路吧~

点个在看少个 bug 👇

登录查看更多
0

相关内容

【干货书】Linux命令行与shell脚本编程大全,第3版818页pdf
专知会员服务
61+阅读 · 2020年12月30日
专知会员服务
112+阅读 · 2020年11月16日
专知会员服务
124+阅读 · 2020年8月7日
【2020新书】实战R语言4,323页pdf
专知会员服务
100+阅读 · 2020年7月1日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
117+阅读 · 2020年5月10日
机器学习相关资源(框架、库、软件)大列表
专知会员服务
39+阅读 · 2019年10月9日
用Now轻松部署无服务器Node应用程序
前端之巅
16+阅读 · 2019年6月19日
FINS协议格式及功能码简介
FreeBuf
8+阅读 · 2019年6月9日
ISeeYou一款强大的社工工具
黑白之道
30+阅读 · 2019年5月17日
“黑客”入门学习之“windows系统漏洞详解”
安全优佳
8+阅读 · 2019年4月17日
FaceNiff工具 - 适用于黑客的Android应用程序
黑白之道
104+阅读 · 2019年4月7日
基于Web页面验证码机制漏洞的检测
FreeBuf
7+阅读 · 2019年3月15日
I2P - 适用于黑客的Android应用程序
黑白之道
30+阅读 · 2019年3月6日
Arxiv
0+阅读 · 2021年2月3日
Arxiv
35+阅读 · 2019年11月7日
Arxiv
24+阅读 · 2018年10月24日
Arxiv
5+阅读 · 2015年9月14日
VIP会员
相关VIP内容
【干货书】Linux命令行与shell脚本编程大全,第3版818页pdf
专知会员服务
61+阅读 · 2020年12月30日
专知会员服务
112+阅读 · 2020年11月16日
专知会员服务
124+阅读 · 2020年8月7日
【2020新书】实战R语言4,323页pdf
专知会员服务
100+阅读 · 2020年7月1日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
117+阅读 · 2020年5月10日
机器学习相关资源(框架、库、软件)大列表
专知会员服务
39+阅读 · 2019年10月9日
相关资讯
用Now轻松部署无服务器Node应用程序
前端之巅
16+阅读 · 2019年6月19日
FINS协议格式及功能码简介
FreeBuf
8+阅读 · 2019年6月9日
ISeeYou一款强大的社工工具
黑白之道
30+阅读 · 2019年5月17日
“黑客”入门学习之“windows系统漏洞详解”
安全优佳
8+阅读 · 2019年4月17日
FaceNiff工具 - 适用于黑客的Android应用程序
黑白之道
104+阅读 · 2019年4月7日
基于Web页面验证码机制漏洞的检测
FreeBuf
7+阅读 · 2019年3月15日
I2P - 适用于黑客的Android应用程序
黑白之道
30+阅读 · 2019年3月6日
Top
微信扫码咨询专知VIP会员