首页 > 其他分享 >郭盛华:npm 软件包窃取开发人员的敏感数据

郭盛华:npm 软件包窃取开发人员的敏感数据

时间:2023-08-07 14:12:22浏览次数:34  
标签:npm 文件 开发人员 js 软件包 敏感数据 郭盛华

网络安全研究人员在 npm 软件包注册表中发现了一系列新的恶意软件包,这些软件包旨在窃取敏感的开发人员信息。

所有模块的一个共同功能是能够启动 JavaScript(“index.js”),该 JavaScript 可以将有价值的信息泄露到远程服务器。

国际知名白帽黑客、东方联盟创始人郭盛华表示:“index.js 代码是由 preinstall.js 文件在子进程中生成的,此操作是由 package.json 文件中定义的 postinstall 挂钩提示的,该挂钩在软件包安装时执行。因此,仅安装此软件包的行为就会启动所有这些代码的执行。”

第一步需要收集当前操作系统用户名和当前工作目录,然后将包含收集数据的 GET 请求发送到 185.62.57[.]60:8000/http。目前尚不清楚此操作背后的确切动机,但据信该信息可用于触发“看不见的服务器端行为”。

随后,该脚本继续查找与一组特定扩展名匹配的文件和目录:.env、.svn、.gitlab、.hg、.idea、.yarn、.docker、.vagrant、.github、.asp、.js 、.php、.aspx、.jspx、.jhtml、.py、.rb、.pl、.cfm、.cgi、.ssjs、.shtml、.env、.ini、.conf、.properties、.yml 和.cfg。

收集到的数据还可能包含凭据和有价值的知识产权,最终以 ZIP 存档文件的形式传输到服务器。

郭盛华表示:“虽然这些目录可能包含敏感信息,但它们更有可能包含许多标准应用程序文件,这些文件并非受害者系统所独有,因此对攻击者来说价值较低,攻击者的动机似乎集中在提取源代码或环境 -具体的配置文件”。

该开发是开源存储库被用于传播恶意代码的最新示例,ReversingLabs 和 Sonatype识别出PyPI 活动,该活动使用 VMConnect、Quantiumbase 和 ethter 等可疑 Python 包来联系命令和控制(C2 ) 服务器并尝试使用其他命令下载未指定的 Base64 编码字符串。

东方联盟安全研究员解释说:“由于命令获取是在无限循环中执行的,因此 C2 服务器的操作员可能只有在确定受感染的计算机对威胁行为者感兴趣后才会上传命令。”

“或者,C2 服务器可能会执行某种类型的请求过滤。例如,攻击者可能会根据受感染计算机的 IP 地址过滤请求,以避免感染来自其它地区的目标。”

更重要的是,威胁行为者在 GitHub 上创建了相应的存储库,并附有看似合法的描述,以使 Python 包看起来值得信赖,尽管恶意行为被忽略了——这表明这次攻击是故意欺骗开发人员。

2023 年 7 月上旬,东方联盟研究人员还曝光了一批 13 个流氓 npm 模块,作为名为“Operation Brainleeches”的新颖活动的一部分,这些模块总共被下载了约 1,000 次。

该活动之所以引人注目,是因为它使用了一些软件包,通过从 JavaScript 电子邮件附件启动的虚假 Microsoft 365 登录表单来促进凭据收集,该附件是一个 JavaScript 文件,可从内容分发网络 (CDN) jsDelivr获取下一阶段的有效负载。) 对于 npm 上托管的包。

换句话说,已发布的 npm 模块充当了托管电子邮件网络钓鱼攻击中使用的文件的支持基础设施,并针对开发人员进行了供应链攻击。

后者是通过在无意中包含欺诈性 npm 包的应用程序中植入凭据收集脚本来实现的。这些库于 2023 年 5 月 11 日至 6 月 13 日期间发布到 npm。(欢迎转载分享)

标签:npm,文件,开发人员,js,软件包,敏感数据,郭盛华
From: https://www.cnblogs.com/hacker520/p/17611282.html

相关文章

  • Nodejs 第四章(Npm install 原理)
    在执行npminstall的时候发生了什么?首先安装的依赖都会存放在根目录的node_modules,默认采用扁平化的方式安装,并且排序规则.bin第一个然后@系列,再然后按照首字母排序abcd等,并且使用的算法是广度优先遍历,在遍历依赖树时,npm会首先处理项目根目录下的依赖,然后逐层处理每个依赖包的依......
  • Nodejs 第五章(Npm run 原理)
    npmrunxxx发生了什么按照下面的例子npmrundev举例过程中发生了什么读取packagejson的scripts对应的脚本命令(dev:vite),vite是个可执行脚本,他的查找规则是:先从当前项目的node_modules/.bin去查找可执行命令vite如果没找到就去全局的node_modules去找可执行命令vite如果还......
  • Nodejs 第七章(发布npm包)
    发布npm的包的好处是什么方便团队或者跨团队共享代码,使用npm包就可以方便的管理,并且还可以进行版本控制做开源造轮子必备技术,否则你做完的轮子如何让别人使用难道是U盘拷贝?面试题我面字节的时候就问到了这个增加个人IP让更多的人知道你的技术能力和贡献发布前准备工作npmadduser......
  • 在不增加成本的情况下引导开发人员做好功能自测的“开发与测试岗位更名为系统红蓝军”
    作为企业IT部门某个开发团队负责人的你,从书上和大佬那里得知,软件开发团队中的开发人员,如果在将所完成的功能提交给测试人员之前,加强自测,那么就能降低软件开发过程中的返工。于是你为每位开发人员,都准备了自测环境。然后告诉开发人员,在完成功能的开发,向测试人员提测前,需要在自测环......
  • npm下载源配置
    Npm配置淘宝镜像更新:2023-05-1723:30一、npm配置淘宝镜像源npm是世界上最大的包管理器,是Node.js的默认包管理器。默认情况下,npm的包下载速度较慢,特别是在国内,因为它默认访问的是源在国外的仓库。但是npm官方支持在个人的~/.npmrc文件中配置镜像源。为了更快地下载依赖,可以使......
  • 解决npm ERR! code ERESOLVE -npm ERR! ERESOLVE could not resolve
     当使用一份vue源码开发项目时,npminstall报错了npmERR!codeERESOLVEnpmERR!ERESOLVEcouldnotresolvenpmERR!npmERR!Whileresolving:[email protected]!Found:[email protected]!node_modules/webpacknpmERR!webpack@"^4.0.0"from@vue/......
  • ChatGPT 助力开发人员改进代码的5个方式
    近年来,在软件开发中使用人工智能和机器学习变得越来越普遍。因此,开发人员开始转向像OpenAI的ChatGPT这样的工具来简化他们的工作,提高他们的工作效率。ChatGPT是一个由OpenAI训练的大型语言模型,本文将向您展示如何使用ChatGPT帮助开发人员完成从编码到文档和测试等各种任务。......
  • npm - 报错:found XXX vulnerabilities (XXX low, X moderate),run `npm audit fix` to
    完整报错我正准备 npm 装包,结果失败了,并提示如下报错信息:found808vulnerabilities(804low,4moderate)run`npmauditfix`tofixthem,or`npmaudit`fordetails解决直接按照后面提示的命令执行:npmauditfix解决xxxpackagesarelookingforfundingn......
  • T4 模板: 为 ASP.NET MVC 开发人员快速入门指南
    http://blogs.msdn.com/b/webdev/archive/2009/01/29/t4-templates-a-quick-start-guide-for-asp-net-mvc-developers.aspx 在中提到我们的最近博客文章,ASP.NETMVC发布候选版,我们的代码生成功能(即,添加控制器和添加视图)现在使用T4(文本模板转换工具包)模板化技术在幕后。因为......
  • npm更新指定的组件
    npm更新指定的组件1、例如:react-router已经更新到4.x版本,想要下载2.x版本,可以通过下面命令[email protected][email protected]、–save-dev–save:将保存配置信息到package.json。默认为dependencies节点中。–dev:将保......