2022 年 12 月 9 日,研究人员在 PyPI 中发现又一个供应链攻击。2022 年 12 月 6 日名为 aioconsol 的 Python 包发布,同一天发布了三个版本。与此前披露的名为 shaderz 的 Python 包类似,并没有相关的描述信息。
项目描述
版本发布
该 Python 包的 2.0 版在 setup.py 脚本中包含恶意代码,将二进制内容写入名为 test.exe 的文件,这作为安装过程中的一部分。
2.0 版的 setup.py
在 0.0 版本与 1.0 版本中,__init__.py脚本也有类似的恶意代码,如下所示:
1.0 版恶意代码
0.0 版恶意代码
VirusTotal 中部分引擎将该 EXE 可执行文件标记为恶意:
VirusTotal 检测信息
具体行为
执行该 EXE 可执行文件,创建名为 stub.exe 的子进程。
进程运行
程序在 %USER%\AppData\Local\Temp\onefile_%PID_%TIME%处释放多个文件:
释放文件
释放的可执行文件 stub.exe 被少数引擎检出:
VirusTotal 检测信息
执行 test.exe 后,会将自身复制到 %USER%\AppData\Local\WindowsControl名为 Control.exe 以及释放 run.bat 的批处理文件。
创建文件
run.bat 脚本显示文件 Control.exe 的路径,确保在启动时运行。
run.bat
尝试连接到多个 IP 地址,进行敏感数据的泄露:
与 104.20.67.143 的网络连接
与 104.20.68.143 的网络连接
与 172.67.34.170 的网络连接
与 185.106.92.188 的网络连接
双方通信的加密数据
结论
研究人员在不到一周的时间内两次发现针对 Python 的供应链攻击,这说明攻击者对这种攻击方式非常青睐。用户也需要高度警惕不明来源安装的 Python 包,其中很可能包含恶意软件。