供应链投毒预警 | 恶意Py组件tohoku-tus-iot-automation开展窃密木马投毒攻击

news2024/9/20 4:53:11

概述

上周(2024年3月6号),悬镜供应链安全情报中心在Pypi官方仓库(https://pypi.org/)中捕获1起新的Py包投毒事件,Python组件tohoku-tus-iot-automation 从3月6号开始连续发布6个不同版本恶意包,其中多个版本恶意代码使用PyArmor进行加密混淆保护,这些恶意包主要针对Windows平台的Python开发者,除了会窃取系统基础信息和主流浏览器(Edge、Chrome)用户密码数据,还会远程下载木马程序植入到开发者系统中盗取系统密码。

Python恶意组件

截至目前,恶意组件tohoku-tus-iot-automation在Pypi官方仓库上已被下载461次。

tohoku-tus-iot-automation恶意组件下载量

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

图片

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

pip3 Install tohoku-tus-iot-automation -i https://pypi.tuna.tsinghua.edu.cn/simple

图片

投毒分析

当Python开发者使用pip install从Pypi官方仓库或下游镜像源直接安装或者依赖引用恶意组件包时,将自动触发执行组件包setup.py中的恶意攻击代码。setup.py被PyArmor加密混淆保护。

图片

原始的恶意代码如下所示:

图片

恶意代码主要包括4大攻击步骤:

  • 收集系统信息

  • 收集浏览器用户密码

  • 远程下载执行窃密木马

  • 数据盗取外传

Part 1收集系统信息

主要收集操作系统版本、处理器、网卡及IP数据、主机名、系统用户列表、系统进程列表等敏感信息。系统信息收集功能

Part2  收集浏览器用户密码

从存储浏览器(Edge、Chrome)用户数据的SQLite3数据库文件中提取用户密码。

浏览器用户密码收集功能

Part3 远程下载执行窃密木马

恶意组件将从远程下载多个具有窃密功能的木马后门程序植入到受害者系统中,用于收集Discord账户数据以及Windows系统密码。

盗取Discord数据的木马 程序被伪装成png图片隐藏在代码托管平台SourceForge上。

Download iotautomatelogo.png (iot-automate)

Discord窃密木马

盗取Windows系统密码主要由3个木马后门程序(k7841286.exe、k7841286.dll和readings.exe)负责。

远程下载执行窃密木马后门

通过程序逆向可知,k7841286.exe负责加载k7841286.dll,k7841286.dll负责启动真正具备系统密码盗取能力的木马程序readings.exe。

k7841286.dll启动窃密木马readings.exe

readings.exe被多款杀毒引擎识别为gsecdump窃密木马,主要功能是盗取Windows系统密码。Windows gsecdump窃密密码

Part4  数据盗取外传

在收集到系统信息、浏览器密码、Discord账户数据、Windows系统密码等敏感信息后,投毒者会将所有数据打包外传到Webhook接口。

Webhook数据外传功能

Part5 IoC数据

此次投毒组件包涉及的恶意文件和IoC数据如下所示:

图片

排查方式

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

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

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

悬镜供应链安全情报中心是国内首个数字供应链安全情报研究中心,依托悬镜安全团队强大的供应链SBOM管理与监测能力和AI安全大数据云端分析能力,对全球数字供应链安全漏洞、投毒事件、组件风险等进行实时动态监测与溯源分析,为用户智能精准预警“与我有关”的数字供应链安全情报。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1535562.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SAP前台处理:物料计价方式:价格控制与价格确定 - 01

一、背景: 物料主数据中我们讲解到物料的计价方式,SAP应用到的主要计价方式有移动平均价和标准价格方式两种,但也有按照批次计价等方式,我们主要介绍最常用的V2移动平均价和S3的标准价格; 二、不同组合下的差异&…

知识蒸馏——深度学习的简化之道 !!

文章目录 前言 1、什么是知识蒸馏 2、知识蒸馏的原理 3、知识蒸馏的架构 4、应用 结论 前言 在深度学习的世界里,大型神经网络因其出色的性能和准确性而备受青睐。然而,这些网络通常包含数百万甚至数十亿个参数,使得它们在资源受限的环境下&…

【HM】STM32F407 HAL库 PWM

PWM简介 脉冲宽度调制(PWM) 是一种数字信号,最常用于控制电路。该信号在预定义的时间和速度中设置为高(5v或3.3v)和低(0v)。通常,我们将PWM的高电平称为1,低电平为0。 …

pyboard开发板上手

文章目录 准备开发板连接到pyboard开发板将pyboard作为U盘打开编辑main.py重启pyboard 准备开发板 本文介绍了如何使用MicroPython在pyboard开发板上运行你的第一个程序,所以,在开始下面的步骤前,你需要有一块pyboard开发板,如果…

OKR如何与个人绩效评估和激励相结合?

在现代企业管理中,个人绩效评估与激励是提升员工积极性、推动企业发展的关键环节。而OKR(目标与关键成果)作为一种高效的目标管理方法,通过与个人绩效评估和激励相结合,可以进一步提升员工的工作动力和工作效率&#x…

数据机构-2(顺序表)

线性表 概念 顺序表 示例&#xff1a;创建一个存储学生信息的顺序表 表头&#xff08;Tlen总长度&#xff0c; Clen当前长度&#xff09; 函数 #include <seqlist.c> #include <stdio.h> #include <stdlib.h> #include "seqlist.h" #include &…

C#对于文件中的文件名判断问题

C#中对于文件名的判断问题&#xff0c;我们使用bool值进行值的传递&#xff0c;首先我们使用内置方法进行文件字符串匹配的bool值回传&#xff0c;我们打印出文件名以及相对应的bool&#xff0c;即可知道文件名是否真正生效 bool isHave fileName.Contains("Hello"…

【Python + Django】表结构创建

以员工管理系统为例。 事前呢&#xff0c;我们先把项目和app创建出来&#xff0c;详细步骤可以看我同栏目的第一篇、第二篇文章。 我知道你们是不会下来找的&#xff0c;就把链接贴在下面吧&#xff1a; 【Python Django】启动简单的文本页面-CSDN博客 【Python Django】…

excel所有知识点

1要加双引号 工作表&#xff08;.xlsx) 单击右键→插入&#xff0c;删除&#xff0c;移动、重命名、复制、设置标签颜色&#xff0c;选定全部工作表 工作表的移动&#xff1a;两个表打开→右键→移动&#xff08;如果右键是灰色的&#xff0c;可能是保护工作表了&#xff09…

读算法的陷阱:超级平台、算法垄断与场景欺骗笔记17_执法工具

1. 执法工具箱 1.1. 在数据驱动的经济环境中&#xff0c;明智监管潜力无限 1.2. 多年前的司法体系与反垄断执法机构更善于发现市场漏洞&#xff0c;并设计出了直接有效的方式来化解问题 1.2.1. 大型互联网平台的权势凌驾于法律之上 1.2.1.1. 英国上议院 1.3. 反垄断执法机…

SQLiteC/C++接口详细介绍sqlite3_stmt类(九)

返回&#xff1a;SQLite—系列文章目录 上一篇&#xff1a;SQLiteC/C接口详细介绍sqlite3_stmt类&#xff08;六&#xff09; 下一篇&#xff1a; 无 33、sqlite3_column_table_name 函数 sqlite3_column_table_name 用于返回结果集中指定列所属的表的名称。如果查询中列使…

K8S Storage

概述 一般情况下&#xff0c;K8S中的Pod都不应该将数据持久化到Pod中&#xff0c;因为Pod可能被随时创建和删除&#xff08;扩容或缩容&#xff09;&#xff0c;即便是StatefulSet或Operator的Pod&#xff0c;也都不建议在Pod里存放数据&#xff0c;可以将数据持久化到Host上。…

本地丐版运行xAI grok-1的尝试(失败版)

前言 xAI开源了包含3000多亿参数的grok-1&#xff0c;想试试在本地跑。试了半天结果内存不够&#xff0c;结果以失败告终&#xff0c;结论是机器丐不了一点&#xff0c;想要跑起来内存必须要管够&#xff0c;显存应该也是需要的&#xff08;xAI好像用的8*A100 80G NvLink&…

多数据源mybatisplus对sqlserver分页查询兼容

新增配置文件 package com.ruoyi.framework.config;import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor…

两个免费的wordpress主模板

wordpress免费网站主题 蓝色高端大气上档次的wordpress免费网站主题&#xff0c;首页大图wordpress模板。 https://www.wpniu.com/themes/31.html WP免费模板 用粉色高端大气上档次的WP免费模板&#xff0c;建个网站也不错的。 https://www.wpniu.com/themes/16.html

从后端获取文件数据并导出

导出文件的公共方法 export const download (res, tools) > {const { message, hide } tools;const fileReader: any new FileReader();console.log(fileReader-res>>>, res);fileReader.onload (e) > {if (res?.data?.type application/json) {try {co…

WM8978 —— 带扬声器驱动程序的立体声编解码器(4)

接前一篇文章&#xff1a;WM8978 —— 带扬声器驱动程序的立体声编解码器&#xff08;3&#xff09; 九、寄存器概览与详解 1. 整体概览 WM8978芯片共有58个寄存器&#xff0c;整体总表如下&#xff1a; 2. 详细说明 在此&#xff0c;只介绍WM8978较为常用的那些寄存器。 &…

嵌入式典型总线及协议

在嵌入式系统中&#xff0c;各种总线和通信协议扮演着关键的角色&#xff0c;它们连接和协调系统中的各种硬件组件&#xff0c;实现数据传输和控制。本文将介绍一些典型的嵌入式总线及其通信协议&#xff0c;以及它们在嵌入式系统中的应用。 以下是我整理的关于嵌入式开发的一…

Java-SSM电影购票系统

Java-SSM电影购票系统 1.服务承诺&#xff1a; 包安装运行&#xff0c;如有需要欢迎联系&#xff08;VX:yuanchengruanjian&#xff09;。 2.项目所用框架: 前端:JSP、layui、bootstrap等。 后端:SSM,即Spring、SpringMvc、Mybatis等。 3.项目功能点: 3-1.后端功能: 1.用户管…

深入理解:蓝绿部署与金丝雀部署

深入理解&#xff1a;蓝绿部署与金丝雀部署 深入理解&#xff1a;蓝绿部署与金丝雀部署蓝绿部署&#xff08;Blue-Green Deployment&#xff09;原理优缺点适用场景 金丝雀部署&#xff08;Canary Deployment&#xff09;原理优缺点适用场景 总结 深入理解&#xff1a;蓝绿部署…