Emotet使用伪造的恶意宏来绕过反病毒检测
字数 2083 2025-08-06 08:35:35

Emotet恶意软件分析:伪造宏文档绕过检测技术详解

1. Emotet恶意软件概述

Emotet是一款自2014年开始活跃的恶意软件,最初设计为银行木马,用于窃取敏感信息。经过多年发展,它已演变为一个多功能的恶意软件传播平台:

  • 初始功能:银行木马,窃取敏感和隐私信息
  • 演变功能:提供恶意软件传播服务(MaaS),可传播其他银行木马
  • 破坏性:被US-CERT评为"非常具有破坏性"的恶意软件
  • 目标:主要影响各级政府和企业机构

2. Emotet传播机制分析

2.1 传播途径

  1. URL传播

    • 通过攻击者控制的基础设施上的URL分发
    • 恶意文档托管在各类网站上
  2. 邮件传播

    • 通过邮件附件分发恶意文档
    • 使用社会工程学诱骗用户打开附件

2.2 行业分布

根据2019年1月数据,Emotet攻击的行业分布如下(按攻击频率排序):

  1. 商业服务(Business Services)
  2. 金融服务(Financial Services)
  3. 医疗保健(Healthcare)
  4. 教育(Education)
  5. 政府机构(Government)
  6. 制造业(Manufacturing)
  7. 零售业(Retail)
  8. 科技行业(Technology)

2.3 恶意文档类型分析

Emotet使用的恶意文档主要分为两类:

  1. XML伪装为Word文档(占比约80%):

    • 文件扩展名为.doc
    • 实际文件类型为XML
    • 包含base64编码的压缩和混淆VBA宏代码
    • 目的:绕过沙箱检测(沙箱通常根据真实文件类型而非扩展名识别)
  2. 标准Word文档(占比约20%):

    • 包含嵌入的恶意宏
    • 传统攻击方式

反病毒检测结果

  • 10%的恶意文件被AV标记为"unknown"(无法判定恶意性)

3. 恶意文档技术分析

3.1 文档内容特征

  • 使用Microsoft Office logo的主题消息诱骗用户
  • 部分文档锁定VBA项目,防止安全研究人员分析

3.2 XML/DOC文件结构

XML文件特征

  • 包含标准XML header
  • 使用Microsoft Word Document XML格式标签
  • 包含base64编码的压缩和混淆VBA宏代码
  • 使用.doc扩展名伪装

DOC文件特征

  • 标准Word文档格式
  • 包含嵌入的恶意宏

3.3 宏代码分析

恶意宏代码具有以下特征:

  1. 高度混淆

    • 使用dead code insertion等技术增加分析难度
    • 多层编码和混淆
  2. 执行流程

    • 最终调用带有vbHide参数集的shell函数
    • 使用环境变量存储编码的命令
    • 采用Invoke-DOSfucation技术进行命令混淆
  3. 命令构建技术

    %ProgramData:~0,1%%ProgramData:~9,2%
    
    • 这是cmd形式的编码技术,动态生成命令
  4. 进程创建

    • 使用cmd /V /C参数:
      • /V:启用延迟变量扩展,用于动态生成变量
      • /C:执行命令后终止进程
    • 创建多个cmd进程树,最终通过PowerShell终止

3.4 PowerShell payload下载

最终阶段使用PowerShell脚本:

  1. 下载机制

    • 使用Net.WebClient.DownloadFile方法
    • 从攻击者控制的URL下载Emotet payload
    • 保存到TEMP目录并执行
  2. 完整性检查

    • 使用Get-Item检查文件大小
    • 确保payload大于特定下限值
    • 通过Invoke-Item执行payload
  3. 冗余设计

    • 在URL列表中循环尝试下载
    • 成功下载后中断循环

4. Emotet工作流程

完整攻击链如下:

  1. 用户打开恶意文档(XML伪装为DOC或标准DOC)
  2. 文档诱导用户启用宏
  3. 宏代码执行,调用shell函数
  4. 通过多级cmd进程构建最终命令
  5. 执行PowerShell脚本
  6. PowerShell下载Emotet payload
  7. payload执行,建立C2通信
  8. 攻击者通过C2信道发送其他恶意软件

5. 技术演进趋势

  • 传统方式:使用普通含恶意宏的Word文档
  • 新技术:将XML文档伪装为Word文档
  • 预测:攻击活动将继续发展并变得更加复杂

6. 防御建议

  1. 文档安全

    • 禁用Office宏执行,或设置为仅允许受信任的宏运行
    • 注意文件真实类型,不依赖扩展名判断
  2. 邮件安全

    • 警惕不明来源的邮件附件
    • 特别关注商业类邮件的附件
  3. 终端防护

    • 保持反病毒软件更新
    • 监控可疑的PowerShell和cmd活动
  4. 网络防护

    • 阻止已知恶意域名和URL
    • 监控异常外联流量

附录:IoC指标

恶意文档托管域名

www[.]ploeger[.]ru
id14[.]good-gid[.]ru
zobzarrinco[.]ir
aziendaagricolamazzola[.]it
dmoving[.]co[.]il
expoluxo[.]com
kamdhenu[.]technoexam[.]com
ldztmdy[.]cf
mstudija[.]lt
puntodeencuentrove[.]com
somov-igor[.]ru
www[.]purifiq[.]co[.]za
www[.]topstick[.]co[.]kr

PowerShell回调URL

hxxp://stoutarc[.]com/JbCOGyE
hxxp://www.modern-autoparts[.]com/ezFUGpI
hxxp://antigua.aguilarnoticias[.]com/LNOGFuYx
hxxp://uicphipsi[.]com/4d20qS_izTLi7wu1_uuk
hxxp://vuonnhatrong[.]com/FSrJps_iKqwbRFjH
hxxp://themissfitlife[.]com/5wn_YAsyS0M
hxxp://evoqueart[.]com/Wk0MdRvGzW
hxxp://leptokurtosis[.]com/wmK5XminG
hxxp://mimiabner[.]com/tvprRKdT

Emotet Payload哈希

7c5cdc5b738f5d7b40140f2cc0a73db61845b45cbc2a297bee2d950657cab658
37a000cd97233076cd3150c4dbde11d3d31237906b55866b7503fdc38cd1de08

恶意文档文件名示例

Untitled_attachment_22012019.doc
2050822044828453.doc
ATT2469528456278769653.doc
PAY199472702716599.doc

恶意邮件发件人域名

altopro[.]com[.]mx
bir[.]gov[.]ph
cafemarino[.]com[.]mx
daawat[.]com[.]pk
ecop[.]org[.]ph
iata[.]org
insular[.]com[.]ph
insurance[.]gov[.]ph
lbstation[.]co[.]uk
phil-union[.]com
rubiconeng[.]com
telkomsa[.]net
thielenhaus[.]cn
trmdemexico[.]com
wbf[.]ph

恶意邮件MIME类型

application/xml 但文件名以.doc结尾

参考技术资料

  1. Invoke-DOSfucation技术白皮书:
    https://www.blackhat.com/docs/asia-18/asia-18-bohannon-invoke_dosfuscation_techniques_for_fin_style_dos_level_cmd_obfuscation.pdf
Emotet恶意软件分析:伪造宏文档绕过检测技术详解 1. Emotet恶意软件概述 Emotet是一款自2014年开始活跃的恶意软件,最初设计为银行木马,用于窃取敏感信息。经过多年发展,它已演变为一个多功能的恶意软件传播平台: 初始功能 :银行木马,窃取敏感和隐私信息 演变功能 :提供恶意软件传播服务(MaaS),可传播其他银行木马 破坏性 :被US-CERT评为"非常具有破坏性"的恶意软件 目标 :主要影响各级政府和企业机构 2. Emotet传播机制分析 2.1 传播途径 URL传播 : 通过攻击者控制的基础设施上的URL分发 恶意文档托管在各类网站上 邮件传播 : 通过邮件附件分发恶意文档 使用社会工程学诱骗用户打开附件 2.2 行业分布 根据2019年1月数据,Emotet攻击的行业分布如下(按攻击频率排序): 商业服务(Business Services) 金融服务(Financial Services) 医疗保健(Healthcare) 教育(Education) 政府机构(Government) 制造业(Manufacturing) 零售业(Retail) 科技行业(Technology) 2.3 恶意文档类型分析 Emotet使用的恶意文档主要分为两类: XML伪装为Word文档 (占比约80%): 文件扩展名为.doc 实际文件类型为XML 包含base64编码的压缩和混淆VBA宏代码 目的:绕过沙箱检测(沙箱通常根据真实文件类型而非扩展名识别) 标准Word文档 (占比约20%): 包含嵌入的恶意宏 传统攻击方式 反病毒检测结果 : 10%的恶意文件被AV标记为"unknown"(无法判定恶意性) 3. 恶意文档技术分析 3.1 文档内容特征 使用Microsoft Office logo的主题消息诱骗用户 部分文档锁定VBA项目,防止安全研究人员分析 3.2 XML/DOC文件结构 XML文件特征 : 包含标准XML header 使用Microsoft Word Document XML格式标签 包含base64编码的压缩和混淆VBA宏代码 使用.doc扩展名伪装 DOC文件特征 : 标准Word文档格式 包含嵌入的恶意宏 3.3 宏代码分析 恶意宏代码具有以下特征: 高度混淆 : 使用dead code insertion等技术增加分析难度 多层编码和混淆 执行流程 : 最终调用带有 vbHide 参数集的shell函数 使用环境变量存储编码的命令 采用Invoke-DOSfucation技术进行命令混淆 命令构建技术 : 这是cmd形式的编码技术,动态生成命令 进程创建 : 使用 cmd /V /C 参数: /V :启用延迟变量扩展,用于动态生成变量 /C :执行命令后终止进程 创建多个cmd进程树,最终通过PowerShell终止 3.4 PowerShell payload下载 最终阶段使用PowerShell脚本: 下载机制 : 使用 Net.WebClient.DownloadFile 方法 从攻击者控制的URL下载Emotet payload 保存到TEMP目录并执行 完整性检查 : 使用 Get-Item 检查文件大小 确保payload大于特定下限值 通过 Invoke-Item 执行payload 冗余设计 : 在URL列表中循环尝试下载 成功下载后中断循环 4. Emotet工作流程 完整攻击链如下: 用户打开恶意文档(XML伪装为DOC或标准DOC) 文档诱导用户启用宏 宏代码执行,调用shell函数 通过多级cmd进程构建最终命令 执行PowerShell脚本 PowerShell下载Emotet payload payload执行,建立C2通信 攻击者通过C2信道发送其他恶意软件 5. 技术演进趋势 传统方式 :使用普通含恶意宏的Word文档 新技术 :将XML文档伪装为Word文档 预测 :攻击活动将继续发展并变得更加复杂 6. 防御建议 文档安全 : 禁用Office宏执行,或设置为仅允许受信任的宏运行 注意文件真实类型,不依赖扩展名判断 邮件安全 : 警惕不明来源的邮件附件 特别关注商业类邮件的附件 终端防护 : 保持反病毒软件更新 监控可疑的PowerShell和cmd活动 网络防护 : 阻止已知恶意域名和URL 监控异常外联流量 附录:IoC指标 恶意文档托管域名 PowerShell回调URL Emotet Payload哈希 恶意文档文件名示例 恶意邮件发件人域名 恶意邮件MIME类型 参考技术资料 Invoke-DOSfucation技术白皮书: https://www.blackhat.com/docs/asia-18/asia-18-bohannon-invoke_ dosfuscation_ techniques_ for_ fin_ style_ dos_ level_ cmd_ obfuscation.pdf