ercihan/CVE-2026-34621_PDF_SAMPLE

GitHub: ercihan/CVE-2026-34621_PDF_SAMPLE

一份针对嵌入分阶段 JavaScript 的恶意 PDF 样本进行多阶段攻击链逆向与防御性文档化的技术分析。

Stars: 1 | Forks: 0

# 多阶段 Adobe Acrobat PDF JavaScript 样本的技术分析 ## 概述 本仓库发布了一份以代码为中心的逆向工程分析报告,内容涉及一个嵌入了分阶段 Adobe Acrobat JavaScript 的恶意 PDF 样本。 所分析的样本使用一个隐藏表单字段作为初始加载器,通过 Acrobat 流解码重建第二阶段 JavaScript 代码,进行环境三分类和针对 Acrobat 特有接口的滥用,建立基于网络的后台 staging 机制,最终解密、解压并执行延迟加载的第三阶段载荷。 本仓库的目标是防御性分析与文档记录。重点在于可观测行为、恢复出的代码结构以及攻击链的重建。 ## 关键发现 - PDF 包含一个存储在隐藏表单字段(`Btn1`)中的嵌入式 **Stage-1 启动器**。 - 恢复的 **Stage-2 JavaScript** 会禁用可选内容组(OCG),以减少视觉指示器。 - 样本构建了针对 Acrobat API(如 `app.beginPriv()` 和 `app.endPriv()`)的特权执行包装器。 - 它执行 **目标三分类**,包括: - `viewerVersion` - `viewerType` - `platform` - 基于文件系统的操作系统推断 - PE 头解析以检测 x64 Reader - 它设置了面向利用的原语,包括精心构造的 getter 以及 Acrobat 原生接口,例如 `ANShareFile(...)` 和 `ANFancyAlertImpl(...)`。 - 它构建了富含遥测信息的 **信标 URL**,用于指向一个硬编码的远程端点,并使用 **RSS JavaScript 馈送** 作为 staging 流程的一部分。 - 最终可见的加载路径明确如下: - 对 `bird1` 进行十六进制解码 - 使用 AES-CTR 解密 - 使用 DEFLATE 解压 - 存储为 `global.final_js` - 通过延迟的 `eval(...)` 执行 ## 攻击链总结 1. PDF JavaScript 读取隐藏字段 `Btn1` 2. Stage-1 解码并调度 Stage-2 3. Stage-2 初始化混淆逻辑并隐藏 OCG 图层 4. 指纹化目标环境 5. 尝试使用 Acrobat 原生面向利用的设置 6. 准备遥测与 staging 通道 7. 脚本轮询运行时填充的有效载荷材料 8. 加密内容在内存中解密并解压 9. 通过 `setTimeOut` 执行第三阶段 JavaScript 载荷 ## 本样本的重要性 该样本具有重要意义,因为它并非一个仅包含嵌入脚本片段的静态 PDF。它的行为像一个结构化的多阶段加载器,能够: * 识别目标环境 * 滥用 Acrobat 特有特权功能 * 准备后续载荷投递 * 完全在内存中重建后续代码 这种组合使其既适用于 PDF 恶意软件分析,也适用于研究 Acrobat JavaScript 的信任机制与 staging 行为。 ## 分析与文档 完整分析与文档可参考 [此处](adobe_0day_analysis_malware_sample.pdf)。
标签:0day分析, Adobe Acrobat JavaScript, AES-CTR解密, APT攻击链, beacon通信, DEFLATE解压, eval执行, PDF恶意软件, RSS订阅, 云资产清单, 代码分析, 凭证管理, 多阶段载荷, 威胁情报, 开发者工具, 数据可视化, 流解码, 特权API滥用, 环境指纹, 目标定位, 逆向工程, 隐藏表单域