据Jfrog科技博客报道,在 PyPI 存储库中发现几个恶意代码,攻击者试图植入后门、窃取信用卡信息、窃取浏览器敏感数据、截屏并上传到指定地址。相关恶意代码在从PyPI网站删除之前已被下载3万次,腾讯安全专家发现国内部分镜像库尚存在这些恶意代码,腾讯安全专家建议软件开发人员从PyPI 代码库下载资源时,注意进行安全审核,避免将恶意代码安装到自己的开发环境中。
事件背景
近年来,PyPI、GitHub等软件存储库多次曝出软件供应链攻击事件:攻击者将内置后门的代码上传到公共存储库,其他开发人员如果不注意对代码进行安全审核,就可能将有害代码应用到自己的开发环境,继而在分发自己开发的软件时,将恶意程序传播给最终用户。
有问题的 Python 包,被发现使用 Base64 编码进行了混淆:
- pytagora (uploaded by leonora123)
- pytagora2 (uploaded by leonora123)
- noblesse (uploaded by xin1111)
- genesisbot (uploaded by xin1111)
- are (uploaded by xin1111)
- suffer (uploaded by suffer)
- noblesse2 (uploaded by suffer)
- noblessev2 (uploaded by suffer)
PyPI 是 Python Package Index 的缩写,是 Python 的官方第三方软件存储库,诸如pip 之类的包管理器实用程序依赖它作为包及其依赖项的默认源。将恶意代码上传到官方存储库,会导致依赖这些源(或镜像源)部署开发环境的软件开发者在无意中将恶意代码传播出去。从而构成典型的软件供应链攻击。
据了解,PyPI、Github及其他公共代码存储库本身并不对代码内容进行审核,任何开发人员均可注册,并上传代码。这种机制类似于其他社交媒体平台,平台方并不对内容安全性负责。
腾讯安全专家建议软件开发人员在使用PyPI、Github等公共代码库分享的代码之前,对代码内容进行审阅,避免安装恶意代码。腾讯安全已将上述存在恶意代码的文件拉黑,帮助软件开发人员检测风险。
恶意样本分析:
恶意代码使用base64方式进行编码保存,主要为隐藏恶意后门相应功能。
下图中的后门代码,试图连接172.16.60.80:9009,然后执行从socket中读取的Python代码。
恶意代码通过查询sqlite数据库窃取Chrome保存的敏感信息,进一步获取浏览器中保存的所有账号和登录密码。
对电脑屏幕截屏窃取敏感信息。
将盗窃的上述敏感数据上传到如下接口地址:
hxxps://discordapp.com/api/webhooks/725066562536472720/dj6bPPENAE5SxFzMRB6m7FEPwIbrWkH_5PlSR6RG99pY73wjJ9dVoZTkOrvOQ04cZybR
腾讯安全解决方案:
PyPI恶意代码包威胁数据已加入腾讯安全威胁情报数据库,赋能给腾讯全系列安全产品,客户可以通过订阅腾讯安全威胁情报产品,让全网安全设备同步具备相应的威胁检测、防御、阻断能力。推荐政企客户在公有云中部署腾讯云防火墙、腾讯主机安全(云镜)等安全产品检测防御相关威胁。
腾讯主机安全(云镜)支持对PyPI恶意代码包落地文件进行检测清除,客户可登录腾讯云->主机安全控制台,检查病毒木马告警信息,将恶意木马一键隔离或删除。推荐政企客户通过腾讯主机安全的漏洞管理、基线管理功能对网络资产进行安全漏洞和弱口令检测。
腾讯iOA、腾讯电脑管家已支持查杀拦截相关恶意软件包下载。
私有云客户可通过旁路部署腾讯高级威胁检测系统(御界)进行流量检测分析,腾讯高级威胁检测系统(御界)已支持对政企内网用户下载相关恶意文件及恶意后门窃取敏感信息回传等活动进行检测。
政企客户可通过旁路部署腾讯天幕(NIPS)实时拦截通过PyPI代码库投放的后门连接远程服务器,彻底封堵威胁流量。腾讯天幕(NIPS)基于腾讯自研安全算力算法PaaS优势,形成具备万亿级海量样本、毫秒级响应、自动智能、安全可视化等能力的网络边界协同防护体系。
IOCs
MD5
453ddb774d66e75c9b65b68306957ef8
253325d92666c6bb1160780ed85705a5
a61b6c3551d91b1e08a6daf843bcc3ab
5274c20eda8a905784a85d898a038dde
参考资料:
https://jfrog.com/blog/malicious-pypi-packages-stealing-credit-cards-injecting-code/
https://www.theregister.com/2021/07/28/python_pypi_security
https://thehackernews.com/2021/07/several-malicious-typosquatted-python.html