praharshkumar23/SIEM-Log-Generator

GitHub: praharshkumar23/SIEM-Log-Generator

一款面向 SOC 实验室的多 SIEM 安全日志生成器,可输出 3000+ 条映射 MITRE ATT&CK 技术的真实模拟安全事件。

Stars: 0 | Forks: 0

# 🛡️ SIEM 日志生成器 — Praharsh 版

Typing SVG

🔥 3,000+ 真实安全事件 | 🎯 30+ MITRE ATT&CK 技术 | 🖥️ 4 种 SIEM 输出格式

## 👤 作者 **Praharsh Kumar** *SOC 分析师 | 检测工程师 | 多 SIEM 实验室构建者* [![LinkedIn](https://img.shields.io/badge/LinkedIn-Connect-0077B5?style=flat&logo=linkedin)](/https://www.linkedin.com/in/praharshkumar23/) [![GitHub](https://img.shields.io/badge/GitHub-Follow-181717?style=flat&logo=github)](https://github.com/praharshkumar23) ## 📋 概述 这是我个人的 SIEM 日志生成器,专为我的 **多虚拟机 SOC 实验室** 构建。我使用它来练习威胁狩猎、构建检测规则,并测试我的 Splunk、Wazuh、ELK 和 Microsoft Sentinel 设置。 与通用的日志生成器不同,这个是**围绕真实的实验室环境构建的**——其中的 IP、主机名、攻击技术和工具名称都与我在实验室中实际运行的完全匹配。 ### 🖥️ 我的实验室设置 ``` Kali Linux (Attacker) → 192.168.66.104 Windows 10 VM (Target) → 192.168.66.105 Splunk Enterprise VM → 192.168.56.101 Wazuh Manager VM → 192.168.66.102 ELK Stack VM → 192.168.66.103 ``` ## ⚡ 功能 ### 与众不同之处 | 功能 | 通用生成器 | 本项目 | |---------|-------------------|--------------| | 输出格式 | 仅 JSON + CSV | JSON + CSV + Wazuh + Sentinel | | 实验室 IP | 通用/随机 | 您实际的实验室 IP | | 攻击工具 | 未指定 | Hydra, Mimikatz, Metasploit, Nmap | | Sysmon 事件 | 基础 | 事件 ID 1, 3, 7, 8, 11, 13 | | Wazuh 格式 | ❌ | ✅ 规则级别 + Agent 信息 | | Sentinel 格式 | ❌ | ✅ KQL 就绪字段 | | MITRE 覆盖范围 | 约 15 种技术 | 30+ 种技术 | | 事件数量 | 2,500 | 3,000+ | ### 🎯 事件类别 | 类别 | 事件类型 | MITRE 技术 | |----------|-------------|------------------| | 🔐 **身份验证** | 登录失败、暴力破解、RDP 暴力破解、SSH 暴力破解、密码喷洒、Kerberoasting | T1110, T1558 | | 💻 **Sysmon** | 进程创建、网络连接、映像加载、文件创建、注册表设置 | T1003, T1055, T1547 | | 🐚 **执行** | 反向 Shell、PowerShell、LOLBIN、WMI | T1059, T1218, T1047 | | 🔼 **权限提升** | Token 窃取、SeDebugPrivilege | T1068 | | 🌐 **横向移动** | RDP、PsExec、WMI 远程 | T1021, T1570 | | 📤 **C2 与数据外泄** | C2 出站、DNS 隧道、数据传输 | T1071, T1048 | | 🛡️ **端点** | Mimikatz、进程注入、恶意软件、勒索软件 | T1003, T1055, T1486 | | ☁️ **云** | IAM 滥用、不可能的旅行 | T1098, T1078.004 | | 🌊 **网络** | 防火墙拦截、端口扫描 (Nmap)、IDS 告警 | T1046 | | 📧 **电子邮件** | 网络钓鱼、恶意附件 | T1566 | | 🔔 **Wazuh** | 来自 Wazuh Manager 的基于规则的告警 | 各种 | ## 🚀 快速开始 ### 前置条件 - Python 3.8+ - 无外部依赖(仅标准库) ### 运行 ``` # 克隆 git clone https://github.com/praharsh-kumar/siem-log-generator.git cd siem-log-generator # 生成所有日志 python generate_logs.py # 转换格式 python convert_to_csv.py ``` ### 输出文件 ``` output/ ├── praharsh_siem_logs_3000.json ← Full JSON (all fields) ├── praharsh_siem_logs_3000.csv ← Splunk / ELK import ├── praharsh_siem_logs_wazuh.json ← Wazuh-format (rule levels + agents) └── praharsh_siem_logs_sentinel.json ← Microsoft Sentinel KQL-ready ``` ## 🖥️ SIEM 集成 ### Splunk ``` # 通过 Splunk Web 上传 CSV Settings → Add Data → Upload → praharsh_siem_logs_3000.csv # 或监控文件 splunk add monitor /path/to/praharsh_siem_logs_3000.csv -sourcetype csv ``` 基础 SPL 查询: ``` source="praharsh_siem_logs_3000.csv" sourcetype="csv" | head 20 ``` ### Wazuh ``` # 复制到 Wazuh 管理器 cp output/praharsh_siem_logs_wazuh.json /var/ossec/logs/alerts/ ``` ### Microsoft Sentinel 结合 Azure Log Analytics API 使用 Sentinel KQL 就绪的 JSON: ``` import requests, json with open("output/praharsh_siem_logs_sentinel.json") as f: logs = json.load(f) # POST 到 Log Analytics 工作区 headers = {"Authorization": "Bearer YOUR_TOKEN", "Content-Type": "application/json"} requests.post("https://api.loganalytics.io/v1/workspaces/YOUR_WS/query", headers=headers, json={"logs": logs}) ``` KQL 查询示例: ``` praharsh_siem_logs_CL | where Severity == "Critical" | where MitreTechnique startswith "T1003" | summarize count() by Computer, EventType | sort by count_ desc ``` ### ELK / Logstash ``` input { file { path => "/path/to/praharsh_siem_logs_3000.json" codec => json start_position => "beginning" } } output { elasticsearch { hosts => ["localhost:9200"] index => "praharsh-soc-lab-%{+yyyy.MM.dd}" } } ``` ## 📊 Splunk 仪表板 `docs/SPLUNK_DASHBOARD_GUIDE.md` 中提供了完整的 Splunk 仪表板。 包含的面板: - 事件总数 - 随时间变化的安全事件(按严重程度) - MITRE ATT&CK 技术分布 - 用户风险评分 - 登录失败趋势 - C2 通信热点 - 安全态势评分(仪表盘) - 近期恶意软件检测表 - 最受攻击的目标主机 ## 🗺️ MITRE ATT&CK 覆盖范围 | 战术 | 技术 | |--------|-----------| | 初始访问 | T1566 (网络钓鱼), T1078 (有效账户) | | 执行 | T1059 (PowerShell/CMD), T1218 (LOLBIN), T1047 (WMI) | | 持久化 | T1053 (计划任务), T1547 (注册表), T1543 (服务) | | 权限提升 | T1068, T1055 (进程注入) | | 防御规避 | T1070 (日志清除), T1562 (禁用杀毒软件), T1218 (LOLBIN) | | 凭据访问 | T1003 (Mimikatz/LSASS), T1110 (暴力破解), T1558 (Kerberoasting) | | 发现 | T1046 (Nmap 端口扫描) | | 横向移动 | T1021 (RDP), T1570 (PsExec) | | C2 | T1071 (C2 出站), T1071.004 (DNS 隧道) | | 数据外泄 | T1048 (数据传输) | | 影响 | T1486 (勒索软件) | | 云 | T1098 (IAM 滥用), T1078.004 (不可能的旅行) | ## 🔧 自定义 编辑 `generate_logs.py` 中的 config 部分: ``` # 使用您的实际 VM IP 进行更新 internal_ips = [ "192.168.66.105", # Your Windows VM "192.168.66.101", # Your Splunk VM ... ] attacker_ip = "192.168.66.104" # Your Kali VM # 添加您自己的主机名 hosts = ["WIN-PRAHARSH-01", "SPLUNK-VM-01", ...] ``` ## 📁 项目结构 ``` siem-log-generator/ ├── 📜 generate_logs.py # Main script — 3000+ events, 28 event types ├── 📜 convert_to_csv.py # JSON to CSV converter ├── 📊 output/ │ ├── praharsh_siem_logs_3000.json │ ├── praharsh_siem_logs_3000.csv │ ├── praharsh_siem_logs_wazuh.json │ └── praharsh_siem_logs_sentinel.json ├── 📖 README.md ├── 📖 USAGE.md ├── 📖 docs/ │ ├── SPLUNK_DASHBOARD_GUIDE.md │ └── ENTERPRISE_SOC_DASHBOARDS.md └── 📋 requirements.txt ``` ## 📜 许可证 MIT 许可证 — 可自由使用、分享和修改。

专为我的多 SIEM SOC 实验室构建 🛡️ | Splunk + Wazuh + ELK + Sentinel

标签:Cloudflare, Elasticsearch, ELK, Logstash, Microsoft Sentinel, MITRE ATT&CK, PE 加载器, Python, SOC分析师, SOC实验室, Wazuh, Windows 10, 入侵检测系统, 内容过滤, 告警规则, 安全事件模拟, 安全数据湖, 安全运营中心, 攻击模拟, 无后门, 无线安全, 日志生成器, 模拟攻击, 网络安全, 网络攻防, 网络映射, 逆向工具, 隐私保护, 靶场环境, 驱动签名利用