Aikido在npm热门包 rand-user-agent 中发现恶意代码

 聚焦源代码安全,网罗国内外最新资讯!

专栏·供应链安全

数字化时代,软件无处不在。软件如同社会中的“虚拟人”,已经成为支撑社会正常运转的最基本元素之一,软件的安全性问题也正在成为当今社会的根本性、基础性问题。

随着软件产业的快速发展,软件供应链也越发复杂多元,复杂的软件供应链会引入一系列的安全问题,导致信息系统的整体安全防护难度越来越大。近年来,针对软件供应链的安全攻击事件一直呈快速增长态势,造成的危害也越来越严重。

为此,我们推出“供应链安全”栏目。本栏目汇聚供应链安全资讯,分析供应链安全风险,提供缓解建议,为供应链安全保驾护航。

注:以往发布的部分供应链安全相关内容,请见文末“推荐阅读”部分。

Aikido Security公司发现了内嵌在一个 JavaScript 包 rand-user-agent 中存在一个远程访问木马 (RAT),而该包从 npm 注册表中的每周下载量约为4.5万次。

Aikido Security 公司提醒称,“5月5日,我们的自动化恶意软件分析管道检测到一个可疑的程序包……它检测到针对该合法包的一起供应链攻击。”该程序包生成随机化的 user-agent 字符串并由 WebScrapingAPI 维护。但从1.0.110开始,攻击者已经注入深入混淆的恶意代码,将该工具转变为一款成熟的监控工具。

Aikido 发布报告显示,攻击者通过一种滚动条方式将后门隐藏在 dist/index.js 中,有效地将深度混淆的 JavaScript 隐藏在文件底部。该代码包含一个构造精巧的恶意软件加载器用于提取数据并设置隐秘的套接字通信。

该恶意脚本一旦被激活,就会:

  • 与 http://85.239.62[.]36:3306 处的一台C2服务器设立socket.io-client 连接;

  • 通过与 http://85.239.62[.]36:27017/u/f 的HTTP POST设置文件提取管道;

  • 在用户主页的隐秘 .node_modules 目录中动态安装依赖(axios、socket.io-client)。

一旦连接后,该RAT就会找到具有唯一ID的主机,发送OS详情并等待远程命令。受支持的命令包括:

| Command        | Purpose                                                      || --------------- |------------------------------------------------------------- || cd             | Change current working directory                              || ss_dir         | Reset directory to script’s path                             || ss_fcd:<path>   | Forcechange directory to <path>                              || ss_upf:f,d     | Upload single file f to destination d                         || ss_upd:d,dest  | Upload allfiles under directory d to destination dest        || ss_stop        | Sets a stop flag to interrupt current upload process          || Any otherinput | Treated as a shell command, executed via child_process.exec() |

其中最具隐秘性的特性是针对 Windows 的 PATH 劫持。该RAT将如下内容附加在系统的开头:

PATH: %LOCALAPPDATA%\Programs\Python\Python3127

该研究人员解释称,“通过在PATH开头注入该目录,任何依赖于环境解析可执行文件的命令可能会被悄悄劫持。”这意味着,即使看似合法的 Python 命令也可被通过受恶意软件控制的目录中的可执行文件路由。值得一提的是,GitHub 显示该包的最近一次发布版本是 2.0.82。然而,该 npm 注册表中包含如下恶意更新:

  • 1.0.110

  • 2.0.83

  • 2.0.84

上述每个版本中都包含该恶意 payload。这种不匹配可指向供应链攻陷,如涉及在npm上进行越权发布。

如用户已安装了 rand-user-agent 包,则检查是否存在受陷版本并监控与如下 IOCs 的通信:

  • C2 Server: http://85.239.62[.]36:3306

  • File Upload Endpoint: http://85.239.62[.]36:27017/u/f

查看在主页目录中是否存在异常依赖或隐秘的 .node_modules 文件夹。

开源卫士试用地址:https://sast.qianxin.com/#/login

代码卫士试用地址:https://codesafe.qianxin.com


推荐阅读

恶意Go模块在高阶供应链攻击中传播 Linux 恶意软件擦除磁盘

AI幻想出的代码依赖构成新型软件供应链风险

PosionSeed:针对密币和邮件提供商的供应链攻击

GitHub Actions 供应链攻击因受陷的 SpotBugs 令牌引起

GitHub Action 被攻陷,引发连锁供应链攻击

热门 GitHub Action 遭供应链攻击

GitHub Actions 漏洞可导致攻击者投毒开发管道

有人滥用 GitHub Actions在 GitHub 服务器挖掘密币,且正在蔓延

Solana 热门 Web3.js npm库有后门,可触发软件供应链攻击

软件供应链投毒 — NPM 恶意组件分析

软件供应链投毒 — NPM 恶意组件分析(二)

在线阅读版:《2023中国软件供应链安全分析报告》全文

Npm 库XMLRPC 插入恶意代码,窃取数据部署密币矿机

Python、npm和开源生态系统中的入口点可用于发动供应链攻击

NPM恶意包假冒 “noblox.js”,攻陷 Roblox 开发系统

恶意npm包利用镜像文件隐藏后门代码

奇安信入选全球《软件成分分析全景图》代表厂商

奇安信入选全球《静态应用安全测试全景图》代表厂商

奇安信开源卫士率先通过可信开源治理工具评估

全球软件供应链安全指南和法规概览

英韩:Lazarus 黑客组织利用安全认证软件 0day 漏洞发动供应链攻击

Okta 支持系统遭攻陷,已有Cloudflare、1Password等三家客户受影响

黑客攻陷Okta发动供应链攻击,影响130多家组织机构

Okta 结束Lapsus$ 供应链事件调查,称将加强第三方管控

Okta 提醒:社工攻击正在瞄准超级管理员权限

《软件供应商手册:SBOM的生成和提供》解读

原文链接

https://securityonline.info/aikido-uncovers-malicious-code-in-popular-npm-package-rand-user-agent/

题图:Pexels License

本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。

奇安信代码卫士 (codesafe)

国内首个专注于软件开发安全的产品线。

    觉得不错,就点个 “在看” 或 "赞” 吧~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值