AhmedAAtef/elk-threat-hunting-lab

GitHub: AhmedAAtef/elk-threat-hunting-lab

基于 Docker 部署的 ELK Stack 安全教学实验室,通过注入模拟攻击日志帮助学生练习威胁狩猎与数字取证技能。

Stars: 0 | Forks: 0

# ELK Stack 威胁狩猎实验室 欢迎使用 **ELK Stack** 数字取证与安全日志监控实验室。该实验室旨在模拟真实的安全攻击,以训练学生在系统日志中进行攻击追踪(Threat Hunting)的技能。 ## 🛠️ 第一阶段:准备与安装前提条件 (Setup & Prerequisites) 必须在您的计算机上按正确顺序设置以下工具,以确保实验室顺利运行: ### 1️⃣ 安装 WSL (Windows Subsystem for Linux) *Docker Desktop 依赖 WSL 2 引擎作为后台来高效运行容器。* 1. 以管理员身份运行 (Run as Administrator) 打开 **PowerShell**。 2. 输入以下命令并按回车: wsl --install 3. **重启您的计算机 (Restart)** 以完成安装。 4. 重启后,在 PowerShell 中输入以下命令,以验证引擎是否正常运行: wsl --status ### 2️⃣ 安装 Docker Desktop 1. 从官方链接下载并安装该程序: 👉 **[下载适用于 Windows 的 Docker Desktop](https://www.docker.com/products/docker-desktop/)** 2. 安装完成后,打开程序并确保底部的鲸鱼图标显示为绿色 (Running)。 ### 3️⃣ 安装 Git 工具 1. 从官方链接下载并安装 Git 工具: 👉 **[下载适用于 Windows 的 Git](https://git-scm.com/install/windows)** 2. 在安装过程中,保持默认设置不变,并确保勾选了将 Git 添加到系统 PATH (Add Git to PATH) 的选项,这是默认选项:*"Git from the command line and also from 3rd-party software"*。 ## 🚀 第二阶段:下载并启动实验室 (Clone & Launch) 设置好前提条件后,请按照以下步骤启动实验室服务器: 1. 打开 **PowerShell**(确保您当前不在受保护的 System32 目录内)。 2. 从 GitHub 仓库克隆实验室文件: git clone https://github.com/AhmedAAtef/elk-threat-hunting-lab.git 3. 进入下载的目录: cd elk-threat-hunting-lab 4. 启动实验室(Elasticsearch、Logstash、Kibana、Filebeat、Log Generator): docker compose up -d 5. **验证服务运行状态**: * 等待约 **两分钟**,让启动过程彻底完成。 * 要查看服务器状态,请输入: docker compose ps *(所有容器的状态应该都是 Running)。* * 为确保 Elasticsearch 数据库正常运行并能够响应,请打开浏览器并访问:**`http://localhost:9200`**(您应该会看到一个包含 `"tagline" : "You Know, for Search"` 的 JSON 页面)。 ## 🎨 第三阶段:配置 Kibana 界面 (Kibana Initialization) 一旦服务器启动,您必须在 Kibana 中设置数据视图 (Data Views) 才能对日志进行搜索: 1. 打开浏览器并进入 Kibana 界面: 👉 **[http://localhost:5601](http://localhost:5601)** 2. 打开侧边栏(左上角 - 3 条横线图标)并进入: **Management > Stack Management** 3. 在左侧菜单中,点击 **Data Views**(位于 Kibana 部分下)。 4. 点击蓝色的 **Create data view** 按钮。 5. 创建第一个数据视图(用于实时日志): * **Name**: `Generator Direct TCP` * **Index pattern**: `generator-direct-*` * **Timestamp field**: `timestamp` * 点击 **Save data view**。 6. 创建第二个数据视图(用于通过 Filebeat 聚合的日志): * **Name**: `Generator Filebeat` * **Index pattern**: `generator-filebeat-*` * **Timestamp field**: `@timestamp` * 点击 **Save data view**。 ## 🔍 第四阶段:开始挑战与调查 (Threat Hunting) 现在实验室已完全准备就绪,真实的攻击数据正在被注入到日志中! 1. 前往 Kibana 的侧边栏并选择 **Analytics > Discover**。 2. 阅读文件夹中的 **[CHALLENGE.md](CHALLENGE.md)** 文件,完整了解挑战背景故事以及要求您解答的问题。 3. 在 Discover 中使用查询语言 (KQL) 来解答问题并追踪攻击者的步骤! 4. 供讲师使用或在完成后验证答案,您可以查看 **[CHALLENGE_ANSWERS.md](CHALLENGE_ANSWERS.md)** 文件中的标准答案和查询方法。
标签:Docker, ELK Stack, 内容过滤, 安全, 安全实验室, 安全防御评估, 数字取证, 版权保护, 自动化脚本, 请求拦截, 超时处理, 越狱测试