M4shl3/FORTIDFIR
GitHub: M4shl3/FORTIDFIR
这是一个基于浏览器的 FortiGate 防火墙日志 DFIR 工具,支持在本地解析和可视化分析大体积日志文件。
Stars: 11 | Forks: 1
# FortiGate DFIR 分析器
一个基于浏览器的数字取证与事件响应(DFIR)工具,用于解析、分析和分类 FortiGate 防火墙日志。所有处理均在本地进行 —— 数据绝不会离开分析师的机器。
## 功能特性
### 日志解析
- 基于流的分块读取器,可处理从几 MB 到 8 GB 以上的文件
- 支持三种日志格式:
- **FortiGate CSV 导出** — 来自 FortiAnalyzer/FortiGate 的标准 `key=""value""` CSV 格式
- **WAF 日志** (`forticloud-waf.log`) — `key="value"` 行格式,包含 WAF 签名事件
- **IPS 日志** (`disk-ips.log`) — `key=value` 行格式,包含入侵防御事件
- 根据文件名和内容自动检测日志类型 — 无需手动选择
- 提取信息:时间戳、源/目的 IP、地理位置、威胁名称、严重性、类型、动作、URL、User Agent、攻击 ID、CVE 引用、WAF/IPS 配置文件、服务、接口等
### 多文件标签页
- 通过拖放或文件选择器同时加载多个文件
- 每个文件显示为独立的标签页,展示其日志类型、文件名和记录数
- 当加载两个或更多文件时,组合的“ALL”标签页会合并所有记录以进行跨文件分析
- 标签页可以单独关闭,不会影响其他已加载的文件
### 概览仪表板
- 威胁类型分布(甜甜圈图)
- 严重性细分(条形图)
- 按源国家排名(水平条形图)
- 每小时威胁时间线(折线图)
- 按攻击 IP 排名(水平条形图)
- 动作分布(饼图)
- 摘要统计:总事件数、高/严重计数、已阻止计数、唯一 IP、国家、WAF 事件计数、IPS 事件计数
### 威胁日志表
- 分页记录表(每页 100 行)
- 可排序列:时间戳、严重性、类型、威胁名称、源 IP、目的 IP、动作、国家、评分
- 筛选器:严重性、动作、威胁类型、日志来源(CSV / WAF / IPS),以及对 IP、威胁、URL、消息、攻击 ID 的自由文本搜索
- 点击任意行可查看完整详情模态框,包括端口、协议、策略 ID、攻击 ID、WAF/IPS 配置文件、方向、服务、CVE 引用和关联接口
- 将筛选结果导出为 CSV 或 JSON
### IP 情报标签页
- 去重的 IP 表 —— 每个 IP 仅出现一次,无论有多少条记录引用它
- 按 IP 聚合:总命中次数、最高严重性、所有威胁类型、按频率排列的顶级威胁签名、采取的所有动作、地理位置、首次/最后出现时间戳、关联 URL 以及 IP 出现的日志来源
- 公网 IP 与内网 IP 在视觉上区分显示
- 每个 IP 配有一键复制按钮
- 筛选器:IP 类型、严重性、威胁类型、最小命中计数、自由文本搜索
- 点击任意 IP 可查看完整威胁和 URL 细分的详情模态框
- 导出为 CSV、JSON 或纯 IP 列表(每行一个,可直接用于封堵列表或 SIEM 接入)
## 使用方法
下载 `FORTIDFIR.html` 并直接在浏览器中打开:
```
File > Open File > FORTIDFIR.html
```
### 加载文件
1. 将一个或多个日志文件拖放到放置区域,或点击 **SELECT FILES**
2. 文件以 4 MB 的块进行流式传输,并实时显示进度
3. 每个文件加载到其自己的标签页中;可自由切换
4. 如果加载了多个文件,**ALL** 标签页将合并所有内容
### 支持的格式
**FortiGate CSV 导出**(FortiAnalyzer / FortiGate CSV):
```
"itime=1771217999","src_ip=""XX.86.25.XXX""","threat_name=""TBK.DVR.Command.Injection""", ...
```
**WAF 日志** (`forticloud-waf-YYYY-MM-DD_XXXX.log`):
```
date=2001-04-11 time=15:44:35 eventtime=177591513XXXXXXXX logid="1200030248" type="utm" subtype="waf" severity="medium" action="blocked" srcip=... msg="Cross Site Scripting" ...
```
**IPS 日志** (`disk-ips-YYYY-MM-DD_XXXX.log`):
```
date=2001-01-01 time=15:44:35 eventtime=1775915132XXXXXX logid="..." subtype="ips" severity="high" action="dropped" srcip=... attackid=... attack_name="..." ...
```
标签:AppImage, CSV解析, FortiGate, Fortinet, IPS, WAF, Web应用防火墙, 仪表盘, 入侵防御系统, 后端开发, 多标签页, 大文件处理, 威胁情报, 威胁检测与响应, 威胁猎捕, 开发者工具, 拖拽上传, 数字取证, 数据可视化, 日志解析, 本地处理, 浏览器工具, 网络安全, 自动化脚本, 证书伪造, 防火墙日志分析, 隐私保护