文|腾讯洋葱反入侵系统七夜、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库供应链投毒
同时我们秉承共建安全生态的原则,主动向外界分享了洋葱反入侵系统针对软件源投毒场景的检测方案。
源头之战,不断升级的攻防对抗技术 —— 软件供应链攻击防御探索
兵无常势,水无常形,黑客投毒的手法越来越隐蔽,攻防对抗的难度也随之不断升级,唯有一直紧跟技术发展趋势,持续不断进阶,才能在安全攻防对抗中取得先机。
0x05 洋葱反入侵系统介绍
安平洋葱系统是腾讯内部自研的服务器安全系统(EDR),支持x86和arm架构,为腾讯公司百万级服务器提供入侵检测、漏洞检测、安全基线扫描和安全追溯等安全能力、满足安全合规要求,一直服务于QQ、微信、腾讯云、腾讯游戏等业务。洋葱团队专注于黑客攻防领域,关注第三方组件、软件源等基础设施安全,发现的重大安全风险也会及时同步官方,欢迎有兴趣的安全团队交流合作。同时洋葱团队也在和腾讯云合作,为一些外部企业提供安全支持。