anoop-808/SentinelForge_v1

GitHub: anoop-808/SentinelForge_v1

一个 SOC 导向的 Linux 日志分析与 SIEM 可视化框架,用于安全事件检测、JSON 导出和仪表板生成。

Stars: 1 | Forks: 0

# SOC-LAB:Linux 日志分析、自动化与 SIEM 可视化 ## 概述 SOC-LAB 是一个专注于 Linux 身份验证日志分析、安全事件检测、自动化以及 SIEM 风格可视化的网络安全项目。该项目通过从易受攻击的 Linux 主机收集身份验证日志、解析安全相关事件、导出结构化数据、生成警报以及通过仪表板可视化发现结果,模拟了安全运营中心 (SOC) 的工作流程。 本项目是作为 SOC Analyst 学习之旅的一部分而开发的,展示了日志分析、威胁检测、事件分类、报告以及安全可视化技术。 ## 项目亮点 * 收集并分析了来自 Metasploitable 实验环境的 Linux 身份验证日志。 * 解析并分类了安全相关事件,包括登录失败、登录成功、sudo 活动和 cron 执行。 * 将结构化的安全事件导出为 JSON 格式,以便进行下游处理。 * 使用 Pandas 和 Matplotlib 构建了自动化的 SIEM 风格仪表板。 * 生成了正式的 SOC 调查报告,包含 MITRE ATT&CK 映射、IOC 分析、风险评估和建议。 * 通过 20 张截图组织了证据,涵盖了从攻击到分析的完整工作流程。 ## 目标 * 从 Linux 目标系统收集身份验证日志。 * 识别成功和失败的身份验证尝试。 * 检测可疑的登录行为。 * 自动解析并分类安全事件。 * 将结构化的安全事件导出为 JSON 格式。 * 生成用于安全监控的可视化仪表板。 * 生成正式的 SOC 调查报告。 ## 实验环境 ### 分析员工作站 * Kali Linux ### 目标系统 * Metasploitable 2 * IP 地址: 192.168.56.20 ### 网络架构 Kali Linux → 日志收集 → 解析引擎 → JSON 导出 → 可视化仪表板 ## 使用的技术 * Python 3 * Linux 身份验证日志 * Pandas * Matplotlib * SSH * SCP * VirtualBox * Kali Linux * Metasploitable 2 ## 快速开始 ### 克隆仓库 ``` git clone https://github.com/anoop-808/SentinelForge_v1.git cd SentinelForge_v1 ``` ### 安装依赖 ``` pip install -r requirements.txt ``` ### 运行日志解析器 ``` python3 scripts/parser_v2.py ``` ### 生成安全事件 ``` python3 scripts/json_export.py ``` ### 生成可视化 ``` python3 visualization/dashboard.py ``` ### 查看输出 ``` cat output/parser_output.txt ``` ## 项目工作流程 ### 阶段 1:身份验证活动生成 通过以下方式生成安全事件: * SSH 登录 * 登录失败尝试 * 用户枚举尝试 * Sudo 权限提升 * Cron 活动 ### 阶段 2:日志收集 身份验证日志已从目标主机安全传输以进行分析。 ### 阶段 3:日志解析 自定义的 Python 脚本提取了以下内容: * 成功登录 * 失败登录 * Sudo 活动 * Cron 活动 ### 阶段 4:JSON 导出 解析后的事件被转换为结构化的 JSON,以便进行下游处理。 ### 阶段 5:可视化 使用 Pandas 和 Matplotlib 生成了安全仪表板,用于可视化: * 事件严重性分布 * 安全事件类别 * 安全事件细分 ### 阶段 6:SOC 报告 创建了正式的 SOC 调查报告,包含: * 事件统计 * MITRE ATT&CK 映射 * 损害指标 (IOC) * 风险评估 * 建议 ## MITRE ATT&CK 映射 | 安全活动 | ATT&CK 技术 | |-------------------|------------------| | SSH 登录失败尝试 | T1110.001 - Password Guessing | | 多次登录失败 | T1110 - Brute Force | | SSH 身份验证成功 | T1078 - Valid Accounts | | SSH 远程访问 | T1021.004 - SSH | | 用户枚举尝试 | T1087 - Account Discovery | | Cron 任务执行 | T1053.003 - Cron | | 通过 Cron 执行命令 | T1059 - Command and Scripting Interpreter | ## 代码呈现 ## 解析逻辑示例 ``` if "Failed password" in line: print(line.strip()) elif "Accepted password" in line: print(line.strip()) elif "CRON" in line: print(line.strip()) ``` 解析器识别身份验证事件,并从 Linux 身份验证日志中提取与安全相关的活动。 ## 仓库结构 ``` SOC-LAB/ ├── logs/ ├── output/ ├── reports/ ├── screenshots/ ├── scripts/ ├── visualization/ ├── README.md ├── requirements.txt └── .gitignore ``` ## 仪表板预览 ### 事件细分 ![事件细分](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/9a655e7ef5080919.png) ### 事件类别 ![事件类别](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/6eefc115be080925.png) ### 严重性分布 ![严重性分布](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/272f085238080931.png) ## 主要成果 * 解析了 Linux 身份验证日志。 * 检测到了身份验证失败活动。 * 识别出了暴力破解式的登录模式。 * 将安全事件导出为 JSON。 * 生成了安全仪表板。 * 制作了专业的 SOC 调查报告。 ## 未来增强功能 - 实时日志监控 - Wazuh agent 集成 - 自动生成警报 - IOC 丰富化 pipeline - Sigma 规则生成 - 威胁狩猎仪表板 ## 作者 B. Giri Anoop SOC Analyst 学生项目
标签:Python, SIEM可视化, 代码示例, 内存分配, 安全运营, 扫描框架, 数据分析, 无后门, 红队行动, 逆向工具