PyPI官方仓库遭遇request恶意包投毒

  • A+
所属分类:安全新闻

PyPI官方仓库遭遇request恶意包投毒,腾讯安全提供全面解决方案

长按二维码关注

腾讯安全威胁情报中心



一、概述

8月5日,腾讯洋葱反入侵系统发现PyPI官方仓库被恶意上传了request钓鱼包,攻击者通过钓鱼包实施窃取用户敏感信息及数字货币密钥、种植持久化后门、远程控制等一系列攻击活动。腾讯安全威胁情报中心回溯本次软件供应链攻击事件,发现已有部分用户中招。

当用户在安装requests包时,容易将名字打错为request,结果会使用pip安装成request恶意包。由于requests库非常流行,下载量大,已有部分用户因错误输入包名而被感染。

由于国内开源镜像站均同步于PyPI官方仓库,所以该问题不仅会通过官方仓库,还可能通过各个开源镜像站影响更大范围。腾讯安全应急响应中心(TSRC)建议各开源镜像站以及对开源镜像站有依赖的公司尽快自查处理,确保清除恶意库,保障用户系统安全。

腾讯安全威胁情报中心已针对本次软件供应链攻击展开应急响应,腾讯安全系列产品均已上线对request恶意包的检测和拦截,具体响应清单如下:

应用

场景

安全产品

解决方案

腾讯T-Sec

威胁情报云查服务

(SaaS)

1)request恶意包相关IOCs已入库。

腾讯安全威胁情报相关产品均可检测此风险,更多产品信息,可参考:https://cloud.tencent.com/product/tics

腾讯T-Sec

高级威胁追溯系统

1)request恶意包相关信息和情报已支持检索。

网管可通过威胁追溯系统,分析日志,进行线索研判、追溯网络入侵源头。T-Sec高级威胁追溯系统的更多信息,可参考:https://cloud.tencent.com/product/atts

云原生安全

防护

腾讯T-Sec云防火墙

(Cloud Firewall,CFW)

基于网络流量进行威胁检测与主动拦截,已支持:

1)request恶意包相关联的IOCs已支持识别检测;

 

有关云防火墙的更多信息,可参考:
 https://cloud.tencent.com/product/cfw

腾讯T-Sec主机安全

(Cloud Workload Protection,CWP)

1)腾讯主机安全系统已支持查杀利用request恶意包感染的恶意后门程序。

 

腾讯主机安全(云镜)提供云上终端的防毒杀毒、防入侵、漏洞管理、基线管理等。关于T-Sec主机安全的更多信息,可参考:https://cloud.tencent.com/product/cwp

腾讯T-Sec 安全运营中心

(SOC)

基于客户云端安全数据和腾讯安全大数据的云安全运营平台。已接入腾讯主机安全系统、腾讯安全漏洞扫描服务等产品的数据导入,为客户提供漏洞情报、威胁发现、事件处置、基线合规、及泄漏监测、风险可视等能力。

 

关于腾讯T-Sec安全运营中心的更多信息,可参考:https://s.tencent.com/product/soc/index.html

非云企业安全防护

腾讯T-Sec

高级威胁检测系统

(腾讯御界)

基于网络流量进行威胁检测,已支持:

1)利用request恶意包相关联的IOCs已支持识别检测;

 

关于T-Sec高级威胁检测系统的更多信息,可参考:

https://cloud.tencent.com/product/nta

二、事件分析

报告来源:腾讯安全应急响应中心(TSRC)

7月31号,攻击者在PyPI官方仓库上传了request恶意包,该恶意包通过伪造著名python库requests包名来进行钓鱼,攻击者可对受感染的主机进行入侵,并实施窃取用户敏感信息及数字货币密钥、种植持久化后门、远程控制等一系列活动。

request恶意包感染过程

01

用户安装

根据用户习惯,在安装requests包,容易将名字打错为 request,结果是使用pip安装成恶意包。


pip install requests -->  pip install request


由于requests库非常流行,下载量大,已有部分开发人员因错误输入包名而被感染。



02

远程下载恶意代码

在pip安装request包的机制中,会主动执行包中的setup.py文件,在setup.py文件中包含攻击者远程下载并执行恶意代码的逻辑,同时对C2域名进行编码混淆,解密后的C2地址为:https://dexy.top/request/check.so

PyPI官方仓库遭遇request恶意包投毒


03

释放远控木马并持久化

request包安装过程中远程加载的恶意代码包括两部分功能:
释放远控木马到当前用户 HOME 目录的
.uds 文件夹内,木马名称为_err.log(例如 /root/.uds/_err.log)。_err.log远控木马脚本内容经过base64编码和压缩,缩小了体积,同时增强了对抗性。

PyPI官方仓库遭遇request恶意包投毒


将远控木马脚本解密后,部分代码内容如下:

PyPI官方仓库遭遇request恶意包投毒


远控木马功能齐全,包括命令执行,文件上传下载,python代码执行,信息收集,文件搜索等功能。

PyPI官方仓库遭遇request恶意包投毒


在 .bashrc 植入恶意后门命令实现持久化

PyPI官方仓库遭遇request恶意包投毒


04

下发窃密指令

相关IoC:攻击者通过远控木马下发python窃密指令,盗取敏感信息(coinbase帐密)。进程监控如下:

PyPI官方仓库遭遇request恶意包投毒


将窃密指令解密后,功能为请求C2 服务:http://dexy.top/x.pyx ,远程加载窃密木马。

PyPI官方仓库遭遇request恶意包投毒


远程加载的窃密木马部分功能如下所示,用于窃取浏览器中的cookie,虚拟货币(coinbase)账号与密码等。

PyPI官方仓库遭遇request恶意包投毒

三、腾讯安全解决方案

1.腾讯安全专家建议各开源镜像站以及对开源镜像站有依赖的公司尽快自查处理,确保从源头清除request恶意库。

使用"pip show --file request"进行查看(python3使用"pip3 show --file request"),如果结果为"WARNING: Package(s) not found: request"不存在风险。

如果已经安装,请使用"pip uninstall request"进行卸载,建议Linux系统管理员参考以上详细分析报告指引手动完成已安装后门程序的清除。


2.腾讯安全系列产品已针对本次供应链攻击展开应急响应:
1)
腾讯安全威胁情报相关产品已支持request恶意包相关IOCs的检测;
2)
腾讯T-Sec主机安全(云镜)支持检测清除request恶意包:

PyPI官方仓库遭遇request恶意包投毒


3)腾讯T-Sec高级威胁检测系统(腾讯御界)支持检测request恶意包投毒攻击

PyPI官方仓库遭遇request恶意包投毒

IOCs
域名:
dexy.top
who.dexy.top:3500

IP:
199.247.5.158

URL:
hxxp://dexy.top/request/check.so
hxxp://dexy.top/x.pyx


参考链接:
【安全通知】PyPI 官方仓库遭遇request恶意包投毒

PyPI官方仓库遭遇request恶意包投毒PyPI官方仓库遭遇request恶意包投毒,腾讯安全提供全面解决方案
PyPI官方仓库遭遇request恶意包投毒

PyPI官方仓库遭遇request恶意包投毒

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: