Kohlby6/splunk-forensics-lab

GitHub: Kohlby6/splunk-forensics-lab

一个自定进度的 Splunk 数字取证实战课程,通过网络基础与日志分析的结合,帮助初学者在真实数据中追踪隐藏攻击。

Stars: 0 | Forks: 0

# Splunk 取证实验室 🔍 这是一个自定进度的实操实验室,用于学习**使用 Splunk 进行数字取证** —— 以及你真正看懂日志所需的**网络基础知识**。 你不仅是阅读关于搜索的内容。你将搭建一个真实的 Splunk 实例,加载真实 日志数据,其中**隐藏了六次真实的攻击**,然后追查并找出它们 —— 恰好在日志迫使你关注时,学习网络概念(IP、ports、DNS、TCP、HTTP 等)。 ## 为什么将 Splunk 和网络结合起来? 在 Splunk 中进行取证意味着阅读来自防火墙、DNS 服务器、Web 服务器和登录系统的日志。这些日志中的每一条都在描述**网络上发生的某些事情**。如果你不知道什么是“端口”、什么是“DNS 查询”或什么是“IP 地址”,那么这些日志就像天书一样。如果你*懂*这些概念,它们就会为你讲述一个故事。 因此,本实验室将它们作为一对组合来教授: ``` Networking concept → shows up in a log → you search for it in Splunk ───────────────────────────────────────────────────────────────────────────── "ports identify services" → dpt=22 in firewall.log → find the brute-force "DNS resolves names" → query=... in dns.log → find the data exfil "HTTP has status codes" → 404 in web_access.log → find the web scan ``` ## 课程体系 请**按顺序**学习这些内容。每个模块都建立在前一个模块的基础之上。在学习过程中,请在 [PROGRESS.md](PROGRESS.md) 中勾选完成的进度。 | # | 模块 | 你将学到什么 | 时间 | |---|--------|--------------|------| | 00 | [入门与设置](curriculum/00-orientation-and-setup.md) | 什么是取证/Splunk;**安装 Splunk**;加载实验室数据 | 1–2 小时 | | 01 | [网络基础](curriculum/01-networking-foundations.md) | IP、ports、TCP/IP 模型、DNS、HTTP —— 每一条日志的词汇表 | 3–4 小时 | | 02 | [Splunk 基础](curriculum/02-splunk-basics.md) | Indexes、sourcetypes、events、fields 以及你的第一次搜索 | 3–4 小时 | | 03 | [SPL —— 搜索语言](curriculum/03-spl-search-language.md) | `stats`、`eval`、`table`、`top`、`rex` —— 将数据转化为答案 | 5–6 小时 | | 04 | [阅读网络与安全日志](curriculum/04-reading-network-logs.md) | 将防火墙/DNS/Web/认证字段映射回网络知识 | 3–4 小时 | | 05 | [调查](curriculum/05-investigations.md) | 狩猎所有六个隐藏的攻击;学习一套调查方法论 | 5–8 小时 | | 06 | [超越 Splunk](curriculum/06-beyond-splunk.md) | Wireshark、Zeek、数据包与日志取证的对比;下一步去哪里 | 2–3 小时 | **总计:约 25–35 小时。** 把它当作一门课程,每次坐下来学一两个小时。急于求成是没有意义的 —— 目标是让你弄*懂*搜索,而不是仅仅为了看完。 ### 这里还有 - [`exercises/`](exercises/) —— 带有答案的分级挑战(从模块 03 之后开始) - [`reference/`](reference/) —— 你会一直开着的速查表:[SPL](reference/spl-cheatsheet.md)、[networking](reference/networking-cheatsheet.md)、[glossary](reference/glossary.md) - [`data/`](data/) —— 示例日志 + 生成它们的生成器 ## 快速开始 (TL;DR) 1. 打开 **[curriculum/00-orientation-and-setup.md](curriculum/00-orientation-and-setup.md)** 并跟随指引。它会引导你: - 在 Windows 上安装 **Splunk Free**(约 10 分钟) - 将来自 [`data/`](data/) 的四个日志文件加载到名为 `lab` 的 index 中 - 运行你的第一次搜索 2. 数据**已经为你生成好了**(`data/*.log`)。如果你想要 重置或微调数据:`python data/generate_logs.py`。 3. 然后只需逐个模块进行学习即可。 ## 本实验室*不是*什么 - 不是 Splunk 认证的突击复习(尽管它为此打下了坚实的基础)。 - 不是生产环境的安全建议 —— 这是一个使用玩具数据的学习沙盒。 - 不是详尽无遗的网络教材 —— 它只教授取证实际会用到的那部分切片知识。 现在前往 **[模块 00](curriculum/00-orientation-and-setup.md)**。🚀
标签:安全实验, 安全教育, 数字取证, 网络基础, 自动化脚本, 逆向工具