使用 URLScan 分析恶意 URL
概述
URLScan.io 是一项用于扫描和分析可疑 URL 的免费服务,可在隔离环境中捕获网页的截图、DOM 内容、HTTP 事务、JavaScript 行为和网络连接。本 skill 涵盖使用 URLScan 的 Web 界面和 API 调查钓鱼(phishing)URL、凭据收割页面和恶意重定向,而无需将分析师的系统暴露于风险中。
前置条件
- URLScan.io 账号(提供免费层级,自动化操作需要 API key)
- Python 3.8+ 及 requests 库
- 了解 HTTP 协议和 Web 技术
- 熟悉钓鱼 URL 模式
核心概念
URLScan 功能
- 安全浏览:在隔离的 Chromium 实例中渲染 URL
- 截图捕获:渲染页面的可视快照
- DOM 分析:JavaScript 执行后的完整 HTML 内容
- 网络日志:页面发出的所有 HTTP 请求(HAR 格式)
- 证书分析:SSL/TLS 证书详情
- 技术检测:识别 Web 框架和库
- IP/ASN 映射:基础设施情报
- 裁决(Verdict):社区和自动化分类
钓鱼 URL 危险信号
- 新注册域名(< 30 天)
- 免费托管服务(Wix、GitHub Pages、Firebase)
- 隐藏最终目标的 URL 短链接
- 过多的子域名层级(login.microsoft.com.evil.com)
- 品牌名在子域或路径中,而非在域名中
- 非标准端口
- Data URI 或 Base64 编码内容
- JavaScript 密集、HTML 极少的页面
实施步骤
步骤 1:向 URLScan 提交 URL
Web:访问 https://urlscan.io 并提交可疑 URL
API:POST https://urlscan.io/api/v1/scan/
Header: API-Key: your-api-key
Body: {"url": "https://suspicious-url.com", "visibility": "private"}
步骤 2:分析结果
- 查看截图中的品牌仿冒(brand impersonation)情况
- 检查重定向和最终目标 URL
- 检查 DOM 中的凭据输入表单
- 审查网络请求中的数据外泄端点
- 检查 SSL 证书有效性和签发者
步骤 3:提取 IOC(失陷指标)
- 已联系的域名和 IP
- 重定向链中的 URL
- 页面资源的 SHA-256 哈希
- JavaScript 文件哈希
步骤 4:与威胁情报交叉比对
使用 scripts/process.py 自动化 URL 扫描、提取 IOC,并与 VirusTotal、PhishTank 和 Google Safe Browsing 交叉比对。
工具与资源
- URLScan.io:https://urlscan.io/
- URLScan API:https://urlscan.io/docs/api/
- VirusTotal URL 扫描器:https://www.virustotal.com/
- PhishTank:https://phishtank.org/
- Google Safe Browsing:https://transparencyreport.google.com/safe-browsing/search
- Any.Run:https://any.run/(交互式沙箱)
- Hybrid Analysis:https://www.hybrid-analysis.com/
验证
- 通过 API 成功扫描可疑 URL
- 提取截图并识别品牌仿冒
- 记录完整重定向链
- 从扫描结果生成 IOC 列表
- 将发现与至少 2 个威胁情报来源交叉比对