|
PyPI 官方仓库遭request恶意包投毒,攻击行为严重威胁linux服务器安全时间:2020-08-14 【文章摘要】腾讯洋葱反入侵系统检测发现PyPI官方仓库被恶意上传了request钓鱼包,攻击者通过钓鱼包实施窃取用户敏感信息及数字货币密钥、种植持久化后门、远程控制等一系列攻击活动。腾讯安全应急响应中心(TSRC)建议各开源镜像站以及对开源镜像站有依赖的公司尽快自查处理,确保清除恶意库,保障用户系统安全。 一、概述 8月5日,腾讯洋葱反入侵系统检测发现PyPI官方仓库被恶意上传了request 钓鱼包,攻击者通过钓鱼包实施窃取用户敏感信息及数字货币密钥、种植持久化后门、远程控制等一系列攻击活动。腾讯安全威胁情报中心回溯本次软件供应链攻击事件,发现已有部分用户中招。 当用户在安装requests包时,容易将名字打错为 request,结果会使用pip安装成request恶意包。由于requests库非常流行,下载量大,已有部分用户因错误输入包名而被感染。 由于国内开源镜像站均同步于PyPI官方仓库,所以该问题不仅会通过官方仓库,还可能通过各个开源镜像站影响更大范围。腾讯安全应急响应中心(TSRC)建议各开源镜像站以及对开源镜像站有依赖的公司尽快自查处理,确保清除恶意库,保障用户系统安全。 二、解决方案腾讯安全专家建议各开源镜像站以及对开源镜像站有依赖的公司尽快自查处理,确保清除request恶意库; 使用"pip show --file request"进行查看(python3使用"pip3 show --file request"),如果结果为"WARNING: Package(s) not found: request"不存在风险。 如果已经安装,请使用"pip uninstall request"进行卸载,建议Linux系统管理员参考以下详细分析报告指引手动完成已安装后门程序的清除。 三、事件分析(报告来源:腾讯安全应急响应中心) 7月31号,攻击者在PyPI官方仓库上传了request 恶意包,该恶意包通过伪造著名python库requests包名来进行钓鱼,攻击者可对受感染的主机进行入侵,并实施窃取用户敏感信息及数字货币密钥、种植持久化后门、远程控制等一系列活动。 恶意包感染过程: 1. 用户安装 根据用户习惯,在安装requests包,容易将名字打错为 request,结果是使用pip安装成恶意包。 pip install requests --> pip install request 由于requests库非常流行,下载量大,已有部分开发人员因错误输入包名而被感染。 2. 远程下载恶意代码 在pip安装request包的机制中,会主动执行包中的setup.py文件,在setup.py文件中包含攻击者远程下载并执行恶意代码的逻辑,同时对C2域名进行编码混淆,解密后的C2地址为:https://dexy.top/request/check.so 3. 释放远控木马并持久化 request包安装过程中远程加载的恶意代码包括两部分功能: 释放远控木马到当前用户 HOME 目录的 .uds 文件夹内,木马名称为_err.log(例如 /root/.uds/_err.log)。_err.log远控木马脚本内容经过base64编码和压缩,缩小了体积,同时增强了对抗性。 将远控木马脚本解密后,部分代码内容如下: 远控木马功能齐全,包括命令执行,文件上传下载,python代码执行,信息收集,文件搜索等功能。 在 .bashrc 植入恶意后门命令实现持久化 4. 下发窃密指令 相关IoC:攻击者通过远控木马下发python窃密指令,盗取敏感信息(coinbase帐密)。进程监控如下: 将窃密指令解密后,功能为请求C2 服务:http://dexy.top/x.pyx ,远程加载窃密木马。 远程加载的窃密木马部分功能如下所示,用于窃取浏览器中的cookie,虚拟货币(coinbase)账号与密码等。 IOCs域名: dexy.top who.dexy.top:3500 ip: 199.247.5.158 url: hxxp://dexy.top/request/check.so 参考链接:【安全通知】PyPI 官方仓库遭遇request恶意包投毒 https://mp.weixin.qq.com/s/dkPdXfGfSK097GI6Ln92lA |