2025-03-06 18:04:4772人阅读
百度安全在此建议大家及时排查,同时也将持续进行大模型基础设施的安全威胁狩猎,分享团队在大模型浪潮下的威胁感知与攻防技术思考,与整个行业共同建设大模型生态安全。
ComfyUI是一款基于节点流程的Stable Diffusion操作界面,专为图像生成任务设计。它通过将深度学习模型的工作流程简化为图形化节点,使用户操作更加直观和易于理解。
ComfyUI提供了高度的可视化和扩展性,用户可以通过拖放操作来构建和调整图像生成流程,无需编写代码。作为大模型图像生成领域的最热门框架之一,其在GitHub斩获了接近7W Star,备受开发者喜爱,根据网络空间测绘数据,全网共有近2700例ComfyUI服务,其中不乏无需密码直接访问的案例。
ComfyUI后台支持加载用户指定的模型文件,同时用户可以方便地管理模型。但给用户带来便利的同时,也存在一些安全隐患。
本次事件攻击者主要利用了ComfyUI 控制台无身份鉴权的配置错误问题进入控制后台,并通过ComfyUI-Manager插件中的远程下载功能从Hugging Face及其镜像站等相关模型仓库拉取投毒模型(.pth后缀的文件),使得开发者在使用ComfyUI加载投毒模型时会因自身的pickle反序列化逻辑触发恶意的Loader,进而执行恶意Bash脚本,脚本会从攻击者的服务器上拉取C2木马进行远程控制,C2域名为cloudflare.com提供给普通用户使用的隧道服务(用户可以无需外部域名和ip就可以把内网的服务映射到外部),攻击者滥用该服务,达成隐蔽控制的目的。
ComfyUI-Manager插件可提供模型管理功能(远端下载、模型使用管理等),ComfyUI-Manager界面功能如下:
攻击者进入ComfyUI后台后,首先利用该插件从https://0x0.st/8TX8.pth下载了恶意的模型文件,并加载。
其中该域名0x0.st为公开匿名文件分享的服务,任意人都可以上传文件到该网站,供其他人下载。
在上面加载恶意的pth模型文件后,攻击者的木马并没有成功上线。几个小时后攻击者再次从https://hf-mirror.com/DSfsdasgaa/shell/blob/main/kcp.pth下载恶意pth文件并加载。
该恶意模型下载地址为https://huggingface.co/DSfsdasgaa/shell/tree/main的镜像文件地址。该大模型仓库同时还存在ws.pth、wsc.pth。
针对该 Hugging face 上的投毒用户 DSfsdasgaa 进行分析,该用户仅发布了这一个恶意模型库,无其他行为痕迹,且账号信息中未写任何描述,非常符合一个异常用户的特征。
大模型里的pth是包含了模型参数和状态的pickle文件,pickle文件为python对象序列化后的文件。当大模型加载模型文件时,模型加载器会对文件进行反序列化操作,若该文件为恶意的pth文件,就会触发其中预先设置的恶意代码,进而导致命令执行漏洞。本次攻击中,攻击者主要使用了8TX8.pth、kcp.pth,这两个恶意的模型文件,都是类似功能,我们分析其中一个8TX8.pth。
通过opcode解析:
我们可以看出该文件被反序列化加载后会通过system执行以下命令。
上述命令为从 194.34.254.219:10404/slk 下载sh脚本,进行执行。
上面利用恶意的pth文件所执行命令都是下载的一个sh脚本,其中拓展关联的ws.pth,在分析时已经失效,未获取后续样本。
从0x0.st/8TX8.pth下载的8TX8下载的slk文件,远端下载地址194.34.254.219:10404/slk,slk文件的bash脚本内容:
该sh脚本为vshell默认生成的上线脚本, 脚本的主要功能如下:
但因为网络环境原因,后续攻击者无法成功下载该文件,导致了攻击者进行了多次的恶意利用,但最终由于网络环境原因,都未成功进行后续攻击。
该脚本是攻击者根据vshell默认生成的上线脚本中,把其中的原vshell获取木马的下载地址,替换为攻击者放在huggungface上的vshell木马。该sh 脚本的主要功能如下:
但因为网络环境原因,后续攻击者无法成功下载该文件,导致了攻击者进行了多次的恶意利用,但最终由于网络环境原因,都未成功进行后续攻击。
针对上述C2木马进行分析,简要信息如下:
ws_linux_amd64,该可执行文件是经过了upx壳压缩,脱壳后为golang编写的程序。
同时该golang样本把自身的部分golang的符号进行了抹除,来干扰分析人员进行分析。根据内存中dump出c2配置,可以确定该样本为曾经国内公开c2平台vshell(https://github.com/veo/vshell,该项目目前已删库)所生成的样本。
从木马的配置文件可以看出该样本链接的远程c2地址为:molecular-mazda-forests-shop.trycloudflare.com:80,通信协议为websocket。该c2域名为cloudflare.com提供普通用户使用的隧道服务,用户可以无需外部域名和ip就可以把内网的服务映射到外部。攻击者滥用该服务,搭建c2服务器来进行远程控制。
截止分析时,该c2地址已失效,其完整的ws链接地址为:ws://molecular-mazda-forests-shop.trycloudflare.com:80/w
vshell 是一款利用 Golang 语言研发的和 Cobalt Strike 相同功能的 C2 远程控制平台、木马下发平台。
处置建议
附录IOC