HelixGuard 研究人员发现了一个上传到 PyPI 的恶意 Python 包,它伪装成广泛使用的“pyspellchecker”库——这次隐藏了一个多层加密后门,旨在为攻击者提供远程执行能力。该包名为 spellcheckers,已经下载超过 950 次,扩大了一个与假招聘人员社会工程攻击有关的威胁活动,目标是加密货币持有者。
恶意包试图通过复制 pyspellchecker(一个合法包,拥有超过 1800 万次下载)的名称来融入 Python 生态系统。但其看似无害的功能之下隐藏着一个狡猾的、多阶段的远程访问后门。
根据报告,“该组件伪装成一个拼写检查工具,实际上隐藏了一个多层加密后门。”
HelixGuard 强调了几个为逃避检测而设计的特性:
- 隐蔽性:恶意代码隐藏在功能模块中
- Base64 编码的索引文件,以绕过静态检测
- 自定义的 XOR 加密网络协议
- 双层解密和异常抑制
感染始于 ma_IN.index ,这是一个 Base64 编码的文件,在导入时自动执行。
分析详细描述了这种行为:“恶意代码首先通过一个 Base64 编码的隐藏索引文件(ma_IN.index )执行,触发初始恶意行为。”
解码后,payload 会连接到攻击者控制的 C2 服务器(dothebest.store ),并下载第二阶段恶意代码。“第一阶段 payload 连接到攻击者控制的 C2 服务器(dothebest.store )并下载第二阶段恶意代码。”
解码后的第一阶段代码使用 Python 的 subprocess.Popen() 在后台执行恶意 Python 指令——对用户来说完全无声无息。
第二阶段 payload 显著更先进,具有以下功能:
- 操作系统指纹识别
- 计算机名称收集
- 自定义数据包构建
- XOR 加密的 C2 通信
- 持续命令轮询
HelixGuard 写道:“第二阶段 payload 解密并执行一个远程访问木马(RAT)。该 RAT 可以接收远程命令并通过 exec() 执行攻击者控制的 Python 代码,从而对受害者的主机实现完全远程控制。”
与 C2 端点保持持久连接:
- dothebest.store/allow/inform.php
- dothebest.store/refresh.php
解密的 Python 后门能够接收各种命令,通过自定义协议进行编码。当 C2 发出命令 ID 1001 时,恶意软件直接执行远程 Python payload:“如果 nCMDID == 1001: exec(szCode)”,从而执行任意命令。
恶意软件使用多个加密例程:
- 使用 16 字节密钥的 XOR
- 使用常数密钥 123 的 XOR 转换
- 命令数据包的 Base64 包装
- 基于 Unicode 的数据包重新编码
这些层次有意设计为绕过静态扫描并复杂化分析。正如 HelixGuard 所描述的,“使用 XOR 加密的网络通信和自定义协议格式来增加隐蔽性。”
报告直接将这次 PyPI 供应链攻击与先前的社会工程活动联系起来。
HelixGuard 指出,“C2 地址……与黑客之前冒充招聘人员进行社会工程攻击时使用的地址相匹配。”
这些早期攻击通过伪装成招聘人员提供高薪工作来针对用户的加密货币账户——在 2024-2025 年变得越来越常见。
新的 PyPI 基于分发模型允许相同的威胁者悄悄感染不知情安装恶意库的开发人员和工程师。








发表评论
您还未登录,请先登录。
登录