文章总结: TeamPCP组织于2026年3月27日对Telnyx通信APISDK发起供应链攻击,通过被盗PyPI令牌发布恶意版本4.87.1/4.87.2。攻击采用WAV音频隐写术和多阶段攻击链,首次支持Windows和Linux/macOS双平台,窃取SSH密钥、云凭证、加密钱包等敏感数据。检测发现与3月24日LiteLLM攻击使用相同RSA公钥。建议用户检查系统痕迹、回退至安全版本4.87.0并轮换所有凭证。 综合评分: 87 文章分类: 供应链安全,恶意软件,漏洞分析,威胁情报,安全运营
TeamPCP 组织再度攻击:Telnyx 供应链攻击事件总结
松杨网络安全资料库
2026年4月1日 16:20 广东
一、事件概览:
| 事件名 | Telnyx 供应链攻击 | | — | — | | 时间 | 2026年3月27日 | | 攻击者 | TeamPCP(与3月24日攻击 LiteLLM 的同一组织) | | 受害者 | Telnyx(通信API SDK,PyPI下载量超380万次) | | 影响版本 | telnyx 4.87.1、 telnyx 4.87.2 |
二、关键发现:
| 项目 | 内容 | | — | — | | 攻击向量 | 使用被盗的 PyPI API Token 直接发布恶意版本 | | 攻击手法 | WAV音频文件隐写术 + 多阶段攻击链 | | 目标平台 | Windows + Linux/macOS(首次加入Windows攻击) | | C2服务器 | 83.142.209.203:8080(裸IP,无域名) | | 归因证据 | RSA-4096公钥与LiteLLM攻击完全一致 |
三、事件的时间线:
| 时间 | 事件 |
| — | — |
| 2026-03-27 03:51 | 发布恶意版本 4.87.1(因拼写错误 Setup() vs setup() 导致payload未执行) |
| 2026-03-27 04:07 | 发布修复版本 4.87.2(完整攻击链生效) |
| 2026-03-27 04:10 | Endor Labs 发现并报告给 Telnyx 维护者 |
| 事件后续 | PyPI 隔离恶意版本 |
安全版本:[email protected]
四、攻击链:
Linux/macOS攻击路径
import telnyx ↓FetchAudio() 启动分离子进程 ↓下载 ringtone.wav(WAV隐写术) ↓从音频帧提取 XOR 加密的 Python 代码 ↓执行 332 行凭证窃取脚本 ↓加密打包为 tpcp.tar.gz ↓POST 到 C2 服务器
Windows 攻击路径
import telnyx ↓setup() 检查 Startup 文件夹 ↓下载 hangup.wav ↓提取并植入 msbuild.exe(伪装成微软构建工具) ↓添加到启动文件夹实现持久化
五、恶意行为:
| 类别 | 具体目标 | | — | — | | SSH | ~/.ssh/id_rsa,id_ed25519,id_ecdsa,authorized_keys | | 云服务 | ~/.aws/credentials,~/.config/gcloud/, ~/.azure/, ~/.kube/config | | 凭证文件 | ~/.docker/config.json(Docker登录凭证)、~/.npmrc(npm 包管理器的 Token / 私有仓库认证)、~/.git-credentials(Git 账号密码)、~/.vault-token(HashiCorp Vault 的访问 Token) | | 数据库 | .pgpass、my.cnf、redis.conf、.mongorc.js | | 加密钱包 | Bitcoin, Ethereum keystores, Solana keypairs, Cardano keys | | TLS/SSL | All .pem, .key, .p12, .pfx files, LetsEncrypt certificates | | 环境文件 | nv, .env.local, .env.production, .env.development – searched 6 directories deep | | shell历史 | bash, zsh, MySQL, PostgreSQL, Redis CLI | | 系统文件 | /etc/passwd, /etc/shadow, authentication logs |
六、云环境攻击:
- AWS IMDS:枚举IAM角色,获取临时凭证
- AWS Secrets Manager:列出并获取所有密钥
- AWS SSM Parameter Store:枚举配置参数
七、Kubernetes 横向移动:
- 枚举所有命名空间的凭证
- 部署特权 Pod 到每个节点
- 挂载宿主机根文件系统
- 更改根目录,到宿主机安装持久化后门
八、与 LiteLLM 攻击的对比
| 攻击技术要素 | LiteLLM (3月24日) | Telnyx (3月27日) | | — | — | — | | Payload位置 | 内嵌完整窃取器(34,460字符) | 瘦投放器(4,428字符) | | Payload交付 | Base64内嵌 | WAV隐写术 + C2下载 | | C2通信 | models.litellm.cloud | 83.142.209.203:8080 | | 平台支持 | 仅Linux/macOS | Windows + Linux/macOS | | Windows持久化 | 无 | msbuild.exe + 12小时锁 | | Linux持久化 | sysmon.service | audiomon.service | | 持久化轮询 | 固定50分钟 | 抖动45-55分钟 | | 混淆方式 | Base64 | Base64 + WAV隐写 + XOR |
九、与 LiteLLM 攻击技术的区别:
-
WAV隐写术
— Payload隐藏在音频中,绕过网络检测
-
瘦投放器架构
— 包体积减少87%,真实Payload运行时获取
-
分离子进程
—
start_new_session=True绕过沙箱检测 -
跨平台攻击
— 首次加入Windows攻击路径
-
可更新Payload
— C2可随时更新攻击代码,无需重新发布包
十、缓解措施:
1.确认版本:安全版本是4.87.0,危险版本是4.87.1和4.87.2。
2.linux用户,检查~/.config/audiomon/和audiomon.service。
3.windows用户,检查启动文件夹msbuild.exe。
4.注意83.142.209.203IP相关的网络日志。
5.若使用了危险版本,请替换所有凭证。
6.轮换相关凭证。
十一、
检测命令
1.检查是否安装了恶意版本:pip show telnyx 2>/dev/null | grep -i version pip freeze 2>/dev/null | grep telnyx2.检查持久化痕迹:Linux/macOS:ls -la ~/.config/audiomon/audiomon.py#检查audiomon植入物ls -la ~/.config/systemd/user/audiomon.service#检查systemd用户服务windows:dir "%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\msbuild.exe"#检查启动文件夹中的伪装 msbuild.exe3.检查Kubernetes 横向移动痕迹:kubectl get pods -n kube-system | grep node-setup4.检查是否连接C2:网络日志查看是否存在连接IP:83.142.209.203的记录5.清理:Linux/macOS清理:版本回退:pip install telnyx==4.87.0停止并禁用 systemd 服务:systemctl --user stop audiomon.service,systemctl --user disable audiomon.service删除植入物和服务文件:rm -rf ~/.config/audiomon/rm -f ~/.config/systemd/user/audiomon.servicerm -f /tmp/.initd_state重载 systemd:systemctl --user daemon-reloadWindows 清理:%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\ 目录下:msbuild.exemsbuild.exe.lock6.网络层阻断83.142.209.203的连接
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:松杨网络安全资料库 《TeamPCP 组织再度攻击:Telnyx 供应链攻击事件总结》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论