文|腾讯洋葱反入侵系统

七夜、xnianq、柯南

近日,腾讯洋葱反入侵系统检测发现 PyPI官方仓库被恶意上传了covd 钓鱼包,并通知官方仓库下架处理。由于国内开源镜像站均同步于PyPI官方仓库,所以该问题不仅会通过官方仓库,还可能通过各个开源镜像站影响广大用户,腾讯安全应急响应中心(TSRC)秉承共建安全生态的原则,TSRC在此建议各开源镜像站以及对开源镜像站有依赖的组织和公司,请尽快自查处理,确保恶意库得到清除,保障用户安全。

0x01 事件描述

11月16号 17:02 攻击者在PyPI官方仓库上传了covd 恶意包,该恶意包通过伪造 covid 包名进行钓鱼,攻击者可对受感染的主机进行入侵,并实施种植木马、命令控制等一系列活动,其中恶意代码存在于1.0.2/4版本中。

正常 covid 包的功能是获取约翰斯·霍普金斯大学和worldometers.info提供的有关新型冠状病毒的信息,每天的安装量上千次。在新冠疫情在世界流行的大背景下,covid包因输错包名而被误装为covd钓鱼包的数量将会不断增加。

0x02 手法分析

1. 复用covid包代码

从PyPI官方仓库下载covid包和covd包,解压发现covd钓鱼包完全复制了covid的代码。

2. 插入恶意代码

covd包仅在__init__.py中添加了混淆的恶意代码,并通过hex编码的方式,隐藏了C2域名 和 exec 关键字,非常隐蔽。恶意代码如下所示:

3. 用户触发

⽤户安装成功covd包,并导⼊,即 import covd 时,会触发__init__.py中混淆的恶意代码,恶意代码的功能是从⽂件C2服务器 远程加载Python⽊⻢并内存执⾏,恶意代码解混淆后如下图所示。

4. 运行Python远控木马

从⽂件C2服务器(http://a.sababa.website/get )加载的远控⽊⻢内容如下所示,核⼼功能是命令执⾏。

⽊⻢会循环向命令C2服务器( https://sababa.website/api/ready ) 询问需要执⾏的命令,并将命令执⾏的结果以json的形式 返回给另⼀个命令C2服务器(https://sababa.website/api/done ) 。

0x03 相关IoC

域名:

a.sababa.website

sababa.website

url:

http://a.sababa.website/get

https://sababa.website/api/ready

https://sababa.website/api/done

0x04 尾声

近几年脚本语言社区因管控薄弱、攻击成本低成为软件供应链攻击的重灾区,到目前为止,腾讯洋葱反入侵系统已经发现多起严重的软件源投毒事件,并向业界提前发出通知。

【安全通知】PyPI 官方仓库遭遇request恶意包投毒

【通知】腾讯洋葱反入侵系统检测到多例恶意Python库供应链投毒

同时我们秉承共建安全生态的原则,主动向外界分享了洋葱反入侵系统针对软件源投毒场景的检测方案。

源头之战,不断升级的攻防对抗技术 —— 软件供应链攻击防御探索

兵无常势,水无常形,黑客投毒的手法越来越隐蔽,攻防对抗的难度也随之不断升级,唯有一直紧跟技术发展趋势,持续不断进阶,才能在安全攻防对抗中取得先机。

声明:本文来自腾讯安全应急响应中心,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。