MartinezGN/pcap-triage-kibana-zeek

GitHub: MartinezGN/pcap-triage-kibana-zeek

基于Security Onion/Zeek/Snort/Kibana技术栈的PCAP流量分析实战作品集,展示SOC分析师从流量导入、NIDS告警审查、协议日志分析到IOC提取和案件报告撰写的完整分类工作流。

Stars: 0 | Forks: 0

# 作品集 — PCAP 分类分析 (Zeek + NIDS/Snort + Kibana) 面向 SOC L1 的实践仓库:PCAP 导入、时间窗口界定、Kibana 分析 (Zeek + Snort)、IOC 提取,以及包含可复现证据的案件报告。 ## 关于本项目 本仓库记录了我在职业生涯转型至网络安全领域过程中,对网络安全监控 (NSM) 工具的实操练习。每个案例都代表了一个完整的分类工作流:从 PCAP 导入到 IOC 提取及事件文档记录。 目标是建立能直接应用于 SOC 分析师 (L1/L2) 职责的实战技能——不仅仅是运行工具,而是理解*为什么*某些流量模式很重要,以及*如何*清晰地传达发现。 ## 实验环境 我使用 VirtualBox 搭建此实验环境,并为虚拟机分配了 8GB RAM。 | 组件 | 详情 | |-----------|---------| | 虚拟化平台 | VirtualBox | | 主虚拟机 | Security Onion (NSM stack) | | 附加虚拟机 | REMnux (恶意软件分析), FLARE VM (Windows 取证) | | NSM Stack | Zeek + Snort | | 可视化 | Kibana | | 导入方法 | `so-import-pcap` | ### 如何导入 PCAP 1. 从来源下载 PCAP (Wireshark 样本, Malware-Traffic-Analysis.net) 2. 传输至 Security Onion 虚拟机 3. 运行 `sudo so-import-pcap ` 4. 调整 Kibana 时间窗口以匹配 PCAP 时间戳 5. 跨仪表板开始分类分析 (DNS → HTTP → Conn → NIDS) ## PCAP 来源 | 案例 | PCAP | 来源 | |------|------|--------| | 001 | `http_gzip.cap` | [Wireshark Sample Captures](https://wiki.wireshark.org/SampleCaptures) | | 002 | `2025-01-22-traffic-analysis-exercise.pcap` | [Malware-Traffic-Analysis.net](https://www.malware-traffic-analysis.net/2025/01/22/index.html) | ## 案例 ### Case 001 — HTTP 训练 PCAP - **报告:** `writeups/case-001.md` - **IOC:** `iocs/case-001-iocs.txt` - **证据:** `screenshots/` - **摘要:** 单个 HTTP GET 事务,响应采用 gzip 编码。用于基线分类练习的训练 PCAP。 - **严重性:** 低 (信息性) ### Case 002 — 恶意软件感染 (伪造 Google Authenticator) - **报告:** `writeups/case-002.md` - **IOC:** `iocs/case-002-iocs.txt` - **证据:** `screenshots/` - **摘要:** 用户点击恶意广告,下载伪造软件,建立 C2 通信。基于 Unit42 威胁情报。 - **严重性:** 高 (确认感染) ## 仓库结构 ``` ├── writeups/ # Case reports with methodology and findings ├── iocs/ # Extracted indicators per case └── screenshots/ # Kibana screenshots as reproducible evidence ``` ## 本仓库展示的内容 - **PCAP 导入与时间窗口界定** — 正确调整 Kibana 时间范围以匹配导入的数据。 - **基于证据的调查** — 浏览仪表板 (DNS/HTTP/Conn/NIDS) 并在 Discover 中进行交叉验证。 - **主机与网络识别** — 从 Zeek 事件和 NIDS 警报中识别源/目的主机及相关 IP。 - **IOC 提取与文档记录** — 记录域名、IP、端口、URI 和规则 SID,用于检测和追踪。 - **严重性评估** — 区分良性流量与已确认事件。 - **可复现的文档** — 每次分析均包含案例报告 + 截图 + IOC 列表。 ## 方法论 我对每个案例的分类处理方法: 1. **界定时间窗口** — 将 Kibana 调整至 PCAP 的时间范围,避免出现空结果。 2. **优先审查 NIDS 警报** — 了解警报面,并按分类/严重性排定优先级。 3. **转向 DNS** — 识别被查询的域名,并与源主机关联。 4. **审查 HTTP/连接** — 验证流量流向、方法、状态码和连接状态。 5. **交叉参考威胁情报** — 适用时,根据已知的恶意指标检查域名/IP。 6. **记录并提取 IOC** — 附带证据记录发现结果及可操作的指标。 ## 关键心得 通过这些实验,我学到了: - **Kibana 时间窗口调整至关重要** — 如果时间范围不匹配,旧的 PCAP 或导入的数据将不会显示。这曾导致最初的“无结果”困惑,直到我理解了这个问题。 - **Zeek 按协议分离日志的功能非常强大** — 将 DNS、HTTP 和连接日志分开,使得一旦理解了其结构,在数据源之间进行切换就变得直观。 - **NIDS 警报需要上下文** — 单个 `policy-violation` 警报本身没有任何意义;与 DNS/HTTP 数据关联后,才能揭示其是噪音还是真实事件。 - **发现 Kibana 的功能需要时间** — 该应用程序有许多并非一目了然的强大功能。我花时间探索了过滤器、已保存的搜索和仪表板自定义,以构建高效的工作流。 - **文档至关重要** — 撰写带有证据的清晰报告迫使我理解*为什么*我会得出某些结论,而不仅仅是发现了*什么*。 ## 关于我 本仓库是我转型网络安全职业生涯的一部分。 **背景:** - 法学学位 (Procurador) — 阿根廷 - CCNA v1.7 认证 - CyberOps Associate 认证 - 目前正在攻读网络安全硕士学位 我建立这些实验环境是为了培养实用的 SOC 技能,并展示我分析网络流量、提取 IOC 以及专业地记录发现的能力。 *欢迎反馈 — 请随时开启 issue 或联系我。*
标签:DAST, DNS分析, Elasticsearch, HTTP分析, IOC提取, IP 地址批量处理, L1分析师, NIDS, PCAP分类, PFX证书, Rootkit, Security Onion, SOC分析, Triage, VirtualBox, Wireshark, Zeek, 内核驱动, 句柄查看, 威胁情报, 安全可视化, 安全实验室, 安全运营中心, 容器化, 开发者工具, 恶意软件分析, 搜索语句(dork), 攻击检测, 案例报告, 网络协议, 网络安全, 网络映射, 越狱测试, 隐私保护