截屏2020-08-06下午5.35.01

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

  • 浏览次数 32761
  • 喜欢 0
  • 评分 12345

感谢腾讯御见威胁情报中心来稿!

原文链接:https://mp.weixin.qq.com/s/NVm1jLRy8on0IdnK0ZOwwQ

 

 

腾讯洋葱反入侵系统检测发现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

云原生安全

防护

云防火墙

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

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

非云企业安全防护 腾讯T-Sec

高级威胁检测系统

(腾讯御界)

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

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

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

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

二、事件分析 

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

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

恶意包感染过程:

  1. 用户安装

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

pip install requests –>  pip install request

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

  1. 远程下载恶意代码

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

  1. 释放远控木马并持久化

request包安装过程中远程加载的恶意代码包括两部分功能:

释放远控木马到当前用户 HOME 目录的 .uds 文件夹内,木马名称为_err.log(例如 /root/.uds/_err.log)。_err.log远控木马脚本内容经过base64编码和压缩,缩小了体积,同时增强了对抗性。

 

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

 

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

 

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

  1. 下发窃密指令

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

 

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

 

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

三、腾讯安全解决方案:

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恶意包:

3)    腾讯T-Sec高级威胁检测系统(腾讯御界)支持检测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恶意包投毒

https://mp.weixin.qq.com/s/dkPdXfGfSK097GI6Ln92lA