2018年第二波Flash零日漏洞(CVE-2018-5002)在野攻击分析预警
字数 1604 2025-08-18 11:37:20
Flash零日漏洞(CVE-2018-5002)在野攻击分析技术文档
1. 漏洞背景
- 发现时间:2018年6月1日由360核心安全高级威胁应对团队全球首次捕获
- 漏洞类型:Adobe Flash Player零日漏洞
- 受影响版本:Adobe Flash Player 29.0.0.171及以下版本
- 攻击特征:2018年出现的第二波Flash零日漏洞在野攻击
- 攻击目标:主要针对中东地区(特别是卡塔尔多哈)
2. 攻击载体分析
2.1 恶意文档特征
- 文件名:***salary.xlsx(具有诱惑性的工资表名称)
- 语言:阿拉伯语
- 内容:包含真实的工资表数据以增强可信度
- MD5:******517277fb0dbb4bbf724245e663
2.2 攻击技术实现
- 通过ActiveX控件和数据嵌入远程Flash文件链接
- 所有漏洞利用代码和恶意荷载均通过远程服务器下发
- 采用云端控制攻击流程
3. 攻击流程详解
-
初始阶段:
- 用户打开恶意xlsx文档
- 文档从远程C&C服务器(people.doha****.com)下载并释放恶意SWF文件
- 初始SWF文件MD5:******66491a5c5cd7423849f32b58f5
-
第二阶段:
- SWF文件请求服务端下载加密数据及解密KEY
- 解密后的文件为Flash 0day exploit
- Exploit文件MD5:******e78116bebfa1780736d343c9eb
-
最终阶段:
- 漏洞触发后请求远端下载恶意shellcode并执行
- (注:分析时攻击者已关闭最终荷载下发)
4. 漏洞原理深度分析
4.1 漏洞触发机制
- 攻击代码经过高度混淆
- 关键问题:Flash解释器处理try-catch语句时未正确处理异常作用域
4.2 漏洞利用细节
-
异常处理缺陷:
li8(123456)指令触发异常后被catch块捕获- Flash认为没有代码能执行到catch语句块,因此未对catch块中的字节码进行检查
-
权限提升:
- 攻击者在catch块中使用getlocal/setlocal指令实现对栈上任意地址读写
- 通过交换栈上的两个对象指针将漏洞转为类型混淆问题
-
利用验证:
- 通过比较对象成员的值判断利用是否成功
- 调试观察到的函数localcount值为2
- catch块中getlocal/setlocal操作448和498位置的数据
5. 攻击基础设施分析
5.1 C&C服务器
- 域名:people.doha****.com
- IP地址:**.145.128.57
- 注册时间:2018-02-18(表明攻击筹备至少3个月)
5.2 域名伪装
- 访问C&C会被重定向到https://people..com/*/
- 该网站是中东地区求职网站
- 攻击域名添加"doha"(多哈)进行伪装,具有明显钓鱼意图
6. 攻击性质评估
- 攻击复杂度:不计成本使用零日漏洞
- 攻击准备:至少三个月的精心筹备
- 攻击定制:针对目标定制钓鱼内容
- 攻击分类:典型的APT(高级持续性威胁)攻击
7. 防御建议
-
终端防护:
- 及时更新Flash Player至最新版本
- 使用安全软件(如360安全卫士)防御漏洞威胁
-
企业防护:
- 提高员工安全意识培训
- 对可疑邮件附件进行严格检查
- 监控异常网络流量(特别是对可疑域名的访问)
-
技术防护:
- 禁用不必要的ActiveX控件
- 实施应用程序白名单策略
- 部署行为检测机制识别异常内存操作
8. 技术总结
该攻击展示了高级威胁攻击者的典型手法:
- 使用真实场景的诱饵文档
- 采用多阶段攻击降低检测率
- 利用零日漏洞实现初始入侵
- 精心设计的基础设施和长期筹备
- 针对特定地区和目标的精准打击
安全团队应从此案例中学习如何检测和防御类似的APT攻击,特别是针对办公文档中嵌入的恶意Flash内容的检测能力。