kuniyal08/Detection-Engineering-Home-Lab-with-Elastic-SIEM

GitHub: kuniyal08/Detection-Engineering-Home-Lab-with-Elastic-SIEM

本项目搭建基于 Elastic Cloud SIEM 的家庭实验室环境,通过模拟 SSH 暴力破解和 Web 扫描攻击场景,实践从攻击复现到检测规则编写、警报验证的完整检测工程流程。

Stars: 0 | Forks: 0

本项目记录了使用 Elastic Cloud 配置安全信息和事件管理 (SIEM) 实验室的文档。该实验室模拟了真实的安全运营中心 (SOC) 环境,用于练习威胁检测、日志分析和检测规则工程。成功执行并检测了两个攻击场景,展示了与 L1 SOC 分析师角色相关的实用技能。 ## 实验室架构 - **SIEM 平台:** Elastic Cloud Serverless (Security Project) - **日志采集器:** Elastic Agent (Fleet-managed) - **受监控终端:** Ubuntu Server 22.04 LTS (VirtualBox VM) - **攻击机:** Kali Linux (VirtualBox VM) ## 检测工程练习 ### 1. SSH 暴力破解攻击检测 #### 攻击描述 攻击者试图通过 SSH 服务,针对有效用户名系统地尝试密码列表,从而获取服务器的未经授权访问权限。 #### 模拟步骤 1. 在 Ubuntu 服务器上创建了一个具有弱密码的测试用户账户。 2. 从 Kali Linux 使用 `hydra` 发起字典攻击: hydra -l testuser -P /usr/share/wordlists/rockyou.txt ssh:// -t 4 #### 检测规则配置 (Kibana) - **规则类型:** Custom Query - **规则名称:** `SSH Brute Force Attempt - Home Lab` - **查询 (KQL):** event.dataset : "system.auth" AND system.auth.ssh.event : "Failed" - **阈值:** 1 分钟内 > 5 次失败尝试,按 `source.ip` 分组 - **严重性:** Medium - **MITRE ATT&CK 映射:** - 战术:Credential Access (TA0006) - 技术:T1110.001 - Password Guessing #### 警报验证 在发起 `hydra` 攻击的几分钟内,规则成功触发。警报包含了源 IP、目标用户和失败尝试次数。 #### 截图 | 描述 | 图像 | | :--- | :--- | | Hydra 暴力破解攻击正在进行 | ![](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/1737bb9236085116.png) | | Kibana Discover 中的 SSH 失败日志 | ![](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/cef5fc047f085118.png) | | 检测规则配置 (常规) | ![](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/cd7401ffbe085120.png) | | MITRE ATT&CK 技术映射 | ![](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/05d3c88186085122.png) | | 检测规则创建页面 | ![](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/cab91cc5f7085125.png) | | Security > Alerts 中触发的警报 | ![](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/90a4386050085130.png) | ### 2. Web 应用程序扫描检测 #### 攻击描述 攻击者通过扫描开放端口、漏洞和隐藏目录对 Web 服务器进行侦察——这是漏洞利用的常见前兆。 #### 模步骤 1. 在 Ubuntu 服务器上安装并启动了 Apache2: sudo apt install -y apache2 sudo systemctl start apache2 2. 从 Kali Linux 执行了以下扫描工具: - **Nmap:** `nmap -sV -p 80 ` - **Nikto:** `nikto -h http://` - **Gobuster:** `gobuster dir -u http:// -w /usr/share/wordlists/dirb/common.txt` #### 检测规则配置 (Kibana) - **规则类型:** Custom Query - **规则名称:** `Web Application Scanning Detected` - **查询 (KQL):** (event.dataset : "apache.access" AND http.response.status_code : 404) OR (url.path : ("*wp-admin*" or "*.php*" or "*admin*")) - **阈值:** 2 分钟内 > 15 个事件,按 `source.ip` 分组 - **严重性:** Low - **MITRE ATT&CK 映射:** - 战术:Reconnaissance (TA0043) - 技术:T1595.002 - Vulnerability Scanning #### 警报验证 在运行 `gobuster` 后,该规则被触发,生成了大量的 404 响应。警报正确识别了扫描源 IP 和目标 Web 路径。 #### 截图 | 描述 | 图像 | | :--- | :--- | | Apache 安装与状态 | ![](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/5ad2fb4ce6085132.png) | | Fleet 中确认的 Apache 集成 | ![](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/6fa3e3e4bf085134.png) | | Web 扫描工具输出 | ![](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/37af53e4b0085137.png) | | 检测规则创建步骤 1 | ![](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/6062883340085139.png) | | 检测规则创建步骤 2 | ![](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/9ece3addf4085141.png) | | Security > Alerts 中触发的警报 | ![](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/d71c2d81c1085143.png) | ## 展示的关键技能 - Elastic Cloud SIEM 的部署与配置 - Linux 上 Fleet-managed 的 Elastic Agent 安装 - 使用 Kibana Discover 和 KQL 进行日志分析 - 具有阈值逻辑的自定义检测规则工程 - MITRE ATT&CK 框架的应用 - 使用 Kali Linux 工具进行攻击模拟 - 技术文档编写 挑战与经验教训 日志解析限制:最初尝试使用文件完整性监控 (FIM) 进行 cron 持久化检测时,遇到了字段映射不完整的问题。这突显了理解原始日志格式以及随时准备调整检测策略的重要性——这是一项非常有价值的真实 SOC 技能。 数据视图配置:确保在 Kibana Discover 中选择正确的数据视图 (logs-*) 对于查看采集的日志至关重要。 未来的增强计划 通过 Sysmon 集成 Windows 事件日志,以实现跨平台检测 部署 Suricata 以实现基于网络的入侵检测 将警报通知自动发送到 Slack 或电子邮件 使用 journald 日志分析实现 cron 持久化检测
标签:AMSI绕过, CTI, Elastic Agent, Elastic Cloud, Hydra, KQL查询, L1安全分析师, OISF, SOC实验室, SSH暴力破解, VEH, VirtualBox, 威胁检测, 字典攻击, 安全攻防演练, 安全规则配置, 安全运营中心, 日志管理, 生成式AI安全, 网络安全, 网络映射, 虚拟机, 越狱测试, 隐私保护