yuvikapoorDFIR/WebTrail
GitHub: yuvikapoorDFIR/WebTrail
WebTrail 是一款面向 BEC 事件响应的浏览器历史取证桌面工具,可从 8 款主流浏览器中提取历史记录并利用内置 130+ 条 IOC 规则自动分析凭据钓鱼、OAuth 滥用等威胁行为。
Stars: 0 | Forks: 0
# WebTrail
**用于商业电子邮件入侵调查的浏览器历史记录取证工具**
[](https://python.org)
[](LICENSE)
[]()
[]()
[](https://linkedin.com/in/yuvi-kapoor-5a38581a5)
## 功能特性
- **多浏览器支持** — 原生读取 Chrome、Edge、Firefox、Brave、Opera、Vivaldi、Safari (macOS) 和 Yandex 历史记录文件
- **安全文件读取** — 在读取前将数据库复制到临时位置;适用于来自实时系统的锁定文件
- **自动检测** — 根据 SQLite schema(`moz_places` 检查)识别 Firefox 或 Chromium 格式,并根据文件路径猜测浏览器名称
- **多配置文件扫描** — 自动发现浏览器 `User Data` 文件夹中的每个配置文件目录(`Default`、`Profile 1`、`Profile 2` 等)
- **BEC IOC 分析引擎** — 20 个规则类别,130+ 种模式;标记 Microsoft Auth 滥用、OAuth 设备代码钓鱼、AiTM/PhaaS 基础设施、电子签名平台、文件共享、银行门户、URL 缩短器、Cloudflare Workers、Ngrok、PhaaS 套件字符串等
- **严重性分类** — 四级系统(严重 / 高 / 中 / 信息),每次发现均带有颜色编码
- **Excel 风格的多列排序** — 单击可循环切换升序/降序/不排序;Shift+单击可添加次要和第三排序键,并在标题中显示优先级编号
- **日期过滤器** — 五种模式:所有时间、最近 N 天、晚于、早于、介于 — 格式均为 DD/MM/YYYY
- **实时快速过滤** — 跨 URL、标题、浏览器、配置文件和访问类型进行文本搜索,具有 150ms 的防抖机制
- **分块渲染** — 表格以 500 行为一批进行填充;无论数据集大小如何,首批结果都会立即显示
- **预缓存时间戳** — `fmt_dt` 在加载时每行只运行一次,而不是在每次渲染时运行
- **导出** — CSV、TSV、JSON 和自包含的样式化 HTML;BEC 发现结果可单独导出为 CSV
- **“无效”日期处理** — 损坏的、超出范围(2000 年之前 / 2035 年之后)或零纪元的时间戳将显示为 `Not valid`,而不是乱码值
## BEC IOC 规则覆盖范围
| 类别 | 严重性 | 示例 |
|---|---|---|
| **Microsoft Auth — OAuth / 同意授权** | 严重 | `login.microsoftonline.com/common/oauth2`, `login.live.com/oauth20` |
| **OAuth 设备代码钓鱼** | 严重 | `microsoft.com/devicelogin`, `oauth2/deviceauth` |
| **Microsoft 登录门户** | 严重 | `login.microsoftonline.com`, `login.live.com` |
| **已知 PhaaS 套件指标** | 严重 | `mamba2fa`, `tycoon2fa`, `evilproxy`, `eviltokens` |
| **Okta 登录 — 非 Okta 域名** | 严重 | `okta-login.`, `login-okta.`, `/okta/signin` |
| **Cloudflare Workers (AiTM 代理)** | 严重 | `*.workers.dev/` |
| **钓鱼基础设施 — 域名仿冒** | 高 | `microsoftonline-login.`, `0ffice365.`, `mlcrosoft.` |
| **EvilGinx / AiTM 指标** | 高 | `microsoft-online.`, `microsoftonlne.`, `0utlook.` |
| **Ngrok / 隧道服务** | 高 | `ngrok.io`, `ngrok-free.app`, `trycloudflare.com` |
| **Railway.app 托管** | 高 | `railway.app` |
| **Milanote LOTS 诱饵** | 高 | `milanote.com/m/`, `milanote.com/plan/` |
| **Adobe Acrobat 分享链接** | 高 | `acrobat.adobe.com/id/urn:`, `/link/share` |
| **URL 缩短器** | 严重 | `bit.ly/`, `tinyurl.com/`, `rb.gy/`, `cutt.ly/` |
| **DocuSign** | 严重 | `docusign.com`, `docusign.net`, `na3.docusign.net` |
| **Adobe Sign / HelloSign** | 高 | `adobesign.com`, `hellosign.com`, `dropboxsign.com` |
| **SharePoint / OneDrive** | 高 | `-my.sharepoint.com`, `onedrive.live.com`, `1drv.ms` |
| **Outlook / OWA** | 高 | `outlook.office365.com`, `mail.office365.com`, `owa/` |
| **Azure AD / Entra 管理员** | 高 | `portal.azure.com`, `entra.microsoft.com` |
| **文件共享** | 高 | `wetransfer.com`, `dropbox.com/s/`, `drive.google.com` |
| **银行门户** | 严重 | CommBank, NAB, Westpac, ANZ, HSBC, Chase, PayPal |
| **电汇 / 支付** | 严重 | `wise.com/send`, `remitly.com`, 银行转账 URL |
| **礼品卡套现** | 高 | `apple.com/shop/buy-giftcard`, `amazon.com/gift-cards/buy` |
| **非企业 Webmail** | 高 | Gmail, ProtonMail, Tutanota, `temp-mail.org`, Mailinator |
| **远程访问工具** | 高 | AnyDesk, TeamViewer, ScreenConnect, LogMeIn |
| **加密货币交易所** | 高 | Coinbase, Binance, Kraken, Crypto.com, Bybit |
| **Microsoft Forms 钓鱼诱饵** | 高 | `forms.office.com/pages/responsepage`, `forms.office.com/r/` |
| **Slack 钓鱼重定向** | 高 | `/slack/connection/`, `/integration/payroll/` |
| **直接 IP 访问** | 高 | `http(s)://x.x.x.x` — 正则表达式匹配,无主机名 |
| **可疑 TLD** | 中 | `.xyz/`, `.top/`, `.icu/`, `.work/`, `.online/` |
| **协作 / 数据暂存** | 中 | `notion.so`, `pastebin.com`, `gist.github.com` |
## 支持的浏览器
| 浏览器 | 格式 | 配置文件 |
|---|---|---|
| **Google Chrome** | Chromium SQLite | 自动发现所有配置文件 |
| **Microsoft Edge** | Chromium SQLite | 自动发现所有配置文件 |
| **Brave** | Chromium SQLite | 自动发现所有配置文件 |
| **Opera** | Chromium SQLite (扁平布局) | 单一配置文件 |
| **Vivaldi** | Chromium SQLite | 自动发现所有配置文件 |
| **Yandex Browser** | Chromium SQLite | 自动发现所有配置文件 |
| **Firefox** | Mozilla `places.sqlite` | 自动发现所有配置文件 |
| **Safari** | WebKit SQLite | 仅限 macOS |
## 安装说明
### 1. 安装依赖项
```
pip install pillow
```
### 2. 运行
```
python WebTrail.py
```
或者,如果 Python 已与 `.py` 文件关联,双击 `WebTrail.py` 即可运行。
**一键启动器 — 在同一文件夹中创建 `run.bat`:**
```
@echo off
python WebTrail.py
pause
```
## 使用方法
### 加载历史记录文件
1. 点击标题栏中的 **📂 打开历史记录文件…**
2. 导航至浏览器的历史记录数据库:
| 浏览器 | 路径 |
|---|---|
| Chrome | `%LOCALAPPDATA%\Google\Chrome\User Data\Default\History` |
| Edge | `%LOCALAPPDATA%\Microsoft\Edge\User Data\Default\History` |
| Brave | `%LOCALAPPDATA%\BraveSoftware\Brave-Browser\User Data\Default\History` |
| Firefox | `%APPDATA%\Mozilla\Firefox\Profiles\
为 DFIR 社区构建
标签:BEC调查, Brave, Chrome, Edge, IOC分析, IP 地址批量处理, OAuth滥用检测, Opera, Python, Safari, SQLite解析, SQL数据库解析, Vivaldi, Windows平台, Yandex, 凭据钓鱼检测, 勒索软件调查, 商业电子邮件入侵, 域渗透, 妥协指标, 威胁情报, 安全分析与可视化, 库, 应急响应, 开发者工具, 数字取证, 数据泄露分析, 无后门, 桌面安全工具, 浏览器历史分析, 火狐浏览器, 电子数据取证, 端点安全, 网络安全, 自动化脚本, 补丁管理, 逆向工具, 隐私保护