近日,国家信息安全漏洞库(CNNVD)收到关于roels、req-tools和dark-magic三个Python第三方恶意库情况的报送。这三个库分别部署在Python官方的第三方库下载网站(https://pypi.org)上,当用户安装使用上述Python第三方库时可能被安装恶意程序。
一、 情况介绍
这种攻击情况属于Python库供应链攻击,这三个恶意库的在Python官方的第三方库下载网站上的链接如下:
roels: https://pypi.org/project/reols
req-tools: https://pypi.org/project/req-tools
dark-magic: https://pypi.org/project/dark-magic
恶意库roels和req-tools是一个木马程序,它们的名称与正常的Python第三方库roles和reqtools名称相近, 当用户在通过Python内置命令pip安装roles或reqtools库时,可能因为输入错误导致下载安装恶意库reols或req-tools。通过对roels和req-tools两个Python第三方恶意库的代码分析,发现reols和req-tools两个python第三方恶意库在安装引用之后,会主动连接一个命令和控制服务器(Command and Control Server, C&C 服务器),该服务器域名为:securedmaininfo5.zapto.org。目前,该域名已经失效,但不排除未来有启用的可能。
roels和req-tools两个Python第三方恶意库中包含了多种恶意功能,包括:检查受害者机器是否为虚拟机或沙箱环境、获取键盘输入、截屏操作、获取受害者主机上文件、盗取浏览器存储的密码和执行任意系统命令等功能。
dark-magic恶意库的功能描述是一个对偶形式的线性约束方程的求解器,当用户在安装该恶意库时可能会被安装上恶意程序。通过对dark-magic库的分析,发现在其安装程序中隐藏了一段加密的恶意代码,代码功能是从远程下载一个伪装成图片格式的可执行程序并开始执行。远程下载链接为:https://somwhereinrussia.ru/win/kitten.jpg。目前,该链接已经失效,但不排除未来有启用的可能。
二、危害影响
具有一定编程能力的Python使用者,可能受到这三个恶意库的影响,一旦受害者主机安装上这三个Python第三方恶意库,同时攻击者激活命令和控制服务器和恶意程序下载链接,就可以完全控制受害者的电脑。目前,Python官方的第三方库下载网站(https://pypi.org)尚未清除这三个恶意库。
三、修复建议
目前,Python官方的第三方库下载网站(https://pypi.org)尚未清除这三个恶意库, 建议检查自己的主机,查看是否安装过roels、req-tools和dark-magic这三个Python第三方恶意库,及时排查相关引入这三个库的项目。