dhorton77/security-engineering-portfolio

GitHub: dhorton77/security-engineering-portfolio

一个完整的家庭安全实验室项目文档,系统记录了基于 Wazuh 和 Splunk 双 SIEM 架构的蓝队检测工程实践,涵盖攻击模拟、规则调优、告警分析与事件响应全流程。

Stars: 0 | Forks: 0

# 🛡️ 家庭实验室安全测试项目 一个全面的、证据驱动的安全测试和检测工程实验室,展示了真实的 SOC(安全运营中心)工作流程、SIEM 部署、事件响应和蓝队分析能力。 **作品集分类:** 家庭实验室演练 | 安全工程师演示 **最后更新:** 2026 年 5 月 10 日 ## 📋 概述 本仓库记录了一个完整的家庭实验室安全测试项目,涵盖了跨多个攻击场景的攻击模拟、检测工程、事件调查和补救措施。每次演练都从基础攻击检测逐步深入到高级威胁狩猎、差距分析以及战略性 SIEM 部署。 **本项目展示了:** - ✅ 端到端 SOC 分析师工作流(检测 → 调查 → 补救 → 验证) - ✅ SIEM 部署和配置(Wazuh + Splunk) - ✅ 自定义检测规则工程 - ✅ 证据驱动的安全决策 - ✅ 专业的文档和报告标准 - ✅ 事件响应和威胁狩猎能力 ## 🗺️ 实验室环境 ### 网络拓扑 ``` Internet Simulation ↓ IPFire Gateway (192.168.1.1) / | \ RED ZONE GREEN ZONE ORANGE ZONE (Attack/Vuln) (Infrastructure) (Legacy OS) | | | • Kali Linux 2025.4 • Wazuh SIEM • Windows 10 • Mr Robot VM • Splunk SIEM • Windows XP • DVWA • Kali Purple • Windows Vista • OWASP WebApps • SIFT Workstation • Windows 7 • Metasploitable2 • Windows Servers • Windows 98 • Windows 11 • SOF-ELK ``` ### 系统清单 | 区域 | 系统 | IP | 角色 | 状态 | |------|--------|----|----|--------| | **RED** | Kali Linux 2025.4 | 192.168.1.21 | 攻击平台 (Agent 005) | ✅ 活跃 | | **RED** | Mr Robot VM | TBD | 漏洞靶机 | ✅ 可用 | | **RED** | DVWA | TBD | Web 漏洞训练 | ✅ 可用 | | **RED** | OWASP Broken Web Apps v1.2 | TBD | Web 应用测试 | ✅ 可用 | | **RED** | Metasploitable2-Linux | TBD | Linux 漏洞靶机 | ✅ 可用 | | **GREEN** | Wazuh SIEM | 192.168.1.15 | 主 SIEM (v4.11.2) | ✅ 活跃 | | **GREEN** | Splunk SIEM | 192.168.1.20 | 辅助 SIEM | ✅ 活跃 | | **GREEN** | Kali Purple | TBD | 紫队 / 取证 | ✅ 可用 | | **GREEN** | SIFT Workstation | TBD | 取证与事件响应 | ✅ 可用 | | **GREEN** | Windows Server 2019 | TBD | 域服务 | ✅ 可用 | | **GREEN** | Windows Server 2016 Essentials | TBD | 支持服务 | ✅ 可用 | | **GREEN** | Windows 11 x64 | 192.168.1.8 | 目标终端 (Agent 001) | ✅ 活跃 | | **GREEN** | Windows 11 Workstation x64 | TBD | 用户工作站 | ✅ 可用 | | **GREEN** | SOF-ELK | TBD | 网络+测试 | ✅ 可用 | | **ORANGE** | Windows 10 x64 | TBD | 旧版操作系统测试 | ✅ 可用 | | **ORANGE** | Windows XP Professional | TBD | 旧版操作系统测试 | ✅ 可用 | | **ORANGE** | Windows Vista x64 Edition | TBD | 旧版操作系统测试 | ✅ 可用 | | **ORANGE** | Windows 7 | TBD | 旧版操作系统测试 | ✅ 可用 | | **ORANGE** | Windows 98 SE | TBD | 旧版操作系统测试 | ✅ 可用 | **系统总数:** 24 台 VMs | **Hypervisor:** VMware Workstation Pro 25H2 | **宿主机 RAM:** 32GB ## 📊 已完成的演练与报告 ### 练习 1:SSH 暴力破解检测与调查(2026 年 5 月 3–9 日) 从基础攻击检测到内部威胁模拟和战略性 SIEM 部署的完整 4 阶段进阶过程。 #### 阶段 1:初始检测(5 月 3 日) **报告:** `Wazuh_SSH_Lab_Report_v1.0.md` - 模拟 SSH 暴力破解攻击(3 次手动尝试) - 验证了自定义 Wazuh 检测规则 - **结果:** ✅ 在几秒钟内检测到攻击 #### 阶段 2:告警调查(5 月 3–4 日) **报告:** `Wazuh_SSH_Lab_Report_v2.0.md` - 对原始 Windows 安全事件日志进行深度调查 - 源 IP 归因分析 - 识别出 4 个安全缺口(发现项 F-001 至 F-004) - **发现项:** 2 个关键缺口(源 IP 不可见,东西向流量盲点) #### 阶段 3:纠正措施(5 月 4–5 日) **报告:** `Wazuh_SSH_Lab_Report_v3.0.md` - 配置了 Wazuh OpenSSH/Operational 日志收集 - 增强了 IPFire 防火墙日志记录(GREEN 区域流量) - 在 Kali Linux 上部署了 Wazuh Agent 005(消除了东西向盲点) - 战略决策:部署 Splunk 作为辅助 SIEM - **状态:** 2 项发现已解决,2 项进行中 #### 阶段 4:内部威胁模拟(5 月 8 日) **报告:** `Wazuh_SSH_Lab_Report_v4.0.md` - 从手动尝试升级为使用 **Hydra** 进行自动化暴力破解 - 使用了 rockyou.txt 密码字典(贴近真实攻击) - 展示了终端和网络双重可见性(Agent 005) - **结果:** ✅ 成功检测并记录复杂攻击 #### 阶段 5:战略性 SIEM 部署(5 月 9 日) **报告:** `Splunk_Supplementary_SIEM_Report_FINAL.md` - 部署了 Splunk Enterprise 10.2.3 - 发现 Splunk 原生支持解析 Windows OpenSSH/Operational 日志 - 源 IP 提取现已实现自动化 - **结果:** ✅ 所有 4 项安全发现已完全解决 #### 非技术性摘要 - `Lab_Reports_Non_Technical.md` — 高层级概述(练习 1 和 2) - `Lab_Reports_Non_Technical_v2.md` — 更新摘要(练习 1、2、3) ### 练习 2:网站篡改检测(计划于 2026 年 5 月 10–11 日) **状态:** 🔄 规划中 **目标:** OWASP Broken Web Apps v1.2 **攻击方法:** 文件上传漏洞 / SQL 注入 / WebDAV 漏洞利用 **检测:** Wazuh FIM + Splunk 日志关联 **交付物(已就绪):** - 攻击场景计划 - Wazuh FIM 配置(9 条自定义规则:ID 100201–100209) - 12 条 Splunk SPL 查询 - 专业的报告模板 **预期报告:** `Website_Defacement_Lab_Report.md` ### 练习 3:勒索软件检测与响应(计划时间 TBD) **状态:** 📋 已计划 **重点:** 勒索软件攻击模拟、加密检测、备份恢复 **预期报告:** `Ransomware_Lab_Report.md` ## 🎯 安全发现与补救 ### 完整发现追踪表 | 发现 ID | 严重程度 | 问题 | 状态 | 解决方案 | |------------|----------|-------|--------|-----------| | **F-001** | HIGH | Windows SSH 日志中未捕获源 IP | ✅ 已解决 | Splunk OpenSSH/Operational 解析 | | **F-002** | HIGH | 东西向流量盲点(内部 VMs) | ✅ 已解决 | 在 Kali 上部署 Wazuh Agent 005 | | **F-003** | MEDIUM | Windows 11 未设置账户锁定策略 | ✅ 已解决 | 已配置组策略(5 次尝试,锁定 30 分钟) | | **F-004** | MEDIUM | IPFire 日志存储问题 | ✅ 已解决 | 已验证 IPFire 日志处于活动状态(15,835 次命中) | | **F-005** | LOW | OpenSSH 后量子加密警告 | ⏸️ 已推迟 | 优先级低,可稍后处理 | | **F-006** | LOW | Wazuh 版本不匹配(agent/manager) | ✅ 已解决 | Agent 降级,仓库版本已固定 | **总结:** 识别出 6 项发现 | 5 项已完全解决 | 1 项已推迟 ## 🛠️ 检测工程 ### 自定义 Wazuh 规则 **SSH 暴力破解检测(练习 1–4):** - 规则 100001:SSH 身份验证失败检测 - 规则 100002:暴力破解模式识别 - 规则 60122:Wazuh 内置登录失败规则 (Level 5) **网站篡改检测(练习 2):** - 规则 100201:Web 根目录文件修改告警 - 规则 100202:Nginx 根目录文件修改告警 - 规则 100203:CRITICAL — 主页修改 (Level 10) - 规则 100204:新 Webshell 创建检测 - 规则 100205:新 Webshell 创建 - 规则 100206:Apache 配置更改告警 - 规则 100207:Nginx 配置更改告警 - 规则 100208:PHP 配置更改告警 - 规则 100209:自动化攻击关联(Webshell + 访问) **自定义规则总数:** 11 条(加上标准 Wazuh 规则) ### Splunk SPL 查询 **SSH 暴力破解调查:** - 实时告警查询 - 源 IP 归因 - 身份验证失败时间线关联 **网站篡改检测:** - 涵盖以下内容的 12 项综合查询: - 文件创建/修改检测 - Webshell 识别 - HTTP 请求模式分析 - 时间线关联(文件更改 + HTTP 访问) - SQL 注入尝试检测 - 权限修改追踪 ## 📈 MITRE ATT&CK 覆盖范围 ### 演示的技术 | 战术 | 技术 | 子技术 | 练习 | |--------|-----------|---------------|----------| | **Credential Access** | T1110 | 密码猜测 (T1110.001) | SSH 暴力破解 | | **Initial Access** | T1190 | 利用面向公众的应用程序 | 网站篡改(计划中) | | **Execution** | T1505.003 | Web Shell | 网站篡改(计划中) | | **Impact** | T1491.001 | 篡改:内部 | 网站篡改(计划中) | ## 📚 文档结构 ``` Lab-reports-/ ├── README.md (this file) ├── NETWORK_TOPOLOGY.md (visual reference) │ ├── SSH_Brute_Force_Exercises/ │ ├── Wazuh_SSH_Lab_Report_v1.0.md (Detection) │ ├── Wazuh_SSH_Lab_Report_v2.0.md (Investigation) │ ├── Wazuh_SSH_Lab_Report_v3.0.md (Remediation) │ ├── Wazuh_SSH_Lab_Report_v4.0.md (Insider Threat) │ ├── Splunk_Supplementary_SIEM_Report_FINAL.md (Deployment) │ ├── Lab_Reports_Non_Technical.md (Summary v1) │ └── Lab_Reports_Non_Technical_v2.md (Summary v2) │ ├── Website_Defacement_Exercise/ (Planned) │ ├── Attack_Scenario_Plan.md │ ├── Wazuh_FIM_Configuration.conf │ ├── Splunk_Queries.md │ ├── Website_Defacement_Lab_Report.md │ └── Evidence/ │ ├── Ransomware_Exercise/ (Planned) │ ├── Ransomware_Attack_Plan.md │ ├── Ransomware_Lab_Report.md │ └── Evidence/ │ └── Lab_Infrastructure/ ├── Network_Topology_Diagram.svg ├── Wazuh_Custom_Rules_Complete.xml ├── Splunk_Queries_Library.spl ├── Lab_Setup_Guide.md ├── Change_Management_Log.md └── Lessons_Learned.md ``` ## 🚀 入门指南 ### 前置条件 - VMware Workstation Pro 25H2(或兼容的 Hypervisor) - 最低 32GB RAM(最低要求 16GB,但若需运行所有 VMs 推荐使用 32GB) - 500GB+ 可用存储空间 - 宿主机 OS:Windows/Linux/macOS ### 实验室搭建步骤 1. **部署 VMs** — 安装上方清单中列出的系统 2. **配置防火墙** — IPFire 区域(RED/GREEN/ORANGE) 3. **安装 Wazuh** — 在 Ubuntu 上安装 Manager,在所有受监控系统上安装 Agent 4. **安装 Splunk** — 在 Ubuntu 20.04 LTS 上安装企业版 5. **配置 Agent** — 部署 Wazuh Agent(Windows 11 上的 Agent 001,Kali 上的 Agent 005) 6. **应用监控** — 配置 FIM、日志转发、告警规则 7. **验证连接性** — 使用测试事件验证检测 ### 快速验证 ``` # Wazuh manager 健康状况 systemctl status wazuh-manager # Splunk 健康状况 /opt/splunk/bin/splunk show forward-server -auth admin:password # 验证 agent 连接性 curl -s http://192.168.1.15:55000/agents | jq '.data' ``` ## 📖 如何使用本仓库 ### 用于学习 1. 阅读 `Lab_Reports_Non_Technical.md` 获取高层级概述 2. 按顺序查看每份技术报告(v1.0 → v2.0 → v3.0 → v4.0 → Splunk) 3. 研究发现项的演进过程,以了解差距分析方法论 4. 查看 Wazuh 规则和 Splunk 查询,观察检测工程的实际应用 ### 用于复现 1. 遵循 `Lab_Setup_Guide.md` 搭建你自己的实验室 2. 参考 `Wazuh_Custom_Rules_Complete.xml` 获取检测规则 3. 使用 `Splunk_Queriesibrary.spl` 获取日志分析查询 4. 查看 `Network_Topology_Diagram.svg` 了解基础设施布局 ### 用于作品集 1. 每份报告均独立成文,且以专业标准记录 2. 网络拓扑图展示了基础设施设计思维 3. 完整的发现追踪表展示了系统化的差距分析 4. 跨演练的进展展示了安全工程的成熟度 5. 基于证据的决策贯穿于整个文档中 ## 🔍 核心洞察与经验教训 ### 表现良好的方面 ✅ Wazuh 成功在几秒钟内检测到 SSH 暴力破解攻击 ✅ 基于 Agent 的监控提供了全面的终端可见性 ✅ 系统化的差距分析推动了有针对性的改进 ✅ 多 SIEM 策略(Wazuh + Splunk)提供了完整的覆盖 ✅ 文件完整性监控在检测篡改方面非常有效 ### 我们学到了什么 🔹 仅靠 SIEM 终端检测是不够的——网络层可见性必不可少 🔹 Windows OpenSSH 日志需要专门的解析(由 Splunk 解决) 🔹 东西向流量盲区是一个真实世界的问题 🔹 调查过程揭示了攻击检测无法发现的漏洞 🔹 基于证据的决策制定能防止资源浪费 ### 下一步计划 - 完成网站篡改演练(FIM 验证) - 执行勒索软件攻击模拟(加密检测) - 部署网络行为分析 (NBA) 以进行异常检测 - 实施自动化事件响应 Playbook ## 📊 实验室指标 | 指标 | 数值 | |--------|-------| | **VMs 总数** | 24 | | **SIEM 平台** | 2 (Wazuh + Splunk) | | **自定义检测规则** | 11+ | | **Splunk 查询** | 12+ | | **已完成的演练** | 4(SSH 阶段) | | **计划中的演练** | 2(篡改 + 勒索软件) | | **识别出的发现项** | 6 | | **已解决的发现项** | 5 | | **检测准确率** | 100%(已完成演练中无误报) | | **平均告警时间 (MTTA)** | < 1 秒 | | **平均响应时间 (MTTR)** | 2–5 分钟 | ## 🎓 专业价值 本实验室展示了: 1. **安全架构** — 具有适当隔离的多区域网络设计 2. **SIEM 部署** — 生产级监控基础设施 3. **检测工程** — 用于针对性威胁狩猎的自定义规则 4. **事件响应** — 系统化的调查和补救 5. **文档标准** — 专业的技术报告 6. **持续改进** — 差距分析和基于证据的决策 7. **真实世界仿真** — 高级攻击工具和专业字典 适用于以下职位:SOC 分析师、安全工程师、检测工程师、事件响应人员、蓝队负责人 ## 🤝 贡献 这是一个个人作品集项目。如需提出改进或建议,请参阅各个演练报告以提供反馈。 ## 📝 许可证 作品集文档 — 仅限教育和专业用途。不得用于商业分发。 ## 📧 作者 **David Boyd Horton** 安全工程师与蓝队从业者 创建时间:2026 年 5 月 ## 🔗 快速链接 - **Wazuh 文档:** https://documentation.wazuh.com/ - **Splunk 文档:** https://docs.splunk.com/ - **MITRE ATT&CK 框架:** https://attack.mitre.org/ - **网络安全分析:** https://www.sans.org/ **最后更新:** 2026 年 5 月 10 日 | **状态:** 活跃 — 持续进行演练 | **分类:** 作品集 — 家庭实验室演练 *本仓库代表了真实的安全工程工作,展示了检测能力、事件响应方法论以及专业的文档标准。*
标签:CISA项目, DVWA, HTTP工具, IPFire, IP 地址批量处理, OPA, SOF-ELK, Wazuh, 告警分析, 子域名变形, 安全实验室, 安全工程师, 安全报告, 安全运营中心, 安全项目, 家庭实验室, 库, 应急响应, 插件系统, 攻击模拟, 数字取证, 数据展示, 流量捕获, 漏洞分析, 漏洞靶场, 红队, 网络安全, 网络安全审计, 网络拓扑, 网络映射, 自动化脚本, 规则调优, 路径探测, 防御检测, 隐私保护, 靶场, 驱动签名利用